[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