]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: amlogic: t7: khadas-vim4: fix memory layout for 8GB RAM
authorNick Xie <nick@khadas.com>
Thu, 19 Mar 2026 02:34:46 +0000 (10:34 +0800)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 21 Apr 2026 13:46:22 +0000 (15:46 +0200)
The Khadas VIM4 features 8GB of LPDDR4X RAM. The previous memory node
mapped a single incorrect region. This caused the kernel to map MMIO
and secure firmware (ATF/TrustZone) memory holes as standard RAM,
leading to an Asynchronous SError Interrupt during early boot
(paging_init) when the kernel attempted to clear those pages.

Fix this by splitting the 8GB memory layout into three separate
regions to properly avoid the memory holes (e.g., 0xe0000000 -
0xffffffff):
- 3.5GB @ 0x000000000
- 3.5GB @ 0x100000000
- 1.0GB @ 0x200000000

Signed-off-by: Nick Xie <nick@khadas.com>
Suggested-by: Ronald Claveau <linux-kernel-dev@aliel.fr>
Link: https://patch.msgid.link/20260319023446.3422695-1-nick@khadas.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts

index fffdab96b12ebb271f3c1cbe3098c255942da24c..e7aff62366926dc2908715975e86b713ce6bb323 100644 (file)
@@ -17,7 +17,9 @@
 
        memory@0 {
                device_type = "memory";
-               reg = <0x0 0x0 0x2 0x0>; /* 8 GB */
+               reg = <0x0 0x0 0x0 0xE0000000
+                       0x1 0x0 0x0 0xE0000000
+                       0x2 0x0 0x0 0x40000000>; /* 8 GB */
        };
 
        reserved-memory {