c7509950e0f9a37048812dd409555738335b5fae
[openwrt/staging/mkresin.git] / target / linux / mvebu / patches-5.10 / 101-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch
1 From: "Marek Behún" <kabel@kernel.org>
2 To: Gregory CLEMENT <gregory.clement@bootlin.com>
3 Cc: "Marek Behún" <kabel@kernel.org>, Rui Salvaterra <rsalvaterra@gmail.com>, "Uwe Kleine-König" <uwe@kleine-koenig.org>, linux-arm-kernel@lists.infradead.org, Andrew Lunn <andrew@lunn.ch>, stable@vger.kernel.org
4 Subject: [PATCH mvebu-dt] ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
5 Date: Sun, 21 Feb 2021 00:11:44 +0100
6 Message-Id: <20210220231144.32325-1-kabel@kernel.org>
7 X-Mailer: git-send-email 2.26.2
8 MIME-Version: 1.0
9 Content-Type: text/plain; charset=UTF-8
10 Content-Transfer-Encoding: 8bit
11
12 Use the `marvell,reg-init` DT property to configure the LED[2]/INTn pin
13 of the Marvell 88E1514 ethernet PHY on Turris Omnia into interrupt mode.
14
15 Without this the pin is by default in LED[2] mode, and the Marvell PHY
16 driver configures LED[2] into "On - Link, Blink - Activity" mode.
17
18 This fixes the issue where the pca9538 GPIO/interrupt controller (which
19 can't mask interrupts in HW) received too many interrupts and after a
20 time started ignoring the interrupt with error message:
21 IRQ 71: nobody cared
22
23 There is a work in progress to have the Marvell PHY driver support
24 parsing PHY LED nodes from OF and registering the LEDs as Linux LED
25 class devices. Once this is done the PHY driver can also automatically
26 set the pin into INTn mode if it does not find LED[2] in OF.
27
28 Until then, though, we fix this via `marvell,reg-init` DT property.
29
30 Signed-off-by: Marek Behún <kabel@kernel.org>
31 Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
32 Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
33 Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
34 Cc: linux-arm-kernel@lists.infradead.org
35 Cc: Andrew Lunn <andrew@lunn.ch>
36 Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
37 Cc: <stable@vger.kernel.org>
38
39 ---
40
41 This patch fixes bug introduced with the commit that added Turris
42 Omnia's DTS (26ca8b52d6e1), but will not apply cleanly because there is
43 commit 8ee4a5f4f40d which changed node name and node compatible
44 property and this commit did not go into stable.
45
46 So either commit 8ee4a5f4f40d has also to go into stable before this, or
47 this patch has to be fixed a little in order to apply to 4.14+.
48
49 Please let me know how should I handle this.
50
51 ---
52 arch/arm/boot/dts/armada-385-turris-omnia.dts | 1 +
53 1 file changed, 1 insertion(+)
54
55 --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
56 +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
57 @@ -390,6 +390,7 @@
58 phy1: ethernet-phy@1 {
59 compatible = "ethernet-phy-ieee802.3-c22";
60 reg = <1>;
61 + marvell,reg-init = <3 18 0 0x4985>;
62
63 /* irq is connected to &pcawan pin 7 */
64 };