Message ID | 1504847407-18068-1-git-send-email-rajesh.bhagat@nxp.com |
---|---|
State | Superseded |
Delegated to: | York Sun |
Headers | show |
Series | [U-Boot] arm64: ls1012afrdm: Add distro boot support | expand |
On 09/07/2017 10:10 PM, 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> > --- > configs/ls1012afrdm_qspi_defconfig | 1 + > include/configs/ls1012afrdm.h | 59 ++++++++++++++++++++++++++++++++------ > 2 files changed, 51 insertions(+), 9 deletions(-) > > diff --git a/configs/ls1012afrdm_qspi_defconfig b/configs/ls1012afrdm_qspi_defconfig > index fe95f04..42acff0 100644 > --- a/configs/ls1012afrdm_qspi_defconfig > +++ b/configs/ls1012afrdm_qspi_defconfig > @@ -46,3 +46,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/ls1012afrdm.h b/include/configs/ls1012afrdm.h > index 8a9444d..544dea0 100644 > --- a/include/configs/ls1012afrdm.h > +++ b/include/configs/ls1012afrdm.h > @@ -20,16 +20,57 @@ > #define CONFIG_SYS_MEMTEST_START 0x80000000 > #define CONFIG_SYS_MEMTEST_END 0x9fffffff > > +#ifndef CONFIG_SPL_BUILD > +#undef BOOT_TARGET_DEVICES > +#define BOOT_TARGET_DEVICES(func) \ > + func(USB, usb, 0) > +#endif > + > #undef CONFIG_EXTRA_ENV_SETTINGS > -#define CONFIG_EXTRA_ENV_SETTINGS \ > - "verify=no\0" \ > - "loadaddr=0x80100000\0" \ > - "kernel_addr=0x100000\0" \ > - "fdt_high=0xffffffffffffffff\0" \ > - "initrd_high=0xffffffffffffffff\0" \ > - "kernel_start=0x1000000\0" \ > - "kernel_load=0x96000000\0" \ > - "kernel_size=0x2800000\0" > +#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=0x96000000\0" \ > + "fdt_addr_r=0x90000000\0" \ > + "load_addr=0x96000000\0" \ > + "kernel_size=0x2800000\0" \ > + "console=ttyS0,115200\0" \ > + BOOTENV \ > + "boot_scripts=ls1012afrdm_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 usb 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" \ Did you intentionally leave the "\" at the end in above line? > + > +#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. You probably don't have other boot method. If so, you can drop the "#if". York
> -----Original Message----- > From: York Sun > Sent: Tuesday, October 03, 2017 9:16 PM > To: Rajesh Bhagat <rajesh.bhagat@nxp.com>; u-boot@lists.denx.de > Cc: Bhaskar Upadhaya <bhaskar.upadhaya@nxp.com> > Subject: Re: [PATCH] arm64: ls1012afrdm: Add distro boot support > > On 09/07/2017 10:10 PM, 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> > > --- > > configs/ls1012afrdm_qspi_defconfig | 1 + > > include/configs/ls1012afrdm.h | 59 > ++++++++++++++++++++++++++++++++------ > > 2 files changed, 51 insertions(+), 9 deletions(-) > > > > diff --git a/configs/ls1012afrdm_qspi_defconfig > > b/configs/ls1012afrdm_qspi_defconfig > > index fe95f04..42acff0 100644 > > --- a/configs/ls1012afrdm_qspi_defconfig > > +++ b/configs/ls1012afrdm_qspi_defconfig > > @@ -46,3 +46,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/ls1012afrdm.h > > b/include/configs/ls1012afrdm.h index 8a9444d..544dea0 100644 > > --- a/include/configs/ls1012afrdm.h > > +++ b/include/configs/ls1012afrdm.h > > @@ -20,16 +20,57 @@ > > #define CONFIG_SYS_MEMTEST_START 0x80000000 > > #define CONFIG_SYS_MEMTEST_END 0x9fffffff > > > > +#ifndef CONFIG_SPL_BUILD > > +#undef BOOT_TARGET_DEVICES > > +#define BOOT_TARGET_DEVICES(func) \ > > + func(USB, usb, 0) > > +#endif > > + > > #undef CONFIG_EXTRA_ENV_SETTINGS > > -#define CONFIG_EXTRA_ENV_SETTINGS \ > > - "verify=no\0" \ > > - "loadaddr=0x80100000\0" \ > > - "kernel_addr=0x100000\0" \ > > - "fdt_high=0xffffffffffffffff\0" \ > > - "initrd_high=0xffffffffffffffff\0" \ > > - "kernel_start=0x1000000\0" \ > > - "kernel_load=0x96000000\0" \ > > - "kernel_size=0x2800000\0" > > +#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=0x96000000\0" \ > > + "fdt_addr_r=0x90000000\0" \ > > + "load_addr=0x96000000\0" \ > > + "kernel_size=0x2800000\0" \ > > + "console=ttyS0,115200\0" \ > > + BOOTENV \ > > + "boot_scripts=ls1012afrdm_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 usb 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" \ > > Did you intentionally leave the "\" at the end in above line? Its added by mistake. Will remove it in v2. > > + > > +#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. > You probably don't have other boot method. If so, you can drop the "#if". > Will drop the #if in v2. - Rajesh > York
diff --git a/configs/ls1012afrdm_qspi_defconfig b/configs/ls1012afrdm_qspi_defconfig index fe95f04..42acff0 100644 --- a/configs/ls1012afrdm_qspi_defconfig +++ b/configs/ls1012afrdm_qspi_defconfig @@ -46,3 +46,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/ls1012afrdm.h b/include/configs/ls1012afrdm.h index 8a9444d..544dea0 100644 --- a/include/configs/ls1012afrdm.h +++ b/include/configs/ls1012afrdm.h @@ -20,16 +20,57 @@ #define CONFIG_SYS_MEMTEST_START 0x80000000 #define CONFIG_SYS_MEMTEST_END 0x9fffffff +#ifndef CONFIG_SPL_BUILD +#undef BOOT_TARGET_DEVICES +#define BOOT_TARGET_DEVICES(func) \ + func(USB, usb, 0) +#endif + #undef CONFIG_EXTRA_ENV_SETTINGS -#define CONFIG_EXTRA_ENV_SETTINGS \ - "verify=no\0" \ - "loadaddr=0x80100000\0" \ - "kernel_addr=0x100000\0" \ - "fdt_high=0xffffffffffffffff\0" \ - "initrd_high=0xffffffffffffffff\0" \ - "kernel_start=0x1000000\0" \ - "kernel_load=0x96000000\0" \ - "kernel_size=0x2800000\0" +#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=0x96000000\0" \ + "fdt_addr_r=0x90000000\0" \ + "load_addr=0x96000000\0" \ + "kernel_size=0x2800000\0" \ + "console=ttyS0,115200\0" \ + BOOTENV \ + "boot_scripts=ls1012afrdm_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 usb 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 /* * USB