Message ID | 1504778058-14168-1-git-send-email-rajesh.bhagat@nxp.com |
---|---|
State | Superseded |
Delegated to: | York Sun |
Headers | show |
Series | [U-Boot,v3] arm64: ls1012ardb: Add distro boot support | expand |
On 09/07/2017 02:54 AM, Rajesh Bhagat wrote: > Include common config_distro_defaults.h and config_distro_bootcmd.h > for u-boot enviroments to support automatical distro boot which > scan boot.scr from external storage devices(e.g. SD and USB) > and execute autoboot script. > > Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com> > Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com> > --- > Depends on: > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatchwork.ozlabs.org%2Fpatch%2F808617%2F&data=01%7C01%7Cyork.sun%40nxp.com%7Cec17398f0bac430809e208d4f5d67019%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=7T16y92iBEfCqAZxf8kIPDXbRSdSMl%2FvCxrI5CQ%2BzYk%3D&reserved=0 > > Changes in v3: > Removed pfe stop command from BOOTCMD > > Changes in v2: > Rebased to latest u-boot > > configs/ls1012ardb_qspi_defconfig | 1 + > include/configs/ls1012a_common.h | 10 ++++++++- > include/configs/ls1012ardb.h | 45 +++++++++++++++++++++++++++++++++++++++ > 3 files changed, 55 insertions(+), 1 deletion(-) > > diff --git a/configs/ls1012ardb_qspi_defconfig b/configs/ls1012ardb_qspi_defconfig > index 81702e3..39d7a54 100644 > --- a/configs/ls1012ardb_qspi_defconfig > +++ b/configs/ls1012ardb_qspi_defconfig > @@ -50,3 +50,4 @@ CONFIG_DM_USB=y > CONFIG_USB_XHCI_HCD=y > CONFIG_USB_XHCI_DWC3=y > CONFIG_USB_STORAGE=y > +CONFIG_DISTRO_DEFAULTS=y > diff --git a/include/configs/ls1012a_common.h b/include/configs/ls1012a_common.h > index 020c506..95ba24d 100644 > --- a/include/configs/ls1012a_common.h > +++ b/include/configs/ls1012a_common.h > @@ -90,6 +90,14 @@ > #define CONFIG_HWCONFIG > #define HWCONFIG_BUFFER_SIZE 128 > > +#include <config_distro_defaults.h> > +#ifndef CONFIG_SPL_BUILD > +#define BOOT_TARGET_DEVICES(func) \ > + func(MMC, mmc, 0) \ > + func(USB, usb, 0) > +#include <config_distro_bootcmd.h> > +#endif > + > /* Initial environment variables */ > #define CONFIG_EXTRA_ENV_SETTINGS \ > "verify=no\0" \ > @@ -101,6 +109,7 @@ > "kernel_load=0xa0000000\0" \ > "kernel_size=0x2800000\0" \ > > +#undef CONFIG_BOOTCOMMAND > #define CONFIG_BOOTCOMMAND "sf probe 0:0; sf read $kernel_load "\ > "$kernel_start $kernel_size && "\ > "bootm $kernel_load" > @@ -108,7 +117,6 @@ > /* Monitor Command Prompt */ > #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ > #define CONFIG_SYS_LONGHELP > -#define CONFIG_CMDLINE_EDITING 1 > #define CONFIG_AUTO_COMPLETE > #define CONFIG_SYS_MAXARGS 64 /* max command args */ > > diff --git a/include/configs/ls1012ardb.h b/include/configs/ls1012ardb.h > index e9edcd2..f4675a0 100644 > --- a/include/configs/ls1012ardb.h > +++ b/include/configs/ls1012ardb.h > @@ -70,6 +70,51 @@ > #define CONFIG_SYS_MEMTEST_START 0x80000000 > #define CONFIG_SYS_MEMTEST_END 0x9fffffff > > +#undef CONFIG_EXTRA_ENV_SETTINGS > +#define CONFIG_EXTRA_ENV_SETTINGS \ > + "verify=no\0" \ > + "fdt_high=0xffffffffffffffff\0" \ > + "initrd_high=0xffffffffffffffff\0" \ > + "fdt_addr=0x00f00000\0" \ > + "kernel_addr=0x01000000\0" \ > + "scriptaddr=0x80000000\0" \ > + "fdtheader_addr_r=0x80100000\0" \ > + "kernelheader_addr_r=0x80200000\0" \ > + "kernel_addr_r=0x81000000\0" \ > + "fdt_addr_r=0x90000000\0" \ > + "load_addr=0xa0000000\0" \ > + "kernel_size=0x2800000\0" \ > + "console=ttyS0,115200\0" \ > + BOOTENV \ > + "boot_scripts=ls1012ardb_boot.scr\0" \ > + "scan_dev_for_boot_part=" \ > + "part list ${devtype} ${devnum} devplist; " \ > + "env exists devplist || setenv devplist 1; " \ > + "for distro_bootpart in ${devplist}; do " \ > + "if fstype ${devtype} " \ > + "${devnum}:${distro_bootpart} " \ > + "bootfstype; then " \ > + "run scan_dev_for_boot; " \ > + "fi; " \ > + "done\0" \ > + "scan_dev_for_boot=" \ > + "echo Scanning ${devtype} " \ > + "${devnum}:${distro_bootpart}...; " \ > + "for prefix in ${boot_prefixes}; do " \ > + "run scan_dev_for_scripts; " \ > + "done;" \ > + "\0" \ > + "installer=load mmc 0:2 $load_addr " \ > + "/flex_installer_arm64.itb; " \ > + "bootm $load_addr#$board\0" \ > + "qspi_bootcmd=echo Trying load from qspi..;" \ > + "sf probe && sf read $load_addr " \ > + "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ > + You have "\" at the end of line above. Did you intentionally leave it there? > +#undef CONFIG_BOOTCOMMAND > +#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) > +#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd" > +#endif You will not have CONFIG_BOOTCOMMAND for other than QSPI and SD boot. York
> -----Original Message----- > From: York Sun > Sent: Tuesday, October 03, 2017 9:21 PM > To: Rajesh Bhagat <rajesh.bhagat@nxp.com>; u-boot@lists.denx.de > Cc: Bhaskar Upadhaya <bhaskar.upadhaya@nxp.com> > Subject: Re: [PATCH v3] arm64: ls1012ardb: Add distro boot support > > On 09/07/2017 02:54 AM, Rajesh Bhagat wrote: > > Include common config_distro_defaults.h and config_distro_bootcmd.h > > for u-boot enviroments to support automatical distro boot which scan > > boot.scr from external storage devices(e.g. SD and USB) and execute > > autoboot script. > > > > Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com> > > Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com> > > --- > > Depends on: > > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatc > > > hwork.ozlabs.org%2Fpatch%2F808617%2F&data=01%7C01%7Cyork.sun%40nxp.com > > %7Cec17398f0bac430809e208d4f5d67019%7C686ea1d3bc2b4c6fa92cd99c5c301635 > > > %7C0&sdata=7T16y92iBEfCqAZxf8kIPDXbRSdSMl%2FvCxrI5CQ%2BzYk%3D&reserve > d > > =0 > > > > Changes in v3: > > Removed pfe stop command from BOOTCMD > > > > Changes in v2: > > Rebased to latest u-boot > > > > configs/ls1012ardb_qspi_defconfig | 1 + > > include/configs/ls1012a_common.h | 10 ++++++++- > > include/configs/ls1012ardb.h | 45 > +++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 55 insertions(+), 1 deletion(-) > > > > diff --git a/configs/ls1012ardb_qspi_defconfig > > b/configs/ls1012ardb_qspi_defconfig > > index 81702e3..39d7a54 100644 > > --- a/configs/ls1012ardb_qspi_defconfig > > +++ b/configs/ls1012ardb_qspi_defconfig > > @@ -50,3 +50,4 @@ CONFIG_DM_USB=y > > CONFIG_USB_XHCI_HCD=y > > CONFIG_USB_XHCI_DWC3=y > > CONFIG_USB_STORAGE=y > > +CONFIG_DISTRO_DEFAULTS=y > > diff --git a/include/configs/ls1012a_common.h > > b/include/configs/ls1012a_common.h > > index 020c506..95ba24d 100644 > > --- a/include/configs/ls1012a_common.h > > +++ b/include/configs/ls1012a_common.h > > @@ -90,6 +90,14 @@ > > #define CONFIG_HWCONFIG > > #define HWCONFIG_BUFFER_SIZE 128 > > > > +#include <config_distro_defaults.h> > > +#ifndef CONFIG_SPL_BUILD > > +#define BOOT_TARGET_DEVICES(func) \ > > + func(MMC, mmc, 0) \ > > + func(USB, usb, 0) > > +#include <config_distro_bootcmd.h> > > +#endif > > + > > /* Initial environment variables */ > > #define CONFIG_EXTRA_ENV_SETTINGS \ > > "verify=no\0" \ > > @@ -101,6 +109,7 @@ > > "kernel_load=0xa0000000\0" \ > > "kernel_size=0x2800000\0" \ > > > > +#undef CONFIG_BOOTCOMMAND > > #define CONFIG_BOOTCOMMAND "sf probe 0:0; sf read $kernel_load "\ > > "$kernel_start $kernel_size && "\ > > "bootm $kernel_load" > > @@ -108,7 +117,6 @@ > > /* Monitor Command Prompt */ > > #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ > > #define CONFIG_SYS_LONGHELP > > -#define CONFIG_CMDLINE_EDITING 1 > > #define CONFIG_AUTO_COMPLETE > > #define CONFIG_SYS_MAXARGS 64 /* max command args */ > > > > diff --git a/include/configs/ls1012ardb.h > > b/include/configs/ls1012ardb.h index e9edcd2..f4675a0 100644 > > --- a/include/configs/ls1012ardb.h > > +++ b/include/configs/ls1012ardb.h > > @@ -70,6 +70,51 @@ > > #define CONFIG_SYS_MEMTEST_START 0x80000000 > > #define CONFIG_SYS_MEMTEST_END 0x9fffffff > > > > +#undef CONFIG_EXTRA_ENV_SETTINGS > > +#define CONFIG_EXTRA_ENV_SETTINGS \ > > + "verify=no\0" \ > > + "fdt_high=0xffffffffffffffff\0" \ > > + "initrd_high=0xffffffffffffffff\0" \ > > + "fdt_addr=0x00f00000\0" \ > > + "kernel_addr=0x01000000\0" \ > > + "scriptaddr=0x80000000\0" \ > > + "fdtheader_addr_r=0x80100000\0" \ > > + "kernelheader_addr_r=0x80200000\0" \ > > + "kernel_addr_r=0x81000000\0" \ > > + "fdt_addr_r=0x90000000\0" \ > > + "load_addr=0xa0000000\0" \ > > + "kernel_size=0x2800000\0" \ > > + "console=ttyS0,115200\0" \ > > + BOOTENV \ > > + "boot_scripts=ls1012ardb_boot.scr\0" \ > > + "scan_dev_for_boot_part=" \ > > + "part list ${devtype} ${devnum} devplist; " \ > > + "env exists devplist || setenv devplist 1; " \ > > + "for distro_bootpart in ${devplist}; do " \ > > + "if fstype ${devtype} " \ > > + "${devnum}:${distro_bootpart} " \ > > + "bootfstype; then " \ > > + "run scan_dev_for_boot; " \ > > + "fi; " \ > > + "done\0" \ > > + "scan_dev_for_boot=" \ > > + "echo Scanning ${devtype} " \ > > + "${devnum}:${distro_bootpart}...; " \ > > + "for prefix in ${boot_prefixes}; do " \ > > + "run scan_dev_for_scripts; " \ > > + "done;" \ > > + "\0" \ > > + "installer=load mmc 0:2 $load_addr " \ > > + "/flex_installer_arm64.itb; " \ > > + "bootm $load_addr#$board\0" \ > > + "qspi_bootcmd=echo Trying load from qspi..;" \ > > + "sf probe && sf read $load_addr " \ > > + "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ > > + > > You have "\" at the end of line above. Did you intentionally leave it there? > Its added by mistake. Will remove it in v4. > > +#undef CONFIG_BOOTCOMMAND > > +#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define > > +CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd" > > +#endif > > You will not have CONFIG_BOOTCOMMAND for other than QSPI and SD boot. > Will drop the #if in v4. - Rajesh > York
diff --git a/configs/ls1012ardb_qspi_defconfig b/configs/ls1012ardb_qspi_defconfig index 81702e3..39d7a54 100644 --- a/configs/ls1012ardb_qspi_defconfig +++ b/configs/ls1012ardb_qspi_defconfig @@ -50,3 +50,4 @@ CONFIG_DM_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_STORAGE=y +CONFIG_DISTRO_DEFAULTS=y diff --git a/include/configs/ls1012a_common.h b/include/configs/ls1012a_common.h index 020c506..95ba24d 100644 --- a/include/configs/ls1012a_common.h +++ b/include/configs/ls1012a_common.h @@ -90,6 +90,14 @@ #define CONFIG_HWCONFIG #define HWCONFIG_BUFFER_SIZE 128 +#include <config_distro_defaults.h> +#ifndef CONFIG_SPL_BUILD +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 0) \ + func(USB, usb, 0) +#include <config_distro_bootcmd.h> +#endif + /* Initial environment variables */ #define CONFIG_EXTRA_ENV_SETTINGS \ "verify=no\0" \ @@ -101,6 +109,7 @@ "kernel_load=0xa0000000\0" \ "kernel_size=0x2800000\0" \ +#undef CONFIG_BOOTCOMMAND #define CONFIG_BOOTCOMMAND "sf probe 0:0; sf read $kernel_load "\ "$kernel_start $kernel_size && "\ "bootm $kernel_load" @@ -108,7 +117,6 @@ /* Monitor Command Prompt */ #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ #define CONFIG_SYS_LONGHELP -#define CONFIG_CMDLINE_EDITING 1 #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_MAXARGS 64 /* max command args */ diff --git a/include/configs/ls1012ardb.h b/include/configs/ls1012ardb.h index e9edcd2..f4675a0 100644 --- a/include/configs/ls1012ardb.h +++ b/include/configs/ls1012ardb.h @@ -70,6 +70,51 @@ #define CONFIG_SYS_MEMTEST_START 0x80000000 #define CONFIG_SYS_MEMTEST_END 0x9fffffff +#undef CONFIG_EXTRA_ENV_SETTINGS +#define CONFIG_EXTRA_ENV_SETTINGS \ + "verify=no\0" \ + "fdt_high=0xffffffffffffffff\0" \ + "initrd_high=0xffffffffffffffff\0" \ + "fdt_addr=0x00f00000\0" \ + "kernel_addr=0x01000000\0" \ + "scriptaddr=0x80000000\0" \ + "fdtheader_addr_r=0x80100000\0" \ + "kernelheader_addr_r=0x80200000\0" \ + "kernel_addr_r=0x81000000\0" \ + "fdt_addr_r=0x90000000\0" \ + "load_addr=0xa0000000\0" \ + "kernel_size=0x2800000\0" \ + "console=ttyS0,115200\0" \ + BOOTENV \ + "boot_scripts=ls1012ardb_boot.scr\0" \ + "scan_dev_for_boot_part=" \ + "part list ${devtype} ${devnum} devplist; " \ + "env exists devplist || setenv devplist 1; " \ + "for distro_bootpart in ${devplist}; do " \ + "if fstype ${devtype} " \ + "${devnum}:${distro_bootpart} " \ + "bootfstype; then " \ + "run scan_dev_for_boot; " \ + "fi; " \ + "done\0" \ + "scan_dev_for_boot=" \ + "echo Scanning ${devtype} " \ + "${devnum}:${distro_bootpart}...; " \ + "for prefix in ${boot_prefixes}; do " \ + "run scan_dev_for_scripts; " \ + "done;" \ + "\0" \ + "installer=load mmc 0:2 $load_addr " \ + "/flex_installer_arm64.itb; " \ + "bootm $load_addr#$board\0" \ + "qspi_bootcmd=echo Trying load from qspi..;" \ + "sf probe && sf read $load_addr " \ + "$kernel_addr $kernel_size && bootm $load_addr#$board\0" \ + +#undef CONFIG_BOOTCOMMAND +#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) +#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd" +#endif #include <asm/fsl_secure_boot.h>