On 10/19/2016 09:31 AM, Alexander Graf wrote: > 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 <ag...@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 > > v4 -> v5: > > - Add qspi board > - Don't overwrite ethact > > v5 -> v6: > > - Move distro conversion to end of queue > - use CONFIG_DISTRO_DEFAULTS > --- > Kconfig | 1 + > include/configs/ls2080ardb.h | 25 ++++++++++++++++++++++++- > 2 files changed, 25 insertions(+), 1 deletion(-) > > diff --git a/Kconfig b/Kconfig > index 1263d0b..f3a9f73 100644 > --- a/Kconfig > +++ b/Kconfig > @@ -56,6 +56,7 @@ config CC_OPTIMIZE_FOR_SIZE > config DISTRO_DEFAULTS > bool "Select defaults suitable for booting general purpose Linux > distributions" > default y if ARCH_SUNXI > + default y if ARCH_LS2080A > default n > select CMD_BOOTZ if ARM && !ARM64 > select CMD_BOOTI if ARM64 > diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h > index ee0f5fc..045cee6 100644 > --- a/include/configs/ls2080ardb.h > +++ b/include/configs/ls2080ardb.h > @@ -318,10 +318,24 @@ unsigned long get_board_sys_clk(void); > #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 > #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 > > +#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)
How about USB? During the initial test, I used USB disk as you suggested. It is not a reason to respin this patch, just in case you do it for other reason. > +#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" \ > @@ -331,8 +345,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 " \ > @@ -340,6 +356,13 @@ 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" \ > + " || run distro_bootcmd" > + > /* MAC/PHY configuration */ > #ifdef CONFIG_FSL_MC_ENET > #define CONFIG_PHYLIB_10G > Reviewed-by: York Sun <york....@nxp.com> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot