]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx8mn: configs: add support for distro boot commands
authorAndrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Sun, 2 May 2021 14:32:37 +0000 (16:32 +0200)
committerStefano Babic <sbabic@denx.de>
Wed, 9 Jun 2021 11:34:26 +0000 (13:34 +0200)
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>
configs/imx8mn_ddr4_evk_defconfig
configs/imx8mn_evk_defconfig
include/configs/imx8mn_evk.h

index a3e51bad82e4136194b8ae7c000b41c122f35738..8eca79fd19cc1a698334f0a698a1c0747e1fbc39 100644 (file)
@@ -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
index 86601ebad33a5ac6aff5d3a811bfd88b09bdf3aa..e477028f71b97627725e0e99555a1022d146b724 100644 (file)
@@ -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
index 596e255ca6decc41964cac8855bb71e7d136d6bc..985bec803ad96ac5a78787d47c086a04b4b34b6c 100644 (file)
 
 #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