[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADvTj4qvu+FCP1AzMx6xFsFXVuo=6s0UBCLSt7_ok3War09BNA@mail.gmail.com>
Date: Mon, 26 May 2025 13:05:14 -0600
From: James Hilliard <james.hilliard1@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: "Russell King (Oracle)" <linux@...linux.org.uk>, 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>,
Yinggang Gu <guyinggang@...ngson.cn>, Huacai Chen <chenhuacai@...nel.org>,
Yanteng Si <si.yanteng@...ux.dev>, Feiyang Chen <chenfeiyang@...ngson.cn>,
Uwe Kleine-König <u.kleine-koenig@...libre.com>,
Jinjie Ruan <ruanjinjie@...wei.com>, Paul Kocialkowski <paulk@...-base.io>,
linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 2/2] net: stmmac: dwmac-sun8i: Allow runtime
AC200/AC300 phy selection
On Mon, May 26, 2025 at 8:14 AM Andrew Lunn <andrew@...n.ch> wrote:
>
> On Mon, May 26, 2025 at 09:04:40AM +0100, Russell King (Oracle) wrote:
> > On Sun, May 25, 2025 at 06:29:22PM -0600, James Hilliard wrote:
> > > + if (!nvmem_cell_read_u16(dev, "ac300", &val)) {
> > > + const char *phy_name = (val & AC300_KEY) ? "ac300" : "ac200";
> > > + int index = of_property_match_string(dev->of_node, "phy-names", phy_name);
> > > + if (index < 0) {
> > > + dev_err(dev, "PHY name not found in device tree\n");
> > > + return -EINVAL;
> > > + }
> > > +
> > > + plat_dat->phy_node = of_parse_phandle(dev->of_node, "phys", index);
> > > + if (!plat_dat->phy_node) {
> > > + dev_err(dev, "Failed to get PHY node from phys property\n");
> > > + return -EINVAL;
> > > + }
> > > + }
> >
> > 1. You are re-using the drivers/phy binding for ethernet PHYs driven by
> > phylib here.
> > 2. You need to update
> > Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
> > in a separate patch.
>
> A real user, i.e. a patch to a .dts file, would also be good.
That will be added that down the line, for now I added an example in the docs:
https://lore.kernel.org/netdev/20250526182939.2593553-3-james.hilliard1@gmail.com/
Currently there's a few other drivers needed to fully bring up the h616 emac1
with AC200/AC300 PHY's such as PWM driver support.
i.e. this(which will also need a few additional patches for the H616
PWM variant):
https://lore.kernel.org/all/20250427142500.151925-3-privatesub2@gmail.com/
I'm currently doing most of the PHY initialization in u-boot to simplify testing
of the efuse based PHY selection logic in the kernel. I'm sending this
separately as a number of subsequent drivers for kernel side PHY
initialization will be dependent upon specific PHY's being discovered at
runtime via the ac300 efuse bit.
I've currently verified this works on AC200 and AC300 boards by checking
that the appropriate phy address is used(address 0 on AC300 and address 1
on AC200).
>
> Andrew
Powered by blists - more mailing lists