[Upstream] [PATCH v2 1/3] board: phytec: phycore-imx93: Switch to standard boot

Wadim Egorov w.egorov at phytec.de
Fri Dec 5 16:38:15 CET 2025



On 12/5/25 1:10 PM, Primoz Fiser wrote:
> Enable standard boot for the phyCORE-i.MX93 board and use it as a new
> default. Add required standard boot variables to the environment, while
> removing old boot scripts and now unnecessary environment variables.
> Adjust variables according to the requirements of PHYTEC ampliphy-boot
> distro-boot. Last but not least, order environment vars by alphabet and
> run 'make savedefconfig' to resync defconfig.
> 
> Signed-off-by: Primoz Fiser <primoz.fiser at norik.com>

Reviewed-by: Wadim Egorov <w.egorov at phytec.de>

> ---
> Changes in v2:
> - remove bootcmd from env by not removing CONFIG_BOOTSTD_DEFAULTS and
>    CONFIG_USE_BOOTCOMMAND from the defconfig
> 
> Link to v1: https://lore.kernel.org/all/20251204080744.3868067-1-primoz.fiser@norik.com/
> 
>   arch/arm/dts/imx93-phyboard-segin-u-boot.dtsi | 16 +++++
>   board/phytec/phycore_imx93/phycore_imx93.env  | 68 ++-----------------
>   configs/imx93-phycore_defconfig               | 10 ++-
>   3 files changed, 30 insertions(+), 64 deletions(-)
> 
> diff --git a/arch/arm/dts/imx93-phyboard-segin-u-boot.dtsi b/arch/arm/dts/imx93-phyboard-segin-u-boot.dtsi
> index 0c8d0ba9693f..646b617949d6 100644
> --- a/arch/arm/dts/imx93-phyboard-segin-u-boot.dtsi
> +++ b/arch/arm/dts/imx93-phyboard-segin-u-boot.dtsi
> @@ -30,6 +30,22 @@
>   		ethernet1 = &eqos;
>   	};
>   
> +	bootstd {
> +		bootph-verify;
> +		compatible = "u-boot,boot-std";
> +
> +		filename-prefixes = "/", "/boot/";
> +		bootdev-order = "mmc0", "mmc1", "ethernet";
> +
> +		rauc {
> +			compatible = "u-boot,distro-rauc";
> +		};
> +
> +		script {
> +			compatible = "u-boot,script";
> +		};
> +	};
> +
>   	firmware {
>   		optee {
>   			compatible = "linaro,optee-tz";
> diff --git a/board/phytec/phycore_imx93/phycore_imx93.env b/board/phytec/phycore_imx93/phycore_imx93.env
> index 7b0a90e64472..4a5e5bfaee38 100644
> --- a/board/phytec/phycore_imx93/phycore_imx93.env
> +++ b/board/phytec/phycore_imx93/phycore_imx93.env
> @@ -1,70 +1,12 @@
>   /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
>   
> -#include <env/phytec/rauc.env>
> -#include <env/phytec/overlays.env>
> -
> -bootcmd=
> -	mmc dev ${mmcdev};
> -	if mmc rescan; then
> -		if test ${doraucboot} = 1; then
> -			run raucinit;
> -		fi;
> -		if run loadimage; then
> -			run mmcboot;
> -		else
> -			run netboot;
> -		fi;
> -	fi;
> -image=Image
> +boot_script_dhcp=net_boot_fit.scr.uimg
>   console=ttyLP0
>   fdt_addr_r=0x90000000
> -fdtoverlay_addr_r=0x900c0000
> -bootenv_addr_r=0x90500000
>   fdtfile=CONFIG_DEFAULT_FDT_FILE
> +fdtoverlay_addr_r=0x900c0000
>   ip_dyn=yes
> +kernel_addr_r=0x88000000
> +nfsroot=/srv/nfs
>   prepare_mcore=setenv optargs "${optargs} clk-imx93.mcore_booted"
> -mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
> -mmcpart=1
> -mmcroot=2
> -mmcautodetect=yes
> -mmcargs=setenv bootargs console=${console},${baudrate} earlycon
> -	root=/dev/mmcblk${mmcdev}p${mmcroot} ${raucargs} rootwait rw ${optargs}
> -loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
> -loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
> -mmcboot=
> -	echo Booting from mmc ...;
> -	if test ${no_bootenv} = 0; then
> -		if run mmc_load_bootenv; then
> -			env import -t ${bootenv_addr_r} ${filesize};
> -		fi;
> -	fi;
> -	run mmcargs;
> -	if run loadfdt; then
> -		run mmc_apply_overlays;
> -		booti ${loadaddr} - ${fdt_addr_r};
> -	else
> -		echo WARN: Cannot load the DT;
> -	fi;
> -nfsroot=/nfs
> -netargs=setenv bootargs console=${console},${baudrate} earlycon
> -	root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp ${optargs}
> -netboot=
> -	echo Booting from net ...;
> -	run netargs;
> -	if test ${ip_dyn} = yes; then
> -		setenv get_cmd dhcp;
> -	else
> -		setenv get_cmd tftp;
> -	fi;
> -	if test ${no_bootenv} = 0; then
> -		if run net_load_bootenv; then
> -			env import -t ${bootenv_addr_r} ${filesize};
> -		fi;
> -	fi;
> -	${get_cmd} ${loadaddr} ${image};
> -	if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
> -		run net_apply_overlays;
> -		booti ${loadaddr} - ${fdt_addr_r};
> -	else
> -		echo WARN: Cannot load the DT;
> -	fi;
> +scriptaddr=0x83500000
> diff --git a/configs/imx93-phycore_defconfig b/configs/imx93-phycore_defconfig
> index 4c952e966d1a..ac719372b411 100644
> --- a/configs/imx93-phycore_defconfig
> +++ b/configs/imx93-phycore_defconfig
> @@ -5,10 +5,10 @@ CONFIG_SYS_MALLOC_LEN=0x2000000
>   CONFIG_SYS_MALLOC_F_LEN=0x20000
>   CONFIG_SPL_LIBCOMMON_SUPPORT=y
>   CONFIG_SPL_LIBGENERIC_SUPPORT=y
> +CONFIG_ENV_SOURCE_FILE="phycore_imx93"
>   CONFIG_NR_DRAM_BANKS=2
>   CONFIG_PHYTEC_SOM_DETECTION=y
>   CONFIG_PHYTEC_EEPROM_BUS=2
> -CONFIG_ENV_SOURCE_FILE="phycore_imx93"
>   CONFIG_ENV_SIZE=0x10000
>   CONFIG_ENV_OFFSET=0x700000
>   CONFIG_IMX_CONFIG="arch/arm/mach-imx/imx9/imximage.cfg"
> @@ -33,6 +33,9 @@ CONFIG_SYS_MEMTEST_START=0x80000000
>   CONFIG_SYS_MEMTEST_END=0x90000000
>   CONFIG_REMAKE_ELF=y
>   # CONFIG_ANDROID_BOOT_IMAGE is not set
> +CONFIG_FIT=y
> +CONFIG_FIT_SIGNATURE=y
> +CONFIG_BOOTSTD_FULL=y
>   CONFIG_DISTRO_DEFAULTS=y
>   CONFIG_OF_SYSTEM_SETUP=y
>   CONFIG_DEFAULT_FDT_FILE="oftree"
> @@ -52,6 +55,9 @@ CONFIG_SPL_I2C=y
>   CONFIG_SPL_POWER=y
>   CONFIG_SPL_WATCHDOG=y
>   CONFIG_SYS_PROMPT="u-boot=> "
> +# CONFIG_CMD_BOOTDEV is not set
> +# CONFIG_CMD_BOOTMETH is not set
> +# CONFIG_CMD_BOOTSTD is not set
>   CONFIG_CMD_ERASEENV=y
>   CONFIG_CMD_NVEDIT_EFI=y
>   CONFIG_CRC32_VERIFY=y
> @@ -149,5 +155,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9
>   CONFIG_USB_GADGET_PRODUCT_NUM=0x0152
>   CONFIG_CI_UDC=y
>   CONFIG_ULP_WATCHDOG=y
> +# CONFIG_RSA is not set
> +# CONFIG_SPL_SHA256 is not set
>   CONFIG_LZO=y
>   CONFIG_BZIP2=y



More information about the U-Boot mailing list