summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Behún <kabel@kernel.org>2021-02-21 00:11:44 +0100
committerGregory CLEMENT <gregory.clement@bootlin.com>2021-04-02 22:14:44 +0200
commita26c56ae67fa9fbb45a8a232dcd7ebaa7af16086 (patch)
treef35bdab5f07690ae8c5c10cd8a7504ada8d1c07d
parent5b2c7e0ae762fff2b172caf16b2766cc3e1ad859 (diff)
downloadlinux-a26c56ae67fa9fbb45a8a232dcd7ebaa7af16086.tar.gz
linux-a26c56ae67fa9fbb45a8a232dcd7ebaa7af16086.tar.bz2
linux-a26c56ae67fa9fbb45a8a232dcd7ebaa7af16086.zip
ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
Use the `marvell,reg-init` DT property to configure the LED[2]/INTn pin of the Marvell 88E1514 ethernet PHY on Turris Omnia into interrupt mode. Without this the pin is by default in LED[2] mode, and the Marvell PHY driver configures LED[2] into "On - Link, Blink - Activity" mode. This fixes the issue where the pca9538 GPIO/interrupt controller (which can't mask interrupts in HW) received too many interrupts and after a time started ignoring the interrupt with error message: IRQ 71: nobody cared There is a work in progress to have the Marvell PHY driver support parsing PHY LED nodes from OF and registering the LEDs as Linux LED class devices. Once this is done the PHY driver can also automatically set the pin into INTn mode if it does not find LED[2] in OF. Until then, though, we fix this via `marvell,reg-init` DT property. Signed-off-by: Marek Behún <kabel@kernel.org> Reported-by: Rui Salvaterra <rsalvaterra@gmail.com> Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia") Cc: Uwe Kleine-König <uwe@kleine-koenig.org> Cc: linux-arm-kernel@lists.infradead.org Cc: Andrew Lunn <andrew@lunn.ch> Cc: Gregory CLEMENT <gregory.clement@bootlin.com> Cc: <stable@vger.kernel.org> Tested-by: Rui Salvaterra <rsalvaterra@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
-rw-r--r--arch/arm/boot/dts/armada-385-turris-omnia.dts1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts
index dc80a909ea88..5bd6a66d2c2b 100644
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
@@ -390,6 +390,7 @@
phy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
+ marvell,reg-init = <3 18 0 0x4985>;
/* irq is connected to &pcawan pin 7 */
};