
Hi Alex
-----Original Message----- From: Alexander Graf [mailto:agraf@suse.de] Sent: Tuesday, June 21, 2016 4:37 AM To: u-boot@lists.denx.de Cc: york sun york.sun@nxp.com; Prabhakar Kushwaha prabhakar.kushwaha@nxp.com Subject: [PATCH v4 4/9] ls2080ardb: Convert to distro boot
Most new systems in U-Boot these days make use of the generic "distro" framework which allows a user to have U-Boot scan for a bootable OS on all available media types.
This patch extends the LS2080ARDB board to use that framework if the hard coded NOR flash location does not contain a bootable image.
Signed-off-by: Alexander Graf agraf@suse.de
v1 -> v2:
- Boot NOR flash before distro boot
v2 -> v3:
- Actually run distro boot (s/&&/||/ after bootm)
v3 -> v4:
- Add CONFIG_CMD_FS_GENERIC to defconfig
configs/ls2080a_emu_defconfig | 1 + configs/ls2080a_simu_defconfig | 1 + configs/ls2080aqds_SECURE_BOOT_defconfig | 1 + configs/ls2080aqds_defconfig | 1 + configs/ls2080aqds_nand_defconfig | 1 + configs/ls2080ardb_SECURE_BOOT_defconfig | 1 + configs/ls2080ardb_defconfig | 1 + configs/ls2080ardb_nand_defconfig | 1 + include/configs/ls2080ardb.h | 26 +++++++++++++++++++++++++- 9 files changed, 33 insertions(+), 1 deletion(-)
<snip>
index 86a49a5..b0e00b6 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -321,10 +321,24 @@ unsigned long get_board_sys_clk(void); #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 #define CONFIG_USB_STORAGE
+#undef CONFIG_CMDLINE_EDITING +#include <config_distro_defaults.h>
+#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 0) \
- func(SCSI, scsi, 0) \
- func(DHCP, dhcp, na)
+#include <config_distro_bootcmd.h>
/* Initial environment variables */ #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "hwconfig=fsl_ddr:bank_intlv=auto\0" \
- "scriptaddr=0x80800000\0" \
- "kernel_addr_r=0x81000000\0" \
- "pxefile_addr_r=0x81000000\0" \
- "fdt_addr_r=0x88000000\0" \
- "ramdisk_addr_r=0x89000000\0" \ "loadaddr=0x80100000\0" \ "kernel_addr=0x100000\0" \ "ramdisk_addr=0x800000\0" \
@@ -334,8 +348,10 @@ unsigned long get_board_sys_clk(void); "kernel_start=0x581100000\0" \ "kernel_load=0xa0000000\0" \ "kernel_size=0x2800000\0" \
- "fdtfile=fsl-ls2080a-rdb.dtb\0" \ "mcinitcmd=fsl_mc start mc 0x580300000" \
- " 0x580800000 \0"
- " 0x580800000 \0" \
- BOOTENV
#undef CONFIG_BOOTARGS #define CONFIG_BOOTARGS "console=ttyS1,115200 root=/dev/ram0 " \ @@ -343,6 +359,14 @@ unsigned long get_board_sys_clk(void); "ramdisk_size=0x2000000 default_hugepagesz=2m" \ " hugepagesz=2m hugepages=256"
+#undef CONFIG_BOOTCOMMAND +/* Try to boot an on-NOR kernel first, then do normal distro boot */ +#define CONFIG_BOOTCOMMAND "run mcinitcmd && fsl_mc lazyapply dpl 0x580700000" \
" && cp.b $kernel_start $kernel_load $kernel_size"
\
" && bootm $kernel_load" \
" || setenv ethact DPMAC5@xgmii" \
" && run distro_bootcmd"
One suggestion, Can we avoid hard-coding here " DPMAC5@xgmii ". It will be really good if ethrpime being used.
--prabhakar