Skip to contentSkip to conversation

armv8: ls1088ardb: Add SD boot support for ls1088

PATCH New Ashish Kumar 2 participants 6 messages Nov 6, 2017 – Nov 17, 2017 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

PATCH v6 1/2 armv8: ls1088ardb: Add SD boot support for ls1088

---
v6:
Incorporation of review comments in README wrt to line wrap. Sorting defconfig with help make savedefconfig

 arch/arm/Kconfig                                   |  1 +
 arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 | 44 ++++++++++++++++++++++
 board/freescale/ls1088a/MAINTAINERS                |  1 +
 board/freescale/ls1088a/ddr.c                      |  5 ++-
 configs/ls1088ardb_sdcard_qspi_defconfig           | 41 ++++++++++++++++++++
 include/configs/ls1088a_common.h                   | 25 ++++++++++++
 include/configs/ls1088ardb.h                       | 30 ++++++++++++++-
 7 files changed, 144 insertions(+), 3 deletions(-)
 create mode 100644 configs/ls1088ardb_sdcard_qspi_defconfig
arch/arm/Kconfig +1 -0
index 83b7aa5..5707111 100644
@@ -938,6 +938,7 @@ config TARGET_LS1088ARDB
 	select ARMV8_MULTIENTRY
 	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
+	select SUPPORT_SPL
 	help
 	  Support for NXP LS1088ARDB platform.
 	  The LS1088A Reference design board (RDB) is a high-performance
arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +44 -0

50 lines not on this page · raw message

board/freescale/ls1088a/MAINTAINERS +1 -0
index e1e6d4b..68f23d6 100644
@@ -5,6 +5,7 @@ S:	Maintained
 F:	board/freescale/ls1088a/
 F:	include/configs/ls1088ardb.h
 F:	configs/ls1088ardb_qspi_defconfig
+F:	configs/ls1088ardb_sdcard_qspi_defconfig
 
 LS1088AQDS BOARD
 M:	Prabhakar Kushwaha <[email protected]>
board/freescale/ls1088a/ddr.c +4 -1
index 0ecfd65..e24bfd5 100644
@@ -96,7 +96,10 @@ int fsl_initdram(void)
 {
 	puts("Initializing DDR....using SPD\n");
 
+#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
+	gd->ram_size = fsl_ddr_sdram_size();
+#else
 	gd->ram_size = fsl_ddr_sdram();
-
+#endif
 	return 0;
 }
configs/ls1088ardb_sdcard_qspi_defconfig new file +41 -0

41 lines not on this page · raw message

include/configs/ls1088a_common.h +25 -0
index 7cfdc96..6b71d47 100644
@@ -20,18 +20,24 @@
 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0)
 
 /* Link Definitions */
+#ifdef CONFIG_SPL
+#define CONFIG_SYS_TEXT_BASE		0x80400000
+#else
 #ifdef CONFIG_QSPI_BOOT
 #define CONFIG_SYS_TEXT_BASE            0x20100000
 #else
 #define CONFIG_SYS_TEXT_BASE		0x30100000
 #endif
+#endif
 
 #define CONFIG_SUPPORT_RAW_INITRD
 
 
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
+#if !defined(CONFIG_SD_BOOT)
 #define CONFIG_FSL_DDR_INTERACTIVE	/* Interactive debugging */
+#endif
 
 #define CONFIG_VERY_BIG_RAM
 #define CONFIG_SYS_DDR_SDRAM_BASE	0x80000000UL
@@ -200,6 +206,11 @@ unsigned long long get_qixis_addr(void);
 				" fsl_mc apply dpl 0x80200000 &&" \
 				" sf read $kernel_load $kernel_start" \
 				" $kernel_size && bootm $kernel_load"
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_BOOTCOMMAND	"mmcinfo;mmc read 0x80200000 0x6800 0x800;"\
+				" fsl_mc apply dpl 0x80200000 &&" \
+				" mmc read $kernel_load $kernel_start" \
+				" $kernel_size && bootm $kernel_load"
 #else /* NOR BOOT*/
 #define CONFIG_BOOTCOMMAND	"fsl_mc apply dpl 0x580d00000 &&" \
 				" cp.b $kernel_start $kernel_load" \
@@ -219,6 +230,20 @@ unsigned long long get_qixis_addr(void);
 
 #define CONFIG_PANIC_HANG	/* do not reset board on panic */
 
+#ifdef CONFIG_SPL
+#define CONFIG_SPL_BSS_START_ADDR      0x80100000
+#define CONFIG_SPL_BSS_MAX_SIZE                0x00100000
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv8/u-boot-spl.lds"
+#define CONFIG_SPL_MAX_SIZE            0x16000
+#define CONFIG_SPL_STACK               (CONFIG_SYS_FSL_OCRAM_BASE + 0x9ff0)
+#define CONFIG_SPL_TARGET              "u-boot-with-spl.bin"
+#define CONFIG_SPL_TEXT_BASE           0x1800a000
+
+#define CONFIG_SYS_SPL_MALLOC_SIZE     0x00100000
+#define CONFIG_SYS_SPL_MALLOC_START    0x80200000
+#define CONFIG_SYS_MONITOR_LEN         (512 * 1024)
+#endif
 #define CONFIG_SYS_BOOTM_LEN   (64 << 20)      /* Increase max gunzip size */
 
 #endif /* __LS1088_COMMON_H */
include/configs/ls1088ardb.h +28 -2
index 958d472..eef9a07 100644
@@ -15,6 +15,10 @@
 #define CONFIG_ENV_SIZE			0x2000          /* 8KB */
 #define CONFIG_ENV_OFFSET		0x300000        /* 3MB */
 #define CONFIG_ENV_SECT_SIZE		0x40000
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_ENV_OFFSET		(3 * 1024 * 1024)
+#define CONFIG_SYS_MMC_ENV_DEV		0
+#define CONFIG_ENV_SIZE			0x2000
 #else
 #define CONFIG_ENV_IS_IN_FLASH
 #define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0x300000)
@@ -22,9 +26,10 @@
 #define CONFIG_ENV_SIZE			0x20000
 #endif
 
-#if defined(CONFIG_QSPI_BOOT)
+#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
 #define CONFIG_QIXIS_I2C_ACCESS
 #define SYS_NO_FLASH
+#undef CONFIG_CMD_IMLS
 #endif
 
 #define CONFIG_SYS_CLK_FREQ		100000000
@@ -232,7 +237,7 @@
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
 
 /* QSPI device */
-#if defined(CONFIG_QSPI_BOOT)
+#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
 #define CONFIG_FSL_QSPI
 #define FSL_QSPI_FLASH_SIZE		(1 << 26)
 #define FSL_QSPI_FLASH_NUM		2
@@ -243,7 +248,11 @@
 #define CONFIG_SYS_MEMTEST_START	0x80000000
 #define CONFIG_SYS_MEMTEST_END		0x9fffffff
 
+#ifdef CONFIG_SPL_BUILD
+#define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
+#else
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
+#endif
 
 #define CONFIG_FSL_MEMAC
 
@@ -265,6 +274,23 @@
 	"sf read 0x80100000 0xE00000 0x100000;" \
 	"fsl_mc start mc 0x80000000 0x80100000\0"	\
 	"mcmemsize=0x70000000 \0"
+#elif defined(CONFIG_SD_BOOT)
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS		\
+	"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"
 
 #endif
 
Signature · 1 line
2.7.4
#1 lore raw

PATCH v6 2/2 armv8: ls1088aqds: Add SD boot support for ls1088qds

---
v6:
Sorting defconfig with help make savedefconfig

 arch/arm/Kconfig                         |  1 +
 board/freescale/ls1088a/MAINTAINERS      |  1 +
 configs/ls1088aqds_sdcard_qspi_defconfig | 41 ++++++++++++++++++++++++++++++++
 include/configs/ls1088aqds.h             | 32 ++++++++++++++++++++++---
 4 files changed, 72 insertions(+), 3 deletions(-)
 create mode 100644 configs/ls1088aqds_sdcard_qspi_defconfig
arch/arm/Kconfig +1 -0
index 5707111..25514ed 100644
@@ -824,6 +824,7 @@ config TARGET_LS1088AQDS
 	select ARMV8_MULTIENTRY
 	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
+	select SUPPORT_SPL
 	help
 	  Support for NXP LS1088AQDS platform
 	  The LS1088A Development System (QDS) is a high-performance
board/freescale/ls1088a/MAINTAINERS +1 -0
index 68f23d6..b3d5c38 100644
@@ -14,3 +14,4 @@ S:	Maintained
 F:	board/freescale/ls1088a/
 F:	include/configs/ls1088aqds.h
 F:	configs/ls1088aqds_qspi_defconfig
+F:	configs/ls1088aqds_sdcard_qspi_defconfig
configs/ls1088aqds_sdcard_qspi_defconfig new file +41 -0

41 lines not on this page · raw message

include/configs/ls1088aqds.h +29 -3
index e60fe49..310e8fd 100644
@@ -23,6 +23,10 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_ENV_SIZE			0x2000          /* 8KB */
 #define CONFIG_ENV_OFFSET		0x300000        /* 3MB */
 #define CONFIG_ENV_SECT_SIZE		0x40000
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_ENV_OFFSET		(3 * 1024 * 1024)
+#define CONFIG_SYS_MMC_ENV_DEV		0
+#define CONFIG_ENV_SIZE			0x2000
 #else
 #define CONFIG_ENV_IS_IN_FLASH
 #define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0x300000)
@@ -30,10 +34,11 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_ENV_SIZE			0x20000
 #endif
 
-#if defined(CONFIG_QSPI_BOOT)
+#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
 #define CONFIG_QIXIS_I2C_ACCESS
 #define SYS_NO_FLASH
 
+#undef CONFIG_CMD_IMLS
 #define CONFIG_SYS_CLK_FREQ		100000000
 #define CONFIG_DDR_CLK_FREQ		100000000
 #else
@@ -190,7 +195,7 @@ unsigned long get_board_ddr_clk(void);
 					| CSPR_V)
 
 #define CONFIG_SYS_FPGA_AMASK		IFC_AMASK(64*1024)
-#if defined(CONFIG_QSPI_BOOT)
+#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
 #define CONFIG_SYS_FPGA_CSOR		CSOR_GPCM_ADM_SHIFT(0)
 #else
 #define CONFIG_SYS_FPGA_CSOR		CSOR_GPCM_ADM_SHIFT(12)
@@ -293,7 +298,7 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
 
 /* QSPI device */
-#if defined(CONFIG_QSPI_BOOT)
+#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
 #define CONFIG_FSL_QSPI
 #define FSL_QSPI_FLASH_SIZE		(1 << 26)
 #define FSL_QSPI_FLASH_NUM		2
@@ -315,7 +320,11 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_MEMTEST_START	0x80000000
 #define CONFIG_SYS_MEMTEST_END		0x9fffffff
 
+#ifdef CONFIG_SPL_BUILD
+#define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE
+#else
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
+#endif
 
 #define CONFIG_FSL_MEMAC
 
@@ -343,6 +352,23 @@ unsigned long get_board_ddr_clk(void);
 	"sf read 0x80100000 0xE00000 0x100000;" \
 	"fsl_mc start mc 0x80000000 0x80100000\0"	\
 	"mcmemsize=0x70000000 \0"
+#elif defined(CONFIG_SD_BOOT)
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS               \
+	"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"
 #else	/* NOR BOOT */
 #undef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS		\
Signature · 1 line
2.7.4
#3 lore raw

PATCH v6 1/2 armv8: ls1088ardb: Add SD boot support for ls1088

In reply to Ashish Kumar
Quoted 61 lines · Ashish Kumar

---
v6:
Incorporation of review comments in README wrt to line wrap. Sorting defconfig with help make savedefconfig

 arch/arm/Kconfig                                   |  1 +
 arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 | 44 ++++++++++++++++++++++
 board/freescale/ls1088a/MAINTAINERS                |  1 +
 board/freescale/ls1088a/ddr.c                      |  5 ++-
 configs/ls1088ardb_sdcard_qspi_defconfig           | 41 ++++++++++++++++++++
 include/configs/ls1088a_common.h                   | 25 ++++++++++++
 include/configs/ls1088ardb.h                       | 30 ++++++++++++++-
 7 files changed, 144 insertions(+), 3 deletions(-)
 create mode 100644 configs/ls1088ardb_sdcard_qspi_defconfig
arch/arm/Kconfig +1 -0
index 83b7aa5..5707111 100644
@@ -938,6 +938,7 @@ config TARGET_LS1088ARDB
 	select ARMV8_MULTIENTRY
 	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
+	select SUPPORT_SPL
 	help
 	  Support for NXP LS1088ARDB platform.
 	  The LS1088A Reference design board (RDB) is a high-performance
arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +23 -0
index 7867c37..522760b 100644
@@ -201,6 +201,50 @@ nand write <u-boot image in memory> 80000 <size of u-boot image>
 Notice the difference from QDS is SRC, SRC_ADDR and the offset of u-boot image
 to match board NAND device with 4KB/page, block size 512KB.
 
+Booting from SD/eMMC
+-------------------
+Booting from SD/eMMC requires two images, RCW and u-boot-with-spl.bin.
+The difference between SD boot RCW image and QSPI-NOR boot image is the
+PBI command sequence. Below is one example for PBI commands for RDB
+and QDS which uses SD device with block size 512. Block location can be
+calculated by dividing offset with block size.
+
+1) Block Copy: SRC=0x0040, SRC_ADDR=0x00100000, DEST_ADDR=0x1800a000,
+BLOCK_SIZE=0x00016000
+
+This command copies u-boot image from SD device into OCRAM. The values
+need to adjust accordingly for SD/eMMC
+
+SRC		should match the cfg_rcw_src, the reset config pins.
+		The value for source(SRC) can be 0x0040 or 0x0041
+		depending upon SD or eMMC.
+SRC_ADDR	is the offset of u-boot-with-spl.bin image in SD device.
+		In the example above, 1MB. This is same as QSPI-NOR.
+DEST_ADDR	is configured at 0x1800a000, matching bootloc set above.
+BLOCK_SIZE	is the size to be copied by PBI.
+
+2) CCSR 4-byte write to 0x01e00404, data=0x00000000

arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 nand write <u-boot image in memory> 80000 <size of u-boot image> · line 236

Quoted 10 lines
arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +10 -0
+3) CCSR 4-byte write to 0x01e00400, data=0x1800a000
+The above two commands set bootloc register to 0x00000000_1800a000 where
+the u-boot code will be running in OCRAM.
+
+
+RCW image should be written at 8th block of device(SD/eMMC). Example of
+using u-boot command
+
+mmc erase 0x8 0x10
+mmc write <rcw image in memory> 0x8 <size of rcw in block count typical value=10>

It is not wrong to erase the sectors first. I think we don't need to erase the SD first. The write command should just work. On the other hand, the number of blocks to be erased seems too large The RCW is normally very small (less than 1 block). Would it be more appropriate to use a smaller number as the "typical" value, such as 1?

arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 nand write <u-boot image in memory> 80000 <size of u-boot image> · line 241

Quoted 5 lines
arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +5 -0
+
+To form the SD-Boot image, build u-boot with SD config, for example,
+ls1088ardb_sdcard_qspi_defconfig. The image needed is u-boot-with-spl.bin.
+The u-boot image should be written to match SRC_ADDR, in above example
+offset 0x100000 in other work it means block location 0x800

s/work/word

If you agree, I will fix them at the time of merging.

York

#4 lore raw

PATCH v6 1/2 armv8: ls1088ardb: Add SD boot support for ls1088

-----Original Message-----
From: York Sun
Sent: Thursday, November 09, 2017 12:30 AM
To: Ashish Kumar <[email protected]>; u-boot at lists.denx.de
Cc: Prabhakar Kushwaha <[email protected]>; Raghav Dogra <[email protected]>
Subject: Re: [PATCH v6 1/2] armv8: ls1088ardb: Add SD boot support for ls1088

Quoted 63 lines · Ashish Kumar

---
v6:
Incorporation of review comments in README wrt to line wrap. Sorting defconfig with help make savedefconfig

 arch/arm/Kconfig                                   |  1 +
 arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 | 44 ++++++++++++++++++++++
 board/freescale/ls1088a/MAINTAINERS                |  1 +
 board/freescale/ls1088a/ddr.c                      |  5 ++-
 configs/ls1088ardb_sdcard_qspi_defconfig           | 41 ++++++++++++++++++++
 include/configs/ls1088a_common.h                   | 25 ++++++++++++
 include/configs/ls1088ardb.h                       | 30 ++++++++++++++-
 7 files changed, 144 insertions(+), 3 deletions(-)  create mode 

100644 configs/ls1088ardb_sdcard_qspi_defconfig

arch/arm/Kconfig index renamed from arch/arm/Kconfig +0 -0

83b7aa5..5707111 100644

arch/arm/Kconfig +1 -0
@@ -938,6 +938,7 @@ config TARGET_LS1088ARDB
 	select ARMV8_MULTIENTRY
 	select ARCH_MISC_INIT
 	select BOARD_LATE_INIT
+	select SUPPORT_SPL
 	help
 	  Support for NXP LS1088ARDB platform.
 	  The LS1088A Reference design board (RDB) is a high-performance 
arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +0 -0
index 7867c37..522760b 100644
@@ -201,6 +201,50 @@ nand write <u-boot image in memory> 80000 <size 

of u-boot image> Notice the difference from QDS is SRC, SRC_ADDR and
the offset of u-boot image to match board NAND device with 4KB/page, block size 512KB.

arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +24 -0
+Booting from SD/eMMC
+-------------------
+Booting from SD/eMMC requires two images, RCW and u-boot-with-spl.bin.
+The difference between SD boot RCW image and QSPI-NOR boot image is 
+the PBI command sequence. Below is one example for PBI commands for 
+RDB and QDS which uses SD device with block size 512. Block location 
+can be calculated by dividing offset with block size.
+
+1) Block Copy: SRC=0x0040, SRC_ADDR=0x00100000, DEST_ADDR=0x1800a000,
+BLOCK_SIZE=0x00016000
+
+This command copies u-boot image from SD device into OCRAM. The 
+values need to adjust accordingly for SD/eMMC
+
+SRC		should match the cfg_rcw_src, the reset config pins.
+		The value for source(SRC) can be 0x0040 or 0x0041
+		depending upon SD or eMMC.
+SRC_ADDR	is the offset of u-boot-with-spl.bin image in SD device.
+		In the example above, 1MB. This is same as QSPI-NOR.
+DEST_ADDR	is configured at 0x1800a000, matching bootloc set above.
+BLOCK_SIZE	is the size to be copied by PBI.
+
+2) CCSR 4-byte write to 0x01e00404, data=0x00000000
+3) CCSR 4-byte write to 0x01e00400, data=0x1800a000 The above two 

arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 nand write <u-boot image in memory> 80000 <size of u-boot image>

Quoted 10 lines
arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +10 -0
+commands set bootloc register to 0x00000000_1800a000 where the u-boot 
+code will be running in OCRAM.
+
+
+RCW image should be written at 8th block of device(SD/eMMC). Example 
+of using u-boot command
+
+mmc erase 0x8 0x10
+mmc write <rcw image in memory> 0x8 <size of rcw in block count 
+typical value=10>

It is not wrong to erase the sectors first. I think we don't need to erase the SD first. The write command should just work.

Quoted 1 line

It should work. To make is consistent with other boot types I have used this command were write preceded by erase.

On the other hand, the number of blocks to be erased seems too large The RCW is normally very small (less than 1 block). Would it be more appropriate to use a smaller number as the "typical" value, such as 1?

arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 nand write <u-boot image in memory> 80000 <size of u-boot image>

Quoted 7 lines

992256 bits are reserved for RCW as per the memory map. I just used safe value, although 1 = 512bits which is the size of RCW

arch/arm/cpu/armv8/fsl-layerscape/doc/README.lsch3 +5 -0
+
+To form the SD-Boot image, build u-boot with SD config, for example, 
+ls1088ardb_sdcard_qspi_defconfig. The image needed is u-boot-with-spl.bin.
+The u-boot image should be written to match SRC_ADDR, in above 
+example offset 0x100000 in other work it means block location 0x800

s/work/word

If you agree, I will fix them at the time of merging.

Quoted 1 line

I agree.

Regards
Ashish

York