[PATCH 0/3] Correct and extend distro boot support for imx8m

Distro boot support for imx8m family is not completed, with: (a) imx8mm and imx8mp has facilities enabled to support only boot flow based on the boot scripts; (b) im8mn has no distro boot support enabled, and still adheres to the customized boot flow using modified environment;
This patch series addresses above points by extending imx8mm and imx8mp derivatives with full support for distro boot, including sysboot flow; and adds a support for distro boot to imx8mn.
Andrey Zhizhikin (3): imx8mm: configs: enable distro default features imx8mp: configs: enable distro default features imx8mn: configs: add support for distro boot commands
configs/imx8mm_evk_defconfig | 3 +- configs/imx8mn_ddr4_evk_defconfig | 1 + configs/imx8mn_evk_defconfig | 1 + configs/imx8mp_evk_defconfig | 3 +- include/configs/imx8mn_evk.h | 64 ++++++------------------------- 5 files changed, 16 insertions(+), 56 deletions(-)

imx8mm ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 2df8930bf9 ("imx8mm: configs: add support for distro boot commands") --- configs/imx8mm_evk_defconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/configs/imx8mm_evk_defconfig b/configs/imx8mm_evk_defconfig index 23741a1c8a..6a3b15389b 100644 --- a/configs/imx8mm_evk_defconfig +++ b/configs/imx8mm_evk_defconfig @@ -18,6 +18,7 @@ CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL=y CONFIG_DEFAULT_DEVICE_TREE="imx8mm-evk" +CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x3000 CONFIG_SPL_LOAD_FIT=y @@ -40,7 +41,6 @@ CONFIG_CMD_FUSE=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y -CONFIG_CMD_PART=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -50,7 +50,6 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y CONFIG_OF_CONTROL=y CONFIG_SPL_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y

Hi Andrey,
On Sat, May 1, 2021 at 5:24 PM Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com wrote:
imx8mm ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 2df8930bf9 ("imx8mm: configs: add support for distro boot commands")
Reviewed-by: Fabio Estevam festevam@gmail.com

Hello Stefano,
I believe the following patch is missing from the series that I've submitted earlier.
From the entire series named "Correct and extend distro boot support for imx8m" [1], there were 3 patches included, namely: [2] imx8mm: configs: enable distro default features [3] imx8mp: configs: enable distro default features [4] imx8mn: configs: add support for distro boot commands
I see that only [4] is actually got merged, the rest 2 patches are left in "Superseded" state in Patchwork.
I'm not sure what happened here, I believe that was due to the fact that the patch which targeted "imx8mn" has been updated to V2 which caused the entire series to be dropped.
Should I re-submit the rest of 2 patches from the original series, or perhaps you can take them from the Patchwork directly?
-----Original Message----- From: Fabio Estevam festevam@gmail.com Sent: Sunday, May 2, 2021 12:00 AM To: ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com Cc: U-Boot-Denx u-boot@lists.denx.de; Peng Fan peng.fan@nxp.com Subject: Re: [PATCH 1/3] imx8mm: configs: enable distro default features
Hi Andrey,
On Sat, May 1, 2021 at 5:24 PM Andrey Zhizhikin <andrey.zhizhikin@leica- geosystems.com> wrote:
imx8mm ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 2df8930bf9 ("imx8mm: configs: add support for distro boot commands")
Reviewed-by: Fabio Estevam festevam@gmail.com
Link: [1]: http://patchwork.ozlabs.org/project/uboot/list/?series=241695 Link: [2]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-2-andrey... Link: [3]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-3-andrey... Link: [4]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-4-andrey...
-- Andrey

Hi Andrey,
On 17.06.21 18:03, ZHIZHIKIN Andrey wrote:
Hello Stefano,
I believe the following patch is missing from the series that I've submitted earlier.
From the entire series named "Correct and extend distro boot support for imx8m" [1], there were 3 patches included, namely: [2] imx8mm: configs: enable distro default features [3] imx8mp: configs: enable distro default features [4] imx8mn: configs: add support for distro boot commands
I see that only [4] is actually got merged, the rest 2 patches are left in "Superseded" state in Patchwork.
..and then discharged...
I'm not sure what happened here,
I have no idea, too.
I believe that was due to the fact that the patch which targeted "imx8mn" has been updated to V2 which caused the entire series to be dropped.
Should I re-submit the rest of 2 patches from the original series, or perhaps you can take them from the Patchwork directly?
I check myself, thanks for pointing out.
Best regards, Stefano
-----Original Message----- From: Fabio Estevam festevam@gmail.com Sent: Sunday, May 2, 2021 12:00 AM To: ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com Cc: U-Boot-Denx u-boot@lists.denx.de; Peng Fan peng.fan@nxp.com Subject: Re: [PATCH 1/3] imx8mm: configs: enable distro default features
Hi Andrey,
On Sat, May 1, 2021 at 5:24 PM Andrey Zhizhikin <andrey.zhizhikin@leica- geosystems.com> wrote:
imx8mm ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 2df8930bf9 ("imx8mm: configs: add support for distro boot commands")
Reviewed-by: Fabio Estevam festevam@gmail.com
Link: [1]: http://patchwork.ozlabs.org/project/uboot/list/?series=241695 Link: [2]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-2-andrey... Link: [3]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-3-andrey... Link: [4]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-4-andrey...
-- Andrey

On 17.06.21 18:03, ZHIZHIKIN Andrey wrote:
Hello Stefano,
I believe the following patch is missing from the series that I've submitted earlier.
From the entire series named "Correct and extend distro boot support for imx8m" [1], there were 3 patches included, namely: [2] imx8mm: configs: enable distro default features [3] imx8mp: configs: enable distro default features [4] imx8mn: configs: add support for distro boot commands
I see that only [4] is actually got merged, the rest 2 patches are left in "Superseded" state in Patchwork.
I'm not sure what happened here, I believe that was due to the fact that the patch which targeted "imx8mn" has been updated to V2 which caused the entire series to be dropped.
Should I re-submit the rest of 2 patches from the original series, or perhaps you can take them from the Patchwork directly?
I picked up the two missing patches, just take a look at u-boot-imx, -master.
Best regards, Stefano
-----Original Message----- From: Fabio Estevam festevam@gmail.com Sent: Sunday, May 2, 2021 12:00 AM To: ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com Cc: U-Boot-Denx u-boot@lists.denx.de; Peng Fan peng.fan@nxp.com Subject: Re: [PATCH 1/3] imx8mm: configs: enable distro default features
Hi Andrey,
On Sat, May 1, 2021 at 5:24 PM Andrey Zhizhikin <andrey.zhizhikin@leica- geosystems.com> wrote:
imx8mm ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 2df8930bf9 ("imx8mm: configs: add support for distro boot commands")
Reviewed-by: Fabio Estevam festevam@gmail.com
Link: [1]: http://patchwork.ozlabs.org/project/uboot/list/?series=241695 Link: [2]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-2-andrey... Link: [3]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-3-andrey... Link: [4]: http://patchwork.ozlabs.org/project/uboot/patch/20210501202306.5254-4-andrey...
-- Andrey

Hello Stefano,
-----Original Message----- From: Stefano Babic sbabic@denx.de Sent: Monday, June 21, 2021 1:36 PM To: ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com; sbabic@denx.de Cc: U-Boot-Denx u-boot@lists.denx.de; Peng Fan peng.fan@nxp.com; Fabio Estevam festevam@gmail.com Subject: Re: [PATCH 1/3] imx8mm: configs: enable distro default features
On 17.06.21 18:03, ZHIZHIKIN Andrey wrote:
Hello Stefano,
I believe the following patch is missing from the series that I've submitted
earlier.
From the entire series named "Correct and extend distro boot support for
imx8m" [1], there were 3 patches included, namely:
[2] imx8mm: configs: enable distro default features [3] imx8mp: configs: enable distro default features [4] imx8mn: configs: add support for distro boot commands
I see that only [4] is actually got merged, the rest 2 patches are left in
"Superseded" state in Patchwork.
I'm not sure what happened here, I believe that was due to the fact that the
patch which targeted "imx8mn" has been updated to V2 which caused the entire series to be dropped.
Should I re-submit the rest of 2 patches from the original series, or perhaps you
can take them from the Patchwork directly?
I picked up the two missing patches, just take a look at u-boot-imx, -master.
I've checked the [master] branch of u-boot-imx and I can see those two missing patches in it.
This now completed the original series, thanks for taking care of this.
Best regards, Stefano
--
======= DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de ============================================================== =======
-- andrey

imx8mp ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 9b162b1d1f ("imx8mp: configs: add support for distro boot commands") --- configs/imx8mp_evk_defconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/configs/imx8mp_evk_defconfig b/configs/imx8mp_evk_defconfig index 089ec26b3c..7818e19ead 100644 --- a/configs/imx8mp_evk_defconfig +++ b/configs/imx8mp_evk_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 CONFIG_DEFAULT_DEVICE_TREE="imx8mp-evk" +CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x3000 CONFIG_SPL_LOAD_FIT=y @@ -45,7 +46,6 @@ CONFIG_CMD_FUSE=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y -CONFIG_CMD_PART=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y @@ -55,7 +55,6 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y CONFIG_OF_CONTROL=y CONFIG_SPL_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y

On Sat, May 1, 2021 at 5:24 PM Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com wrote:
imx8mp ekv has been switched to use distro boot commands, but had no correct options enabled to support sysboot. According to the README.distro, sysboot is consindered to be a recommended way of using distro boot commands, it required default distro features to be enabled instead of only those that are relevant to the boot script.
Replace the boot script specific options in the config to a default distro option.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Fixes: 9b162b1d1f ("imx8mp: configs: add support for distro boot commands")
Reviewed-by: Fabio Estevam festevam@gmail.com

Supported boot device types in iMX8MN: MMC, DHCP.
Add DISTRO_DEFAULTS config option and include the distro boot command header file to enable full support of distro boot on i.MX8M Nano EVK (both DDR and LPDDR derivatives).
Drop previous environment, which was targeting customized boot commands and boot order.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com --- configs/imx8mn_ddr4_evk_defconfig | 1 + configs/imx8mn_evk_defconfig | 1 + include/configs/imx8mn_evk.h | 64 ++++++------------------------- 3 files changed, 14 insertions(+), 52 deletions(-)
diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig index b10cd13fc3..1686e1a851 100644 --- a/configs/imx8mn_ddr4_evk_defconfig +++ b/configs/imx8mn_ddr4_evk_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 CONFIG_DEFAULT_DEVICE_TREE="imx8mn-ddr4-evk" +CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x3000 CONFIG_SPL_LOAD_FIT=y diff --git a/configs/imx8mn_evk_defconfig b/configs/imx8mn_evk_defconfig index 2b79c0a472..ed3bddac00 100644 --- a/configs/imx8mn_evk_defconfig +++ b/configs/imx8mn_evk_defconfig @@ -20,6 +20,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 CONFIG_DEFAULT_DEVICE_TREE="imx8mn-evk" +CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x3000 CONFIG_SPL_LOAD_FIT=y diff --git a/include/configs/imx8mn_evk.h b/include/configs/imx8mn_evk.h index 596e255ca6..241bfdf1a2 100644 --- a/include/configs/imx8mn_evk.h +++ b/include/configs/imx8mn_evk.h @@ -31,69 +31,29 @@
#endif
+#ifndef CONFIG_SPL_BUILD +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 1) \ + func(MMC, mmc, 2) \ + func(DHCP, dhcp, na) + +#include <config_distro_bootcmd.h> +#endif + /* Initial environment variables */ #define CONFIG_EXTRA_ENV_SETTINGS \ - "script=boot.scr\0" \ "image=Image\0" \ + BOOTENV \ + "scriptaddr=0x43500000\0" \ + "kernel_addr_r=0x40880000\0" \ "console=ttymxc1,115200\0" \ "fdt_addr=0x43000000\0" \ "boot_fit=no\0" \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ "initrd_addr=0x43800000\0" \ "bootm_size=0x10000000\0" \ - "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ - "mmcautodetect=yes\0" \ - "mmcargs=setenv bootargs console=${console} root=${mmcroot}\0 " \ - "loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ - "bootscript=echo Running bootscript from mmc ...; " \ - "source\0" \ - "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ - "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ - "mmcboot=echo Booting from mmc ...; " \ - "run mmcargs; " \ - "if test ${boot_fit} = yes || test ${boot_fit} = try; then " \ - "bootm ${loadaddr}; " \ - "else " \ - "if run loadfdt; then " \ - "booti ${loadaddr} - ${fdt_addr}; " \ - "else " \ - "echo WARN: Cannot load the DT; " \ - "fi; " \ - "fi;\0" \ - "netargs=setenv bootargs console=${console} " \ - "root=/dev/nfs " \ - "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ - "netboot=echo Booting from net ...; " \ - "run netargs; " \ - "if test ${ip_dyn} = yes; then " \ - "setenv get_cmd dhcp; " \ - "else " \ - "setenv get_cmd tftp; " \ - "fi; " \ - "${get_cmd} ${loadaddr} ${image}; " \ - "if test ${boot_fit} = yes || test ${boot_fit} = try; then " \ - "bootm ${loadaddr}; " \ - "else " \ - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ - "booti ${loadaddr} - ${fdt_addr}; " \ - "else " \ - "echo WARN: Cannot load the DT; " \ - "fi; " \ - "fi;\0" - -#define CONFIG_BOOTCOMMAND \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ - "else " \ - "if run loadimage; then " \ - "run mmcboot; " \ - "else run netboot; " \ - "fi; " \ - "fi; " \ - "fi;"
/* Link Definitions */ #define CONFIG_LOADADDR 0x40480000

On Sat, May 1, 2021 at 5:24 PM Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com wrote:
Supported boot device types in iMX8MN: MMC, DHCP.
Add DISTRO_DEFAULTS config option and include the distro boot command header file to enable full support of distro boot on i.MX8M Nano EVK (both DDR and LPDDR derivatives).
Drop previous environment, which was targeting customized boot commands and boot order.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com
Reviewed-by: Fabio Estevam festevam@gmail.com

Supported boot device types in iMX8MN: MMC, DHCP.
Add DISTRO_DEFAULTS config option and include the distro boot command header file to enable full support of distro boot on i.MX8M Nano EVK (both DDR and LPDDR derivatives).
Drop previous environment, which was targeting customized boot commands and boot order.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com --- Changes in v2: - Correct fdt parameters: "fdt_file" -> "fdtfile", "fdt_addr" -> "fdt_addr_r" - Set "kernel_addr_r" and "scriptaddr" from config
configs/imx8mn_ddr4_evk_defconfig | 1 + configs/imx8mn_evk_defconfig | 1 + include/configs/imx8mn_evk.h | 68 +++++++------------------------ 3 files changed, 16 insertions(+), 54 deletions(-)
diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig index b10cd13fc3..1686e1a851 100644 --- a/configs/imx8mn_ddr4_evk_defconfig +++ b/configs/imx8mn_ddr4_evk_defconfig @@ -19,6 +19,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 CONFIG_DEFAULT_DEVICE_TREE="imx8mn-ddr4-evk" +CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x3000 CONFIG_SPL_LOAD_FIT=y diff --git a/configs/imx8mn_evk_defconfig b/configs/imx8mn_evk_defconfig index d0e5b58902..14db624e29 100644 --- a/configs/imx8mn_evk_defconfig +++ b/configs/imx8mn_evk_defconfig @@ -22,6 +22,7 @@ CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_SPL=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 CONFIG_DEFAULT_DEVICE_TREE="imx8mn-evk" +CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_EXTERNAL_OFFSET=0x3000 CONFIG_SPL_LOAD_FIT=y diff --git a/include/configs/imx8mn_evk.h b/include/configs/imx8mn_evk.h index 596e255ca6..985bec803a 100644 --- a/include/configs/imx8mn_evk.h +++ b/include/configs/imx8mn_evk.h @@ -31,69 +31,29 @@
#endif
+#ifndef CONFIG_SPL_BUILD +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 1) \ + func(MMC, mmc, 2) \ + func(DHCP, dhcp, na) + +#include <config_distro_bootcmd.h> +#endif + /* Initial environment variables */ #define CONFIG_EXTRA_ENV_SETTINGS \ - "script=boot.scr\0" \ "image=Image\0" \ + BOOTENV \ + "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ + "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ "console=ttymxc1,115200\0" \ - "fdt_addr=0x43000000\0" \ + "fdt_addr_r=0x43000000\0" \ "boot_fit=no\0" \ - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "initrd_addr=0x43800000\0" \ "bootm_size=0x10000000\0" \ - "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ - "mmcautodetect=yes\0" \ - "mmcargs=setenv bootargs console=${console} root=${mmcroot}\0 " \ - "loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ - "bootscript=echo Running bootscript from mmc ...; " \ - "source\0" \ - "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ - "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ - "mmcboot=echo Booting from mmc ...; " \ - "run mmcargs; " \ - "if test ${boot_fit} = yes || test ${boot_fit} = try; then " \ - "bootm ${loadaddr}; " \ - "else " \ - "if run loadfdt; then " \ - "booti ${loadaddr} - ${fdt_addr}; " \ - "else " \ - "echo WARN: Cannot load the DT; " \ - "fi; " \ - "fi;\0" \ - "netargs=setenv bootargs console=${console} " \ - "root=/dev/nfs " \ - "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ - "netboot=echo Booting from net ...; " \ - "run netargs; " \ - "if test ${ip_dyn} = yes; then " \ - "setenv get_cmd dhcp; " \ - "else " \ - "setenv get_cmd tftp; " \ - "fi; " \ - "${get_cmd} ${loadaddr} ${image}; " \ - "if test ${boot_fit} = yes || test ${boot_fit} = try; then " \ - "bootm ${loadaddr}; " \ - "else " \ - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ - "booti ${loadaddr} - ${fdt_addr}; " \ - "else " \ - "echo WARN: Cannot load the DT; " \ - "fi; " \ - "fi;\0" - -#define CONFIG_BOOTCOMMAND \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ - "else " \ - "if run loadimage; then " \ - "run mmcboot; " \ - "else run netboot; " \ - "fi; " \ - "fi; " \ - "fi;"
/* Link Definitions */ #define CONFIG_LOADADDR 0x40480000

Hi Andrey,
On Sun, May 2, 2021 at 11:33 AM Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com wrote:
Supported boot device types in iMX8MN: MMC, DHCP.
Add DISTRO_DEFAULTS config option and include the distro boot command header file to enable full support of distro boot on i.MX8M Nano EVK (both DDR and LPDDR derivatives).
Drop previous environment, which was targeting customized boot commands and boot order.
Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com
Changes in v2:
- Correct fdt parameters: "fdt_file" -> "fdtfile", "fdt_addr" -> "fdt_addr_r"
Yes, these are the preferred names according to the README file, thanks:
Reviewed-by: Fabio Estevam festevam@gmail.com

Supported boot device types in iMX8MN: MMC, DHCP. Add DISTRO_DEFAULTS config option and include the distro boot command header file to enable full support of distro boot on i.MX8M Nano EVK (both DDR and LPDDR derivatives). Drop previous environment, which was targeting customized boot commands and boot order. Signed-off-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Cc: Peng Fan peng.fan@nxp.com Reviewed-by: Fabio Estevam festevam@gmail.com
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (5)
-
Andrey Zhizhikin
-
Fabio Estevam
-
sbabic@denx.de
-
Stefano Babic
-
ZHIZHIKIN Andrey