[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230107144149.5743-1-klaus.kudielka@gmail.com>
Date: Sat, 7 Jan 2023 15:41:48 +0100
From: Klaus Kudielka <klaus.kudielka@...il.com>
To: "Andrew Lunn" <andrew@...n.ch>,
"Gregory Clement" <gregory.clement@...tlin.com>,
"Sebastian Hesselbarth" <sebastian.hesselbarth@...il.com>,
"Rob Herring" <robh+dt@...nel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@...aro.org>,
Pali Rohár <pali@...nel.org>,
Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
Chris Packham <chris.packham@...iedtelesis.co.nz>,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org,
Klaus Kudielka <klaus.kudielka@...il.com>
Subject: [PATCH v2 1/2] Revert "ARM: dts: armada-38x: Fix compatible string for gpios"
This reverts commit c4de4667f15d04ef5920bacf41e514ec7d1ef03d, which causes
a regression on Turris Omnia (Armada 385): GPIO interrupts cease to work,
ending up in the DSA switch being non-functional.
The blamed commit is incorrect in the first place:
If compatible = "marvell,armadaxp-gpio", the second (address, size) pair
of the reg property must to point to the per-CPU interrupt registers
<0x18800 0x30> / <0x18840 0x30>, and not to the blink enable registers
<0x181c0 0x08> / <0x181c8 0x08>.
But even fixing that leaves the GPIO interrupts broken on the Omnia.
Furthermore:
Commit 5f79c651e81e explains very well, why the gpio-mvebu driver does not
work reliably with per-CPU interrupts.
Commit 988c8c0cd04d deprecates compatible = marvell,armadaxp-gpio for this
reason.
Fixes: c4de4667f15d ("ARM: dts: armada-38x: Fix compatible string for gpios")
Reported-by: Klaus Kudielka <klaus.kudielka@...il.com>
Link: https://lore.kernel.org/r/f24474e70c1a4e9692bd596ef6d97ceda9511245.camel@gmail.com/
Signed-off-by: Klaus Kudielka <klaus.kudielka@...il.com>
---
v1->v2: Be more explicit about the regression, and about the reg property.
arch/arm/boot/dts/armada-38x.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index 12933eff41..446861b6b1 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -304,7 +304,7 @@ spdif_pins: spdif-pins {
};
gpio0: gpio@...00 {
- compatible = "marvell,armadaxp-gpio",
+ compatible = "marvell,armada-370-gpio",
"marvell,orion-gpio";
reg = <0x18100 0x40>, <0x181c0 0x08>;
reg-names = "gpio", "pwm";
@@ -323,7 +323,7 @@ gpio0: gpio@...00 {
};
gpio1: gpio@...40 {
- compatible = "marvell,armadaxp-gpio",
+ compatible = "marvell,armada-370-gpio",
"marvell,orion-gpio";
reg = <0x18140 0x40>, <0x181c8 0x08>;
reg-names = "gpio", "pwm";
--
2.39.0
Powered by blists - more mailing lists