[PATCH 1/3] board: phytec: phycore-imx93: Switch to standard boot
Primoz Fiser
primoz.fiser at norik.com
Fri Dec 5 11:03:57 CET 2025
Hi Benjamin,
On 5. 12. 25 10:41, Benjamin Hahn wrote:
> Hi Primoz,
> On 04.12.25 09:07, 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>
>> ---
>> arch/arm/dts/imx93-phyboard-segin-u-boot.dtsi | 16 +++++
>> board/phytec/phycore_imx93/phycore_imx93.env | 69 ++-----------------
>> configs/imx93-phycore_defconfig | 12 +++-
>> 3 files changed, 33 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..8a2161e4abdf 100644
>> --- a/board/phytec/phycore_imx93/phycore_imx93.env
>> +++ b/board/phytec/phycore_imx93/phycore_imx93.env
>> @@ -1,70 +1,13 @@
>> /* 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
>> +bootcmd=bootflow scan -lb;
>
> If you leave CONFIG_USE_BOOTCOMMAND and CONFIG_BOOTSTD_DEFAULTS
> activated, you can remove th bootcmd env variable, as standardboot will
> set it for you automatically.
True! Lets simplify it even more.
I will send v2 for that.
Thanks,
BR,
Primoz
>
> Benjamin
>
>> 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..9e8ff9b6ca90 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,8 +33,13 @@ 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_BOOTSTD_DEFAULTS is not set
>> CONFIG_DISTRO_DEFAULTS=y
>> CONFIG_OF_SYSTEM_SETUP=y
>> +# CONFIG_USE_BOOTCOMMAND is not set
>> CONFIG_DEFAULT_FDT_FILE="oftree"
>> CONFIG_SYS_CBSIZE=2048
>> CONFIG_SYS_PBSIZE=2074
>> @@ -52,6 +57,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 +157,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
>
>
--
Primoz Fiser
phone: +386-41-390-545
email: primoz.fiser at norik.com
--
Norik systems d.o.o.
Your embedded software partner
Slovenia, EU
phone: +386-41-540-545
email: info at norik.com
More information about the U-Boot
mailing list