[PATCH] arm64: dts: renesas: ironhide: Describe inline ECC carveouts

Marek Vasut <[email protected]>
Newsgroups org.kernel.vger.linux-renesas-soc,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
The DBSC5 DRAM controller protects DRAM content using inline ECC.
The inline ECC utilizes areas of DRAM for its operation, which are
in the DRAM address range, but must not be accessed or modified.
Describe the inline ECC carveout areas used by the DBSC5 controller
on this hardware as reserved-memory, which must not be accessed.

In case of high DRAM utilization, unless the inline ECC carveouts
are properly reserved, Linux may use and corrupt the memory used
by the DBSC5 DRAM controller for inline ECC, which would lead to
the system becoming unstable.

Fixes: ad142a4ef710 ("arm64: dts: renesas: r8a78000: Add initial Ironhide board support")
Cc: [email protected]
Signed-off-by: Marek Vasut <[email protected]>
---
Cc: Conor Dooley <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Krzysztof Kozlowski <[email protected]>
Cc: Magnus Damm <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
 .../boot/dts/renesas/r8a78000-ironhide.dts    | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a78000-ironhide.dts b/arch/arm64/boot/dts/renesas/r8a78000-ironhide.dts
index d2b3fc08954a1..f073145a682bf 100644
--- a/arch/arm64/boot/dts/renesas/r8a78000-ironhide.dts
+++ b/arch/arm64/boot/dts/renesas/r8a78000-ironhide.dts
@@ -107,6 +107,47 @@ tee@8c400000 {
 			reg = <0x0 0x8c400000 0x0 0x02000000>;
 			no-map;
 		};
+
+		/* DRAM controller inline ECC areas */
+		ecc@10cccd0000 {
+			reg = <0x10 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@12cccd0000 {
+			reg = <0x12 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@14cccd0000 {
+			reg = <0x14 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@16cccd0000 {
+			reg = <0x16 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@18cccd0000 {
+			reg = <0x18 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@1acccd0000 {
+			reg = <0x1a 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@1ccccd0000 {
+			reg = <0x1c 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
+
+		ecc@1ecccd0000 {
+			reg = <0x1e 0xcccd0000 0x0 0x33330000>;
+			no-map;
+		};
 	};
 };
 
-- 
2.53.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.