[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1281b9c4-ff94-4dfc-a531-45e3dbee3dfe@lunn.ch>
Date: Thu, 8 May 2025 15:51:11 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Goran Radenovic <goran.radni@...il.com>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Börge Strümpfel <boerge.struempfel@...il.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v5 4/4] ARM: dts: stm32: add initial support for
stm32mp157-ultra-fly-sbc board
On Thu, May 08, 2025 at 03:10:09PM +0200, Goran Radenovic wrote:
> Hi Andrew,
>
> thank You once again for helpful hint.
>
> Andrew Lunn wrote:
> > > > > + phy-handle = <&phy1>;
> > > > > +
> > > > > + mdio {
> > > > > + #address-cells = <1>;
> > > > > + #size-cells = <0>;
> > > > > + compatible = "snps,dwmac-mdio";
> > > > > + phy1: ethernet-phy@1 {
> > > > > + reg = <1>;
> > > > > + interrupt-parent = <&gpiod>;
> > > > > + interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
> > > > PHY interrupts are 99% time level, not edge.
> > > That is correct, but I am facing strange behavior, when I set
> > > IRQ_TYPE_LEVEL_LOW.
> > > My board stops booting at:
> > >
> > > [ 2.343233] Waiting for root device /dev/mmcblk0p4...
> > > [ 12.638818] platform 5a006000.usbphyc: deferred probe pending
> > > [ 12.643192] platform 49000000.usb-otg: deferred probe pending
> > > [ 12.649029] platform 48003000.adc: deferred probe pending
> > > [ 12.654277] platform 5800d000.usb: deferred probe pending
> > > [ 12.659744] platform 5800c000.usb: deferred probe pending
> > > [ 12.665089] amba 58005000.mmc: deferred probe pending
> > > [ 12.670239] amba 58007000.mmc: deferred probe pending
> > > [ 12.675185] platform 50025000.vrefbuf: deferred probe pending
> > >
> > > I must investigate this. If You have any idea, You are welcome to share it.
> > Could be an interrupt storm. The interrupt is not getting cleared
> > because of something missing in the PHY driver, so it just fires again
> > and again.
>
> After a brief investigation, I tend to agree with your assessment that the
> issue lies in the driver—likely the stmmac driver — which is outside the
> scope of my changes.
>
> Therefore, I would suggest keeping IRQ_TYPE_EDGE_FALLING for now, or
> alternatively not using a hardware IRQ at all and falling back to polling,
> as done in stm32mp15xx-dkx.dtsi.
Since edge is wrong, please use polling.
Andrew
Powered by blists - more mailing lists