Skip to contentSkip to conversation

arm: ls102xa: Set fdt_high and initrd_high to the value of 0xffffffff

PATCH New Alison Wang 2 participants 2 messages Oct 26, 2015 – Oct 30, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm: ls102xa: Set fdt_high and initrd_high to the value of 0xffffffff

As 3G/1G user/kernel memory split is used on LS1021A, the Linux kernel fails to access the device tree blob on boot. The reason is that u-boot relocates the device tree blob into high memory when booting the kernel and the kernel is unable to access the blob.

To avoid this issue, fdt_high is set to the value of 0xffffffff. The device tree blob will not get relocated and is still in low memory to make it accessible to the kernel.

For the same reason, initrd_high is set to the value of 0xffffffff too.

---
 include/configs/ls1021atwr.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
include/configs/ls1021atwr.h +4 -4
index 784331f..d6fe020 100644
@@ -429,13 +429,13 @@
 #ifdef CONFIG_LPUART
 #define CONFIG_EXTRA_ENV_SETTINGS       \
 	"bootargs=root=/dev/ram0 rw console=ttyLP0,115200\0" \
-	"initrd_high=0xcfffffff\0"      \
-	"fdt_high=0xcfffffff\0"
+	"initrd_high=0xffffffff\0"      \
+	"fdt_high=0xffffffff\0"
 #else
 #define CONFIG_EXTRA_ENV_SETTINGS	\
 	"bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
-	"initrd_high=0xcfffffff\0"      \
-	"fdt_high=0xcfffffff\0"
+	"initrd_high=0xffffffff\0"      \
+	"fdt_high=0xffffffff\0"
 #endif
 
 /*
Signature · 1 line
2.1.0.27.g96db324
#1 lore raw

PATCH 1/1 arm: ls102xa: Set fdt_high and initrd_high to the value of 0xffffffff

Quoted 5 lines · Alison Wang

As 3G/1G user/kernel memory split is used on LS1021A, the Linux kernel fails to access the device tree blob on boot. The reason is that u-boot relocates the device tree blob into high memory when booting the kernel and the kernel is unable to access the blob.

Quoted 8 lines

To avoid this issue, fdt_high is set to the value of 0xffffffff. The device tree blob will not get relocated and is still in low memory to make it accessible to the kernel.

For the same reason, initrd_high is set to the value of 0xffffffff too.

---

Applied to u-boot-fsl-qoriq. Awaiting upstream. Thanks.

York