diff mbox series

[U-Boot,v2] armv8: ls1088ardb: Add distro boot support

Message ID 1509954568-13497-1-git-send-email-Ashish.Kumar@nxp.com
State Accepted
Commit d9195c62fa5e4c297f40ef01d4e86da742838c32
Delegated to: York Sun
Headers show
Series [U-Boot,v2] armv8: ls1088ardb: Add distro boot support | expand

Commit Message

Ashish Kumar Nov. 6, 2017, 7:49 a.m. UTC
Distro boot support gives flexibility to run distro RFS like Ubuntu's
being deployed from SD card or SATA drive. If it fails
to detect external storage, fall back to qspi/sd boot.

Enable this by default in RDB's defconfig by selecting
CONFIG_DISTRO_DEFAULTS

Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
Signed-off-by: Zhang Ying <zhangying@nxp.com>
---

v2:
1. Fix typo in commit msg
2. Fix indentation
3. Squash patch-set to one
4. Remove USB distro option as USB config are 
    not supported in sd boot defconfig yet.

 configs/ls1088ardb_qspi_defconfig        |   1 +
 configs/ls1088ardb_sdcard_qspi_defconfig |   1 +
 include/configs/ls1088ardb.h             | 113 ++++++++++++++++++++++++-------
 3 files changed, 89 insertions(+), 26 deletions(-)

Comments

York Sun Nov. 6, 2017, 8:40 p.m. UTC | #1
On 11/05/2017 11:49 PM, Ashish Kumar wrote:
> Distro boot support gives flexibility to run distro RFS like Ubuntu's
> being deployed from SD card or SATA drive. If it fails
> to detect external storage, fall back to qspi/sd boot.
> 
> Enable this by default in RDB's defconfig by selecting
> CONFIG_DISTRO_DEFAULTS
> 
> Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
> Signed-off-by: Zhang Ying <zhangying@nxp.com>
> ---
> 
> v2:
> 1. Fix typo in commit msg
> 2. Fix indentation
> 3. Squash patch-set to one
> 4. Remove USB distro option as USB config are 
>     not supported in sd boot defconfig yet.

<snip>

> diff --git a/include/configs/ls1088ardb.h b/include/configs/ls1088ardb.h
> index eef9a07..e6bf2b8 100644
> --- a/include/configs/ls1088ardb.h
> +++ b/include/configs/ls1088ardb.h
> @@ -258,40 +258,102 @@
>  
>  /* Initial environment variables */
>  #if defined(CONFIG_QSPI_BOOT)
> -#undef CONFIG_EXTRA_ENV_SETTINGS
> -#define CONFIG_EXTRA_ENV_SETTINGS		\
> -	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> -	"loadaddr=0x90100000\0"			\
> -	"kernel_addr=0x100000\0"		\
> -	"ramdisk_addr=0x800000\0"		\
> -	"ramdisk_size=0x2000000\0"		\
> -	"fdt_high=0xa0000000\0"			\
> -	"initrd_high=0xffffffffffffffff\0"	\
> -	"kernel_start=0x1000000\0"		\
> -	"kernel_load=0xa0000000\0"		\
> -	"kernel_size=0x2800000\0"		\
> +#define MC_INIT_CMD				\
>  	"mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;"	\
> -	"sf read 0x80100000 0xE00000 0x100000;" \
> -	"fsl_mc start mc 0x80000000 0x80100000\0"	\
> -	"mcmemsize=0x70000000 \0"
> +	"sf read 0x80100000 0xE00000 0x100000;"				\
> +	"fsl_mc start mc 0x80000000 0x80100000\0"			\
> +	"mcmemsize=0x70000000\0"
>  #elif defined(CONFIG_SD_BOOT)
> +#define MC_INIT_CMD				\
> +	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"		\
> +	"mmc read 0x80100000 0x7000 0x800;"				\
> +	"fsl_mc start mc 0x80000000 0x80100000\0"			\
> +	"mcmemsize=0x70000000\0"
> +#endif
> +
>  #undef CONFIG_EXTRA_ENV_SETTINGS
>  #define CONFIG_EXTRA_ENV_SETTINGS		\
> +	"BOARD=ls1088ardb\0"			\
>  	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> -	"loadaddr=0x90100000\0"			\
> -	"kernel_addr=0x800\0"			\
>  	"ramdisk_addr=0x800000\0"		\
>  	"ramdisk_size=0x2000000\0"		\
>  	"fdt_high=0xa0000000\0"			\
>  	"initrd_high=0xffffffffffffffff\0"	\
> -	"kernel_start=0x8000\0"			\
> -	"kernel_load=0xa0000000\0"		\
> -	"kernel_size=0x14000\0"			\
> -	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"	\
> -	"mmc read 0x80100000 0x7000 0x800;"	\
> -	"fsl_mc start mc 0x80000000 0x80100000\0"	\
> -	"mcmemsize=0x70000000 \0"
> -
> +	"fdt_addr=0x64f00000\0"			\
> +	"kernel_addr=0x1000000\0"		\
> +	"kernel_addr_sd=0x8000\0"		\
> +	"kernel_start=0x580100000\0"		\
> +	"kernelheader_start=0x580800000\0"	\
> +	"scriptaddr=0x80000000\0"		\
> +	"scripthdraddr=0x80080000\0"		\
> +	"fdtheader_addr_r=0x80100000\0"		\
> +	"kernelheader_addr=0x800000\0"		\
> +	"kernelheader_addr_r=0x80200000\0"	\
> +	"kernel_addr_r=0x81000000\0"		\
> +	"kernelheader_size=0x40000\0"		\
> +	"fdt_addr_r=0x90000000\0"		\
> +	"load_addr=0xa0000000\0"		\
> +	"kernel_size=0x2800000\0"		\
> +	"kernel_size_sd=0x14000\0"		\
> +	MC_INIT_CMD				\
> +	BOOTENV					\

What do you do with BOOTENV? This causes compiling error. Please verify.
I tested this patch on top of you v6 SD patches.

York
Ashish Kumar Nov. 7, 2017, 6:37 a.m. UTC | #2
Hello York,

Please see inline.

-----Original Message-----
From: York Sun 
Sent: Tuesday, November 07, 2017 2:11 AM
To: Ashish Kumar <ashish.kumar@nxp.com>; u-boot@lists.denx.de
Cc: Zhang Ying <zhangying@nxp.com>
Subject: Re: [PATCH v2] armv8: ls1088ardb: Add distro boot support

On 11/05/2017 11:49 PM, Ashish Kumar wrote:
> Distro boot support gives flexibility to run distro RFS like Ubuntu's 
> being deployed from SD card or SATA drive. If it fails to detect 
> external storage, fall back to qspi/sd boot.
> 
> Enable this by default in RDB's defconfig by selecting 
> CONFIG_DISTRO_DEFAULTS
> 
> Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
> Signed-off-by: Zhang Ying <zhangying@nxp.com>
> ---
> 
> v2:
> 1. Fix typo in commit msg
> 2. Fix indentation
> 3. Squash patch-set to one
> 4. Remove USB distro option as USB config are 
>     not supported in sd boot defconfig yet.

<snip>

> diff --git a/include/configs/ls1088ardb.h 
> b/include/configs/ls1088ardb.h index eef9a07..e6bf2b8 100644
> --- a/include/configs/ls1088ardb.h
> +++ b/include/configs/ls1088ardb.h
> @@ -258,40 +258,102 @@
>  
>  /* Initial environment variables */
>  #if defined(CONFIG_QSPI_BOOT)
> -#undef CONFIG_EXTRA_ENV_SETTINGS
> -#define CONFIG_EXTRA_ENV_SETTINGS		\
> -	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> -	"loadaddr=0x90100000\0"			\
> -	"kernel_addr=0x100000\0"		\
> -	"ramdisk_addr=0x800000\0"		\
> -	"ramdisk_size=0x2000000\0"		\
> -	"fdt_high=0xa0000000\0"			\
> -	"initrd_high=0xffffffffffffffff\0"	\
> -	"kernel_start=0x1000000\0"		\
> -	"kernel_load=0xa0000000\0"		\
> -	"kernel_size=0x2800000\0"		\
> +#define MC_INIT_CMD				\
>  	"mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;"	\
> -	"sf read 0x80100000 0xE00000 0x100000;" \
> -	"fsl_mc start mc 0x80000000 0x80100000\0"	\
> -	"mcmemsize=0x70000000 \0"
> +	"sf read 0x80100000 0xE00000 0x100000;"				\
> +	"fsl_mc start mc 0x80000000 0x80100000\0"			\
> +	"mcmemsize=0x70000000\0"
>  #elif defined(CONFIG_SD_BOOT)
> +#define MC_INIT_CMD				\
> +	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"		\
> +	"mmc read 0x80100000 0x7000 0x800;"				\
> +	"fsl_mc start mc 0x80000000 0x80100000\0"			\
> +	"mcmemsize=0x70000000\0"
> +#endif
> +
>  #undef CONFIG_EXTRA_ENV_SETTINGS
>  #define CONFIG_EXTRA_ENV_SETTINGS		\
> +	"BOARD=ls1088ardb\0"			\
>  	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> -	"loadaddr=0x90100000\0"			\
> -	"kernel_addr=0x800\0"			\
>  	"ramdisk_addr=0x800000\0"		\
>  	"ramdisk_size=0x2000000\0"		\
>  	"fdt_high=0xa0000000\0"			\
>  	"initrd_high=0xffffffffffffffff\0"	\
> -	"kernel_start=0x8000\0"			\
> -	"kernel_load=0xa0000000\0"		\
> -	"kernel_size=0x14000\0"			\
> -	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"	\
> -	"mmc read 0x80100000 0x7000 0x800;"	\
> -	"fsl_mc start mc 0x80000000 0x80100000\0"	\
> -	"mcmemsize=0x70000000 \0"
> -
> +	"fdt_addr=0x64f00000\0"			\
> +	"kernel_addr=0x1000000\0"		\
> +	"kernel_addr_sd=0x8000\0"		\
> +	"kernel_start=0x580100000\0"		\
> +	"kernelheader_start=0x580800000\0"	\
> +	"scriptaddr=0x80000000\0"		\
> +	"scripthdraddr=0x80080000\0"		\
> +	"fdtheader_addr_r=0x80100000\0"		\
> +	"kernelheader_addr=0x800000\0"		\
> +	"kernelheader_addr_r=0x80200000\0"	\
> +	"kernel_addr_r=0x81000000\0"		\
> +	"kernelheader_size=0x40000\0"		\
> +	"fdt_addr_r=0x90000000\0"		\
> +	"load_addr=0xa0000000\0"		\
> +	"kernel_size=0x2800000\0"		\
> +	"kernel_size_sd=0x14000\0"		\
> +	MC_INIT_CMD				\
> +	BOOTENV					\

What do you do with BOOTENV? This causes compiling error. Please verify.
I tested this patch on top of you v6 SD patches.

>> Sorry, for not highlighting the dependency, this distro patch also depends upon the SCSI patch-set.
   And SD boot depends upon the armv8-ls1088-CONFIG_SPI_SPANSON-to-defconfig.patch

   Here is the order for application of these patch

git am 06-nov-17/0002-armv8-ls1088-Move-CONFIG_SPI_SPANSON-to-defconfig.patch
Applying: armv8: ls1088: Move CONFIG_SPI_SPANSON to defconfig

git am 06-nov-17/0003-armv8-lsch3-Add-imply-SCSI-for-ls1088.patch
Applying: armv8: lsch3: Add imply SCSI for ls1088

git am 06-nov-17/0004-armv8-ls1088-Enable-SATA-for-ls1088.patch
Applying: armv8: ls1088: Enable SATA for ls1088

git am 06-nov-17/0005-armv8-ls1088ardb-Add-SD-boot-support-for-ls1088.patch
Applying: armv8: ls1088ardb: Add SD boot support for ls1088

git am 06-nov-17/0006-armv8-ls1088aqds-Add-SD-boot-support-for-ls1088qds.patch
Applying: armv8: ls1088aqds: Add SD boot support for ls1088qds

git am 06-nov-17/0007-armv8-ls1088ardb-Add-distro-boot-support.patch
Applying: armv8: ls1088ardb: Add distro boot support 

Regards
Ashish

York
York Sun Nov. 7, 2017, 4:59 p.m. UTC | #3
On 11/06/2017 10:37 PM, Ashish Kumar wrote:
> Hello York,
> 
> Please see inline.

Please avoid using this "inline" style and follow the list style when
you reply to any email.

> 
> -----Original Message-----
> From: York Sun 
> Sent: Tuesday, November 07, 2017 2:11 AM
> To: Ashish Kumar <ashish.kumar@nxp.com>; u-boot@lists.denx.de
> Cc: Zhang Ying <zhangying@nxp.com>
> Subject: Re: [PATCH v2] armv8: ls1088ardb: Add distro boot support
> 
> On 11/05/2017 11:49 PM, Ashish Kumar wrote:
>> Distro boot support gives flexibility to run distro RFS like Ubuntu's 
>> being deployed from SD card or SATA drive. If it fails to detect 
>> external storage, fall back to qspi/sd boot.
>>
>> Enable this by default in RDB's defconfig by selecting 
>> CONFIG_DISTRO_DEFAULTS
>>
>> Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
>> Signed-off-by: Zhang Ying <zhangying@nxp.com>
>> ---
>>
>> v2:
>> 1. Fix typo in commit msg
>> 2. Fix indentation
>> 3. Squash patch-set to one
>> 4. Remove USB distro option as USB config are 
>>     not supported in sd boot defconfig yet.
> 
> <snip>
> 
>> diff --git a/include/configs/ls1088ardb.h 
>> b/include/configs/ls1088ardb.h index eef9a07..e6bf2b8 100644
>> --- a/include/configs/ls1088ardb.h
>> +++ b/include/configs/ls1088ardb.h
>> @@ -258,40 +258,102 @@
>>  
>>  /* Initial environment variables */
>>  #if defined(CONFIG_QSPI_BOOT)
>> -#undef CONFIG_EXTRA_ENV_SETTINGS
>> -#define CONFIG_EXTRA_ENV_SETTINGS		\
>> -	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
>> -	"loadaddr=0x90100000\0"			\
>> -	"kernel_addr=0x100000\0"		\
>> -	"ramdisk_addr=0x800000\0"		\
>> -	"ramdisk_size=0x2000000\0"		\
>> -	"fdt_high=0xa0000000\0"			\
>> -	"initrd_high=0xffffffffffffffff\0"	\
>> -	"kernel_start=0x1000000\0"		\
>> -	"kernel_load=0xa0000000\0"		\
>> -	"kernel_size=0x2800000\0"		\
>> +#define MC_INIT_CMD				\
>>  	"mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;"	\
>> -	"sf read 0x80100000 0xE00000 0x100000;" \
>> -	"fsl_mc start mc 0x80000000 0x80100000\0"	\
>> -	"mcmemsize=0x70000000 \0"
>> +	"sf read 0x80100000 0xE00000 0x100000;"				\
>> +	"fsl_mc start mc 0x80000000 0x80100000\0"			\
>> +	"mcmemsize=0x70000000\0"
>>  #elif defined(CONFIG_SD_BOOT)
>> +#define MC_INIT_CMD				\
>> +	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"		\
>> +	"mmc read 0x80100000 0x7000 0x800;"				\
>> +	"fsl_mc start mc 0x80000000 0x80100000\0"			\
>> +	"mcmemsize=0x70000000\0"
>> +#endif
>> +
>>  #undef CONFIG_EXTRA_ENV_SETTINGS
>>  #define CONFIG_EXTRA_ENV_SETTINGS		\
>> +	"BOARD=ls1088ardb\0"			\
>>  	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
>> -	"loadaddr=0x90100000\0"			\
>> -	"kernel_addr=0x800\0"			\
>>  	"ramdisk_addr=0x800000\0"		\
>>  	"ramdisk_size=0x2000000\0"		\
>>  	"fdt_high=0xa0000000\0"			\
>>  	"initrd_high=0xffffffffffffffff\0"	\
>> -	"kernel_start=0x8000\0"			\
>> -	"kernel_load=0xa0000000\0"		\
>> -	"kernel_size=0x14000\0"			\
>> -	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"	\
>> -	"mmc read 0x80100000 0x7000 0x800;"	\
>> -	"fsl_mc start mc 0x80000000 0x80100000\0"	\
>> -	"mcmemsize=0x70000000 \0"
>> -
>> +	"fdt_addr=0x64f00000\0"			\
>> +	"kernel_addr=0x1000000\0"		\
>> +	"kernel_addr_sd=0x8000\0"		\
>> +	"kernel_start=0x580100000\0"		\
>> +	"kernelheader_start=0x580800000\0"	\
>> +	"scriptaddr=0x80000000\0"		\
>> +	"scripthdraddr=0x80080000\0"		\
>> +	"fdtheader_addr_r=0x80100000\0"		\
>> +	"kernelheader_addr=0x800000\0"		\
>> +	"kernelheader_addr_r=0x80200000\0"	\
>> +	"kernel_addr_r=0x81000000\0"		\
>> +	"kernelheader_size=0x40000\0"		\
>> +	"fdt_addr_r=0x90000000\0"		\
>> +	"load_addr=0xa0000000\0"		\
>> +	"kernel_size=0x2800000\0"		\
>> +	"kernel_size_sd=0x14000\0"		\
>> +	MC_INIT_CMD				\
>> +	BOOTENV					\
> 
> What do you do with BOOTENV? This causes compiling error. Please verify.
> I tested this patch on top of you v6 SD patches.
> 
>>> Sorry, for not highlighting the dependency, this distro patch also depends upon the SCSI patch-set.
>    And SD boot depends upon the armv8-ls1088-CONFIG_SPI_SPANSON-to-defconfig.patch
> 
>    Here is the order for application of these patch
> 
> git am 06-nov-17/0002-armv8-ls1088-Move-CONFIG_SPI_SPANSON-to-defconfig.patch
> Applying: armv8: ls1088: Move CONFIG_SPI_SPANSON to defconfig
> 
> git am 06-nov-17/0003-armv8-lsch3-Add-imply-SCSI-for-ls1088.patch
> Applying: armv8: lsch3: Add imply SCSI for ls1088
> 
> git am 06-nov-17/0004-armv8-ls1088-Enable-SATA-for-ls1088.patch
> Applying: armv8: ls1088: Enable SATA for ls1088
> 
> git am 06-nov-17/0005-armv8-ls1088ardb-Add-SD-boot-support-for-ls1088.patch
> Applying: armv8: ls1088ardb: Add SD boot support for ls1088
> 
> git am 06-nov-17/0006-armv8-ls1088aqds-Add-SD-boot-support-for-ls1088qds.patch
> Applying: armv8: ls1088aqds: Add SD boot support for ls1088qds
> 
> git am 06-nov-17/0007-armv8-ls1088ardb-Add-distro-boot-support.patch
> Applying: armv8: ls1088ardb: Add distro boot support 
> 

I will try again following your patch order. It would be helpful to list
all dependency.

York
York Sun Nov. 17, 2017, 5:21 p.m. UTC | #4
On 11/05/2017 11:49 PM, Ashish Kumar wrote:
> Distro boot support gives flexibility to run distro RFS like Ubuntu's
> being deployed from SD card or SATA drive. If it fails
> to detect external storage, fall back to qspi/sd boot.
> 
> Enable this by default in RDB's defconfig by selecting
> CONFIG_DISTRO_DEFAULTS
> 
> Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
> Signed-off-by: Zhang Ying <zhangying@nxp.com>
> ---
> 
> v2:
> 1. Fix typo in commit msg
> 2. Fix indentation
> 3. Squash patch-set to one
> 4. Remove USB distro option as USB config are 
>     not supported in sd boot defconfig yet.

Applied to fsl-qoriq master. Thanks.

York
diff mbox series

Patch

diff --git a/configs/ls1088ardb_qspi_defconfig b/configs/ls1088ardb_qspi_defconfig
index db15d31..ea0f077 100644
--- a/configs/ls1088ardb_qspi_defconfig
+++ b/configs/ls1088ardb_qspi_defconfig
@@ -2,6 +2,7 @@  CONFIG_ARM=y
 CONFIG_TARGET_LS1088ARDB=y
 CONFIG_FSL_LS_PPA=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
+CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
diff --git a/configs/ls1088ardb_sdcard_qspi_defconfig b/configs/ls1088ardb_sdcard_qspi_defconfig
index 8abc313..8e5cf3b 100644
--- a/configs/ls1088ardb_sdcard_qspi_defconfig
+++ b/configs/ls1088ardb_sdcard_qspi_defconfig
@@ -7,6 +7,7 @@  CONFIG_SPL_MMC_SUPPORT=y
 CONFIG_SPL_SERIAL_SUPPORT=y
 CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
 CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1088a-rdb"
+CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_FIT_VERBOSE=y
 CONFIG_OF_BOARD_SETUP=y
diff --git a/include/configs/ls1088ardb.h b/include/configs/ls1088ardb.h
index eef9a07..e6bf2b8 100644
--- a/include/configs/ls1088ardb.h
+++ b/include/configs/ls1088ardb.h
@@ -258,40 +258,102 @@ 
 
 /* Initial environment variables */
 #if defined(CONFIG_QSPI_BOOT)
-#undef CONFIG_EXTRA_ENV_SETTINGS
-#define CONFIG_EXTRA_ENV_SETTINGS		\
-	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
-	"loadaddr=0x90100000\0"			\
-	"kernel_addr=0x100000\0"		\
-	"ramdisk_addr=0x800000\0"		\
-	"ramdisk_size=0x2000000\0"		\
-	"fdt_high=0xa0000000\0"			\
-	"initrd_high=0xffffffffffffffff\0"	\
-	"kernel_start=0x1000000\0"		\
-	"kernel_load=0xa0000000\0"		\
-	"kernel_size=0x2800000\0"		\
+#define MC_INIT_CMD				\
 	"mcinitcmd=sf probe 0:0;sf read 0x80000000 0xA00000 0x100000;"	\
-	"sf read 0x80100000 0xE00000 0x100000;" \
-	"fsl_mc start mc 0x80000000 0x80100000\0"	\
-	"mcmemsize=0x70000000 \0"
+	"sf read 0x80100000 0xE00000 0x100000;"				\
+	"fsl_mc start mc 0x80000000 0x80100000\0"			\
+	"mcmemsize=0x70000000\0"
 #elif defined(CONFIG_SD_BOOT)
+#define MC_INIT_CMD				\
+	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"		\
+	"mmc read 0x80100000 0x7000 0x800;"				\
+	"fsl_mc start mc 0x80000000 0x80100000\0"			\
+	"mcmemsize=0x70000000\0"
+#endif
+
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS		\
+	"BOARD=ls1088ardb\0"			\
 	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
-	"loadaddr=0x90100000\0"			\
-	"kernel_addr=0x800\0"			\
 	"ramdisk_addr=0x800000\0"		\
 	"ramdisk_size=0x2000000\0"		\
 	"fdt_high=0xa0000000\0"			\
 	"initrd_high=0xffffffffffffffff\0"	\
-	"kernel_start=0x8000\0"			\
-	"kernel_load=0xa0000000\0"		\
-	"kernel_size=0x14000\0"			\
-	"mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;"	\
-	"mmc read 0x80100000 0x7000 0x800;"	\
-	"fsl_mc start mc 0x80000000 0x80100000\0"	\
-	"mcmemsize=0x70000000 \0"
-
+	"fdt_addr=0x64f00000\0"			\
+	"kernel_addr=0x1000000\0"		\
+	"kernel_addr_sd=0x8000\0"		\
+	"kernel_start=0x580100000\0"		\
+	"kernelheader_start=0x580800000\0"	\
+	"scriptaddr=0x80000000\0"		\
+	"scripthdraddr=0x80080000\0"		\
+	"fdtheader_addr_r=0x80100000\0"		\
+	"kernelheader_addr=0x800000\0"		\
+	"kernelheader_addr_r=0x80200000\0"	\
+	"kernel_addr_r=0x81000000\0"		\
+	"kernelheader_size=0x40000\0"		\
+	"fdt_addr_r=0x90000000\0"		\
+	"load_addr=0xa0000000\0"		\
+	"kernel_size=0x2800000\0"		\
+	"kernel_size_sd=0x14000\0"		\
+	MC_INIT_CMD				\
+	BOOTENV					\
+	"boot_scripts=ls1088ardb_boot.scr\0"	\
+	"boot_script_hdr=hdr_ls1088ardb_bs.out\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"					\
+	"boot_a_script="					\
+		"load ${devtype} ${devnum}:${distro_bootpart} " \
+		"${scriptaddr} ${prefix}${script}; "		\
+	"env exists secureboot && load ${devtype} "		\
+		"${devnum}:${distro_bootpart} "			\
+		"${scripthdraddr} ${prefix}${boot_script_hdr} " \
+		"&& esbc_validate ${scripthdraddr};"		\
+		"source ${scriptaddr}\0"			\
+	"installer=load mmc 0:2 $load_addr "			\
+		"/flex_installer_arm64.itb; "			\
+		"env exists mcinitcmd && run mcinitcmd && "	\
+		"mmc read 0x80200000 0x6800 0x800;"		\
+		"fsl_mc apply dpl 0x80200000;"			\
+		"bootm $load_addr#ls1088ardb\0"			\
+	"qspi_bootcmd=echo Trying load from qspi..;"		\
+		"sf probe && sf read $load_addr "		\
+		"$kernel_addr $kernel_size &&"			\
+		"bootm $load_addr#$BOARD\0"			\
+	"sd_bootcmd=echo Trying load from sd card..;"		\
+		"mmcinfo; mmc read $load_addr "			\
+		"$kernel_addr_sd $kernel_size_sd ;"		\
+		"bootm $load_addr#$BOARD\0"
+
+#undef CONFIG_BOOTCOMMAND
+#if defined(CONFIG_QSPI_BOOT)
+/* Try to boot an on-QSPI kernel first, then do normal distro boot */
+#define CONFIG_BOOTCOMMAND                                      \
+		"env exists mcinitcmd && run mcinitcmd && "	\
+		"sf read 0x80200000 0xd00000 0x100000;"	\
+		" fsl_mc apply dpl 0x80200000;"		\
+		"run distro_bootcmd;run qspi_bootcmd"
+/* Try to boot an on-SD kernel first, then do normal distro boot */
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_BOOTCOMMAND                                      \
+		"env exists mcinitcmd && run mcinitcmd ;"	\
+		"&& env exists mcinitcmd && mmcinfo; "		\
+		"mmc read 0x88000000 0x6800 0x800; "		\
+		"&& fsl_mc apply dpl 0x88000000;"		\
+		"run distro_bootcmd;run sd_bootcmd"
 #endif
 
 /* MAC/PHY configuration */
@@ -329,7 +391,6 @@ 
 #include <config_distro_defaults.h>
 
 #define BOOT_TARGET_DEVICES(func) \
-	func(USB, usb, 0) \
 	func(MMC, mmc, 0) \
 	func(SCSI, scsi, 0) \
 	func(DHCP, dhcp, na)