Skip to contentSkip to conversation

lsxl: use 64bit for LBA48 to support 4 TB drives

PATCH New Michael Walle 2 participants 7 messages Apr 1, 2014 – May 25, 2014

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 lsxl: use 64bit for LBA48 to support 4 TB drives

Cc Prafulla Wadaskar <[email protected]>

---
Changes v2:
- none

---
 include/configs/lsxl.h |    1 +
 1 file changed, 1 insertion(+)
include/configs/lsxl.h +1 -0
index 2ae8a27..4ad5eb8 100644
@@ -160,6 +160,7 @@
 #undef CONFIG_SYS_IDE_MAXDEVICE
 #define CONFIG_SYS_IDE_MAXDEVICE	1
 #define CONFIG_SYS_ATA_IDE0_OFFSET	MV_SATA_PORT0_OFFSET
+#define CONFIG_SYS_64BIT_LBA
 #endif
 
 #endif /* _CONFIG_LSXL_H */
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 2/2 lsxl: rework boot scripts

Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb blob loading to all existing boot scripts, dtb filenames were taken from vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads a kernel and a ramdisk. Make this the default boot script. This should also restore the behaviour of the original bootloader.

Cc Prafulla Wadaskar <[email protected]>
Cc Tom Rini <[email protected]>

---
Changes v2:
- use CONFIG_CMD_FS_GENERIC and load commands (suggested by Tom Rini)
- use loadaddresses at offsets 8MB and 16MB, leaving ~8MB for the kernel please note that the kernel is copied to 0x8000 anyway.

---
 include/configs/lsxl.h |   40 +++++++++++++++++++++++++++++++---------
 1 file changed, 31 insertions(+), 9 deletions(-)
include/configs/lsxl.h +31 -9
index 4ad5eb8..45794a1 100644
@@ -65,6 +65,7 @@
 #define CONFIG_CMD_SF
 #define CONFIG_CMD_SPI
 #define CONFIG_CMD_USB
+#define CONFIG_CMD_FS_GENERIC
 
 #define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
@@ -108,20 +109,41 @@
 #define CONFIG_LOADADDR		0x00800000
 #define CONFIG_BOOTCOMMAND	"run bootcmd_${bootsource}"
 #define CONFIG_BOOTARGS		"console=ttyS0,115200 root=/dev/sda2"
+
+#if defined(CONFIG_LSXHL)
+#define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
+#elif defined(CONFIG_LSCHLV2)
+#define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
+#else
+#error "Unsupported board"
+#endif
+
 #define CONFIG_EXTRA_ENV_SETTINGS					\
-	"bootsource=hdd\0"						\
+	"bootsource=legacy\0"						\
 	"hdpart=0:1\0"							\
-	"bootcmd_net=bootp 0x00100000 uImage "				\
-		"&& tftpboot 0x00800000 uInitrd "			\
+	"kernel_addr=0x00800000\0"					\
+	"ramdisk_addr=0x01000000\0"					\
+	"fdt_addr=0x01ff0000\0"						\
+	"bootcmd_legacy=ide reset "					\
+		"&& load ide ${hdpart} 0x00100000 /uImage.buffalo "	\
+		"&& load ide ${hdpart} 0x00800000 /initrd.buffalo "	\
 		"&& bootm 0x00100000 0x00800000\0"			\
+	"bootcmd_net=bootp ${kernel_addr} uImage "			\
+		"&& tftpboot ${ramdisk_addr} uInitrd "			\
+		"&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " "		\
+		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
 	"bootcmd_hdd=ide reset "					\
-		"&& ext2load ide ${hdpart} 0x00100000 /uImage "		\
-		"&& ext2load ide ${hdpart} 0x00800000 /uInitrd "	\
-		"&& bootm 0x00100000 0x00800000\0"			\
+		"&& load ide ${hdpart} ${kernel_addr} /uImage "		\
+		"&& load ide ${hdpart} ${ramdisk_addr} /uInitrd "	\
+		"&& load ide ${hdpart} ${fdt_addr} "			\
+			"/" CONFIG_FDTFILE " "				\
+		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
 	"bootcmd_usb=usb start "					\
-		"&& fatload usb 0:1 0x00100000 /uImage "		\
-		"&& fatload usb 0:1 0x00800000 /uInitrd "		\
-		"&& bootm 0x00100000 0x00800000\0"			\
+		"&& load usb 0:1 ${kernel_addr} /uImage "		\
+		"&& load usb 0:1 ${ramdisk_addr} /uInitrd "		\
+		"&& load usb 0:1 ${fdt_addr} "				\
+			"/" CONFIG_FDTFILE " "				\
+		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
 	"bootcmd_rescue=run config_nc_dhcp; run nc\0"			\
 	"eraseenv=sf probe 0 "						\
 		"&& sf erase " __stringify(CONFIG_ENV_OFFSET)		\
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v2 2/2 lsxl: rework boot scripts

Am 2014-04-01 20:09, schrieb Michael Walle:

Quoted 13 lines

Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
blob loading to all existing boot scripts, dtb filenames were taken from
vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
a kernel and a ramdisk. Make this the default boot script. This should also
restore the behaviour of the original bootloader.

Cc Prafulla Wadaskar <[email protected]>
Cc Tom Rini <[email protected]>
Quoted 6 lines

---
Changes v2:
- use CONFIG_CMD_FS_GENERIC and load commands (suggested by Tom Rini)
- use loadaddresses at offsets 8MB and 16MB, leaving ~8MB for the
kernel
please note that the kernel is copied to 0x8000 anyway.

ping :)

#3 lore raw

PATCH v2 2/2 lsxl: rework boot scripts

In reply to Michael Walle

Am 2014-04-01 20:09, schrieb Michael Walle:

Quoted 10 lines

Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
blob loading to all existing boot scripts, dtb filenames were taken from
vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
a kernel and a ramdisk. Make this the default boot script. This should also
restore the behaviour of the original bootloader.

Quoted 3 lines
Cc Prafulla Wadaskar <[email protected]>
Cc Tom Rini <[email protected]>

ping 2

albert, could you merge this? prafulla does not seem to answer.

Signature · 1 line
michael
#4 lore raw

PATCH v2 2/2 lsxl: rework boot scripts

Am Samstag, 19. April 2014, 23:52:19 schrieb Michael Walle:

Quoted 11 lines

Am 2014-04-01 20:09, schrieb Michael Walle:

Quoted 10 lines

Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
blob loading to all existing boot scripts, dtb filenames were taken from
vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
a kernel and a ramdisk. Make this the default boot script. This should also
restore the behaviour of the original bootloader.

Quoted 7 lines
Quoted 3 lines
Cc Prafulla Wadaskar <[email protected]>
Cc Tom Rini <[email protected]>

ping 2

albert, could you merge this? prafulla does not seem to answer.

ping 3, anybody alive? :(

Signature · 1 line
michael
#5 lore raw

PATCH v2 2/2 lsxl: rework boot scripts

In reply to Michael Walle

Hi Michael,

Quoted 71 lines · Michael Walle

Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb blob loading to all existing boot scripts, dtb filenames were taken from vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads a kernel and a ramdisk. Make this the default boot script. This should also restore the behaviour of the original bootloader.

Cc Prafulla Wadaskar <[email protected]>
Cc Tom Rini <[email protected]>

---
Changes v2:
- use CONFIG_CMD_FS_GENERIC and load commands (suggested by Tom Rini)
- use loadaddresses at offsets 8MB and 16MB, leaving ~8MB for the kernel please note that the kernel is copied to 0x8000 anyway.

---
 include/configs/lsxl.h |   40 +++++++++++++++++++++++++++++++---------
 1 file changed, 31 insertions(+), 9 deletions(-)
include/configs/lsxl.h +26 -7
index 4ad5eb8..45794a1 100644
@@ -65,6 +65,7 @@
 #define CONFIG_CMD_SF
 #define CONFIG_CMD_SPI
 #define CONFIG_CMD_USB
+#define CONFIG_CMD_FS_GENERIC
 
 #define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
@@ -108,20 +109,41 @@
 #define CONFIG_LOADADDR		0x00800000
 #define CONFIG_BOOTCOMMAND	"run bootcmd_${bootsource}"
 #define CONFIG_BOOTARGS		"console=ttyS0,115200 root=/dev/sda2"
+
+#if defined(CONFIG_LSXHL)
+#define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
+#elif defined(CONFIG_LSCHLV2)
+#define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
+#else
+#error "Unsupported board"
+#endif
+
 #define CONFIG_EXTRA_ENV_SETTINGS					\
-	"bootsource=hdd\0"						\
+	"bootsource=legacy\0"						\
 	"hdpart=0:1\0"							\
-	"bootcmd_net=bootp 0x00100000 uImage "				\
-		"&& tftpboot 0x00800000 uInitrd "			\
+	"kernel_addr=0x00800000\0"					\
+	"ramdisk_addr=0x01000000\0"					\
+	"fdt_addr=0x01ff0000\0"						\
+	"bootcmd_legacy=ide reset "					\
+		"&& load ide ${hdpart} 0x00100000 /uImage.buffalo "	\
+		"&& load ide ${hdpart} 0x00800000 /initrd.buffalo "	\
 		"&& bootm 0x00100000 0x00800000\0"			\
+	"bootcmd_net=bootp ${kernel_addr} uImage "			\
+		"&& tftpboot ${ramdisk_addr} uInitrd "			\
+		"&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " "		\
+		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
 	"bootcmd_hdd=ide reset "					\
-		"&& ext2load ide ${hdpart} 0x00100000 /uImage "		\
-		"&& ext2load ide ${hdpart} 0x00800000 /uInitrd "	\
-		"&& bootm 0x00100000 0x00800000\0"			\
+		"&& load ide ${hdpart} ${kernel_addr} /uImage "		\
+		"&& load ide ${hdpart} ${ramdisk_addr} /uInitrd "	\
+		"&& load ide ${hdpart} ${fdt_addr} "			\
+			"/" CONFIG_FDTFILE " "				\
+		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
 	"bootcmd_usb=usb start "					\
-		"&& fatload usb 0:1 0x00100000 /uImage "		\

include/configs/lsxl.h line 149

Quoted 10 lines
include/configs/lsxl.h +5 -2
-		"&& fatload usb 0:1 0x00800000 /uInitrd "		\
-		"&& bootm 0x00100000 0x00800000\0"			\
+		"&& load usb 0:1 ${kernel_addr} /uImage "		\
+		"&& load usb 0:1 ${ramdisk_addr} /uInitrd "		\
+		"&& load usb 0:1 ${fdt_addr} "				\
+			"/" CONFIG_FDTFILE " "				\
+		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
 	"bootcmd_rescue=run config_nc_dhcp; run nc\0"			\
 	"eraseenv=sf probe 0 "						\
 		"&& sf erase " __stringify(CONFIG_ENV_OFFSET)		\

Applied to u-boot-arm/master, thanks!

Amicalement,

Signature · 1 line
Albert.
#6 lore raw

PATCH v2 1/2 lsxl: use 64bit for LBA48 to support 4 TB drives

In reply to Michael Walle

Hi Michael,

Quoted 14 lines · Michael Walle
Cc Prafulla Wadaskar <[email protected]>

---
Changes v2:
- none

---
 include/configs/lsxl.h |    1 +
 1 file changed, 1 insertion(+)
include/configs/lsxl.h +0 -0
index 2ae8a27..4ad5eb8 100644

include/configs/lsxl.h line 166

Quoted 7 lines
include/configs/lsxl.h +1 -0
@@ -160,6 +160,7 @@
 #undef CONFIG_SYS_IDE_MAXDEVICE
 #define CONFIG_SYS_IDE_MAXDEVICE	1
 #define CONFIG_SYS_ATA_IDE0_OFFSET	MV_SATA_PORT0_OFFSET
+#define CONFIG_SYS_64BIT_LBA
 #endif
 
 #endif /* _CONFIG_LSXL_H */

Applied to u-boot-arm/master, thanks!

Amicalement,

Signature · 1 line
Albert.