[PATCH mvebu-dt] ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin

Rui Salvaterra rsalvaterra at gmail.com
Sun Feb 21 14:58:46 EST 2021


Hi, Marek,

On Sat, 20 Feb 2021 at 23:12, Marek Behún <kabel at kernel.org> wrote:
>
> 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 at kernel.org>
> Reported-by: Rui Salvaterra <rsalvaterra at gmail.com>
> Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
> Cc: Uwe Kleine-König <uwe at kleine-koenig.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: Andrew Lunn <andrew at lunn.ch>
> Cc: Gregory CLEMENT <gregory.clement at bootlin.com>
> Cc: <stable at vger.kernel.org>
>
> ---
>
> This patch fixes bug introduced with the commit that added Turris
> Omnia's DTS (26ca8b52d6e1), but will not apply cleanly because there is
> commit 8ee4a5f4f40d which changed node name and node compatible
> property and this commit did not go into stable.
>
> So either commit 8ee4a5f4f40d has also to go into stable before this, or
> this patch has to be fixed a little in order to apply to 4.14+.
>
> Please let me know how should I handle this.
>
> ---
>  arch/arm/boot/dts/armada-385-turris-omnia.dts | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> index 646a06420c77..b0f3fd8e1429 100644
> --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
> +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> @@ -389,6 +389,7 @@ &mdio {
>         phy1: ethernet-phy at 1 {
>                 compatible = "ethernet-phy-ieee802.3-c22";
>                 reg = <1>;
> +               marvell,reg-init = <3 18 0 0x4985>;
>
>                 /* irq is connected to &pcawan pin 7 */
>         };
> --
> 2.26.2
>

This does seem to fix the problem on my Omnia. Feel free to add my

Tested-by: Rui Salvaterra <rsalvaterra at gmail.com>

Thanks,
Rui



More information about the linux-arm-kernel mailing list