devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs
@ 2025-04-15 11:16 Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 1/6] arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs Christian Bruel
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Fix GIC compatible and register access for STM32MP2
This serie replaces the original stm32mp25 patch:
 "arm64: dts: st: Adjust interrupt-controller for aarch64"

Changes in v2:
   - Apply fixes to stm32mp21 and stm32mp23 SoCs family

Christian Bruel (6):
  arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs
  arm64: dts: st: Use 128kB size for aliased GIC400 register access on
    stm32mp25 SoCs
  arm64: dts: st: Adjust interrupt-controller for stm32mp21 SoCs
  arm64: dts: st: Use 128kB size for aliased GIC400 register access on
    stm32mp21 SoCs
  arm64: dts: st: Adjust interrupt-controller for stm32mp23 SoCs
  arm64: dts: st: Use 128kB size for aliased GIC400 register access on
    stm32mp23 SoCs

 arch/arm64/boot/dts/st/stm32mp211.dtsi | 8 ++++----
 arch/arm64/boot/dts/st/stm32mp231.dtsi | 9 ++++-----
 arch/arm64/boot/dts/st/stm32mp251.dtsi | 9 ++++-----
 3 files changed, 12 insertions(+), 14 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/6] arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs
  2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
@ 2025-04-15 11:16 ` Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 2/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Use gic-400 compatible and remove address-cells = <1> on aarch64

Fixes: 5d30d03aaf785 ("arm64: dts: st: introduce stm32mp25 SoCs family")
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp251.dtsi | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi
index f3c6cdfd7008..379e290313dc 100644
--- a/arch/arm64/boot/dts/st/stm32mp251.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi
@@ -115,9 +115,8 @@ scmi_vdda18adc: regulator@7 {
 	};
 
 	intc: interrupt-controller@4ac00000 {
-		compatible = "arm,cortex-a7-gic";
+		compatible = "arm,gic-400";
 		#interrupt-cells = <3>;
-		#address-cells = <1>;
 		interrupt-controller;
 		reg = <0x0 0x4ac10000 0x0 0x1000>,
 		      <0x0 0x4ac20000 0x0 0x2000>,
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on stm32mp25 SoCs
  2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 1/6] arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs Christian Bruel
@ 2025-04-15 11:16 ` Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 3/6] arm64: dts: st: Adjust interrupt-controller for stm32mp21 SoCs Christian Bruel
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Adjust the size of 8kB GIC regions to 128kB so that each 4kB is mapped 16
times over a 64kB region.
The offset is then adjusted in the irq-gic driver.

see commit 12e14066f4835 ("irqchip/GIC: Add workaround for aliased GIC400")

Fixes: 5d30d03aaf785 ("arm64: dts: st: introduce stm32mp25 SoCs family")
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
Suggested-by: Marc Zyngier <maz@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
---
 arch/arm64/boot/dts/st/stm32mp251.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi
index 379e290313dc..87110f91e489 100644
--- a/arch/arm64/boot/dts/st/stm32mp251.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi
@@ -119,9 +119,9 @@ intc: interrupt-controller@4ac00000 {
 		#interrupt-cells = <3>;
 		interrupt-controller;
 		reg = <0x0 0x4ac10000 0x0 0x1000>,
-		      <0x0 0x4ac20000 0x0 0x2000>,
-		      <0x0 0x4ac40000 0x0 0x2000>,
-		      <0x0 0x4ac60000 0x0 0x2000>;
+		      <0x0 0x4ac20000 0x0 0x20000>,
+		      <0x0 0x4ac40000 0x0 0x20000>,
+		      <0x0 0x4ac60000 0x0 0x20000>;
 	};
 
 	psci {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/6] arm64: dts: st: Adjust interrupt-controller for stm32mp21 SoCs
  2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 1/6] arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 2/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
@ 2025-04-15 11:16 ` Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 4/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Use gic-400 compatible for aarch64

Fixes: 7a57b1bb1afbf ("arm64: dts: st: introduce stm32mp21 SoCs family")
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp211.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp211.dtsi b/arch/arm64/boot/dts/st/stm32mp211.dtsi
index 6dd1377f3e1d..52a8209471b8 100644
--- a/arch/arm64/boot/dts/st/stm32mp211.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp211.dtsi
@@ -116,7 +116,7 @@ syscfg: syscon@44230000 {
 		};
 
 		intc: interrupt-controller@4ac10000 {
-			compatible = "arm,cortex-a7-gic";
+			compatible = "arm,gic-400";
 			reg = <0x4ac10000 0x0 0x1000>,
 			      <0x4ac20000 0x0 0x2000>,
 			      <0x4ac40000 0x0 0x2000>,
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 4/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on stm32mp21 SoCs
  2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
                   ` (2 preceding siblings ...)
  2025-04-15 11:16 ` [PATCH v2 3/6] arm64: dts: st: Adjust interrupt-controller for stm32mp21 SoCs Christian Bruel
@ 2025-04-15 11:16 ` Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 5/6] arm64: dts: st: Adjust interrupt-controller for stm32mp23 SoCs Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 6/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
  5 siblings, 0 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Adjust the size of 8kB GIC regions to 128kB so that each 4kB is mapped
16 times over a 64kB region.
The offset is then adjusted in the irq-gic driver.

see commit 12e14066f4835 ("irqchip/GIC: Add workaround for aliased GIC400")

Fixes: 7a57b1bb1afbf ("arm64: dts: st: introduce stm32mp21 SoCs family")
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
Suggested-by: Marc Zyngier <maz@kernel.org>
---
 arch/arm64/boot/dts/st/stm32mp211.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp211.dtsi b/arch/arm64/boot/dts/st/stm32mp211.dtsi
index 52a8209471b8..bf888d60cd4f 100644
--- a/arch/arm64/boot/dts/st/stm32mp211.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp211.dtsi
@@ -118,9 +118,9 @@ syscfg: syscon@44230000 {
 		intc: interrupt-controller@4ac10000 {
 			compatible = "arm,gic-400";
 			reg = <0x4ac10000 0x0 0x1000>,
-			      <0x4ac20000 0x0 0x2000>,
-			      <0x4ac40000 0x0 0x2000>,
-			      <0x4ac60000 0x0 0x2000>;
+			      <0x4ac20000 0x0 0x20000>,
+			      <0x4ac40000 0x0 0x20000>,
+			      <0x4ac60000 0x0 0x20000>;
 			      #interrupt-cells = <3>;
 			      interrupt-controller;
 		};
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 5/6] arm64: dts: st: Adjust interrupt-controller for stm32mp23 SoCs
  2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
                   ` (3 preceding siblings ...)
  2025-04-15 11:16 ` [PATCH v2 4/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
@ 2025-04-15 11:16 ` Christian Bruel
  2025-04-15 11:16 ` [PATCH v2 6/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
  5 siblings, 0 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Use gic-400 compatible and remove address-cells = <1> for aarch64

Fixes: e9b03ef21386e ("arm64: dts: st: introduce stm32mp23 SoCs family")
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp231.dtsi | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi
index 8820d219a33e..3f73cf1d443d 100644
--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi
@@ -1201,13 +1201,12 @@ exti2: interrupt-controller@46230000 {
 		};
 
 		intc: interrupt-controller@4ac10000 {
-			compatible = "arm,cortex-a7-gic";
+			compatible = "arm,gic-400";
 			reg = <0x4ac10000 0x1000>,
 			      <0x4ac20000 0x2000>,
 			      <0x4ac40000 0x2000>,
 			      <0x4ac60000 0x2000>;
 			#interrupt-cells = <3>;
-			#address-cells = <1>;
 			interrupt-controller;
 		};
 	};
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 6/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on stm32mp23 SoCs
  2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
                   ` (4 preceding siblings ...)
  2025-04-15 11:16 ` [PATCH v2 5/6] arm64: dts: st: Adjust interrupt-controller for stm32mp23 SoCs Christian Bruel
@ 2025-04-15 11:16 ` Christian Bruel
  5 siblings, 0 replies; 7+ messages in thread
From: Christian Bruel @ 2025-04-15 11:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, mcoquelin.stm32, alexandre.torgue
  Cc: devicetree, linux-stm32, linux-arm-kernel, linux-kernel, maz,
	Christian Bruel

Adjust the size of 8kB GIC regions to 128kB so that each 4kB is mapped 16
times over a 64kB region.
The offset is then adjusted in the irq-gic driver.

see commit 12e14066f4835 ("irqchip/GIC: Add workaround for aliased GIC400")

Fixes: e9b03ef21386e ("arm64: dts: st: introduce stm32mp23 SoCs family")
Signed-off-by: Christian Bruel <christian.bruel@foss.st.com>
Suggested-by: Marc Zyngier <maz@kernel.org>
---
 arch/arm64/boot/dts/st/stm32mp231.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi
index 3f73cf1d443d..75697acd1345 100644
--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi
@@ -1203,9 +1203,9 @@ exti2: interrupt-controller@46230000 {
 		intc: interrupt-controller@4ac10000 {
 			compatible = "arm,gic-400";
 			reg = <0x4ac10000 0x1000>,
-			      <0x4ac20000 0x2000>,
-			      <0x4ac40000 0x2000>,
-			      <0x4ac60000 0x2000>;
+			      <0x4ac20000 0x20000>,
+			      <0x4ac40000 0x20000>,
+			      <0x4ac60000 0x20000>;
 			#interrupt-cells = <3>;
 			interrupt-controller;
 		};
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-04-15 11:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-15 11:16 [PATCH v2 0/6] Fix interrupt controller node for STM32MP2 SoCs Christian Bruel
2025-04-15 11:16 ` [PATCH v2 1/6] arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs Christian Bruel
2025-04-15 11:16 ` [PATCH v2 2/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
2025-04-15 11:16 ` [PATCH v2 3/6] arm64: dts: st: Adjust interrupt-controller for stm32mp21 SoCs Christian Bruel
2025-04-15 11:16 ` [PATCH v2 4/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel
2025-04-15 11:16 ` [PATCH v2 5/6] arm64: dts: st: Adjust interrupt-controller for stm32mp23 SoCs Christian Bruel
2025-04-15 11:16 ` [PATCH v2 6/6] arm64: dts: st: Use 128kB size for aliased GIC400 register access on " Christian Bruel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).