openwrt/target/linux/mediatek/patches-5.15/946-arm64-dts-mt7986-move-dlm-in-a-dedicated-node.patch
Lorenzo Bianconi e314f7be7e mediatek: filogic: move ilm, dlm and cpu_boot in dedicated nodes
This fixes issues with legacy boot loaders that don't process reserved memory
regions outside of system RAM

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-20 21:28:19 +01:00

82 lines
2.5 KiB
Diff

From 9f76be683a8ec498563c294bc1cc279468058302 Mon Sep 17 00:00:00 2001
Message-Id: <9f76be683a8ec498563c294bc1cc279468058302.1678719283.git.lorenzo@kernel.org>
From: Lorenzo Bianconi <lorenzo@kernel.org>
Date: Mon, 13 Mar 2023 15:53:30 +0100
Subject: [PATCH net-next] arm64: dts: mt7986: move dlm in a dedicated node
Since the dlm memory region is not part of the RAM SoC, move dlm in a
deidicated syscon node.
This patch helps to keep backward-compatibility with older version of
uboot codebase where we have a limit of 8 reserved-memory dts child
nodes.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
arch/arm64/boot/dts/mediatek/mt7986a.dtsi | 30 ++++++++++++-----------
1 file changed, 16 insertions(+), 14 deletions(-)
--- a/arch/arm64/boot/dts/mediatek/mt7986a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7986a.dtsi
@@ -101,16 +101,6 @@
reg = <0 0x4fd80000 0 0x240000>;
no-map;
};
-
- wo_dlm0: wo-dlm@151e8000 {
- reg = <0 0x151e8000 0 0x2000>;
- no-map;
- };
-
- wo_dlm1: wo-dlm@151f8000 {
- reg = <0 0x151f8000 0 0x2000>;
- no-map;
- };
};
timer {
@@ -609,10 +599,11 @@
reg = <0 0x15010000 0 0x1000>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
- memory-region = <&wo_emi0>, <&wo_dlm0>, <&wo_data>;
- memory-region-names = "wo-emi", "wo-dlm", "wo-data";
+ memory-region = <&wo_emi0>, <&wo_data>;
+ memory-region-names = "wo-emi", "wo-data";
mediatek,wo-ccif = <&wo_ccif0>;
mediatek,wo-ilm = <&wo_ilm0>;
+ mediatek,wo-dlm = <&wo_dlm0>;
mediatek,wo-cpuboot = <&wo_cpuboot>;
};
@@ -622,10 +613,11 @@
reg = <0 0x15011000 0 0x1000>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
- memory-region = <&wo_emi1>, <&wo_dlm1>, <&wo_data>;
- memory-region-names = "wo-emi", "wo-dlm", "wo-data";
+ memory-region = <&wo_emi1>, <&wo_data>;
+ memory-region-names = "wo-emi", "wo-data";
mediatek,wo-ccif = <&wo_ccif1>;
mediatek,wo-ilm = <&wo_ilm1>;
+ mediatek,wo-dlm = <&wo_dlm1>;
mediatek,wo-cpuboot = <&wo_cpuboot>;
};
@@ -653,6 +645,16 @@
reg = <0 0x151f0000 0 0x8000>;
};
+ wo_dlm0: syscon@151e8000 {
+ compatible = "mediatek,mt7986-wo-dlm", "syscon";
+ reg = <0 0x151e8000 0 0x2000>;
+ };
+
+ wo_dlm1: syscon@151f8000 {
+ compatible = "mediatek,mt7986-wo-dlm", "syscon";
+ reg = <0 0x151f8000 0 0x2000>;
+ };
+
wo_cpuboot: syscon@15194000 {
compatible = "mediatek,mt7986-wo-cpuboot", "syscon";
reg = <0 0x15194000 0 0x1000>;