[U-Boot] [PATCH v4 4/9] ls2080ardb: Convert to distro boot

Prabhakar Kushwaha prabhakar.kushwaha at nxp.com
Wed Jun 22 04:54:35 CEST 2016


Hi Alex

> -----Original Message-----
> From: Alexander Graf [mailto:agraf at suse.de]
> Sent: Tuesday, June 21, 2016 4:37 AM
> To: u-boot at lists.denx.de
> Cc: york sun <york.sun at nxp.com>; Prabhakar Kushwaha
> <prabhakar.kushwaha at 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 at 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 at xgmii" \
> +			   " && run distro_bootcmd"
> +

One suggestion,  Can we avoid hard-coding here " DPMAC5 at xgmii ". 
It will be really good if ethrpime being used.

--prabhakar


More information about the U-Boot mailing list