[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADvTj4rO-thqYE3VZPE0B0fTTR_v=gJDAxBA3=fo501OL+qvNg@mail.gmail.com>
Date: Mon, 26 May 2025 15:08:54 -0600
From: James Hilliard <james.hilliard1@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: netdev@...r.kernel.org, linux-sunxi@...ts.linux.dev,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Chen-Yu Tsai <wens@...e.org>, Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>, Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>, Serge Semin <fancer.lancer@...il.com>,
Feiyang Chen <chenfeiyang@...ngson.cn>, Yanteng Si <si.yanteng@...ux.dev>,
Uwe Kleine-König <u.kleine-koenig@...libre.com>,
Jinjie Ruan <ruanjinjie@...wei.com>, Paul Kocialkowski <paulk@...-base.io>,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>, linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 2/3] net: stmmac: dwmac-sun8i: Allow runtime
AC200/AC300 phy selection
On Mon, May 26, 2025 at 1:56 PM Andrew Lunn <andrew@...n.ch> wrote:
>
> On Mon, May 26, 2025 at 12:29:35PM -0600, James Hilliard wrote:
> > The Allwinner H616 ships with two different on-die phy variants, in
> > order to determine the phy being used we need to read an efuse and
> > then select the appropriate PHY based on the AC300 bit.
> >
> > By defining an emac node without a phy-handle we can override the
> > default PHY selection logic in stmmac by passing a specific phy_node
> > selected based on the ac200 and ac300 names in a phys list.
>
> The normal way to do this is phy_find_first().
Sure, but there are problems with that approach here.
The initialization sequences are rather different and the devices
won't be visible on the mdio bus until after they are initialized.
The resets will be specific to either the AC200 or AC300 so we
need to choose the correct PHY based on the efuse value rather
than a mdio bus scan to avoid a circular dependency essentially.
AC200: i2c based reset/init sequence
AC300: mdio based reset/init sequence
>
> Andrew
>
Powered by blists - more mailing lists