[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230821215500.oap7ze73pu237pof@skbuf>
Date: Tue, 22 Aug 2023 00:55:00 +0300
From: Vladimir Oltean <vladimir.oltean@....com>
To: Andrew Lunn <andrew@...n.ch>
Cc: Rob Herring <robh@...nel.org>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-phy@...ts.infradead.org,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
Heiner Kallweit <hkallweit1@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Madalin Bucur <madalin.bucur@....com>,
Ioana Ciornei <ioana.ciornei@....com>,
Camelia Groza <camelia.groza@....com>, Li Yang <leoyang.li@....com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor@...nel.org>,
Sean Anderson <sean.anderson@...o.com>,
Maxime Chevallier <maxime.chevallier@...tlin.com>,
Vinod Koul <vkoul@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>
Subject: Re: [RFC PATCH net-next 8/8] dt-bindings: net: fsl,backplane-anlt:
new binding document
On Mon, Aug 21, 2023 at 11:10:27PM +0200, Andrew Lunn wrote:
> > But, there's already something else at those MDIO registers (where the
> > standard PHY ID location is), in the MMD that the AN/LT block responds to.
> > And that would be:
> >
> > /* Auto-Negotiation Control and Status Registers are on page 0: 0x0 */
> > static const u16 mtip_lx2160a_an_regs[] = {
> > [AN_CTRL] = 0,
> > [AN_STAT] = 1,
> > [AN_ADV_0] = 2, // overlaps with MII_PHYSID1
> > [AN_ADV_1] = 3, // overlaps with MII_PHYSID2
> > [AN_ADV_2] = 4,
> > [AN_LPA_0] = 5, // overlaps with MDIO_DEVS1
> > [AN_LPA_1] = 6, // overlaps with MDIO_DEVS2
> > [AN_LPA_2] = 7,
> > [AN_MS_CNT] = 8,
> > [AN_ADV_XNP_0] = 9,
> > [AN_ADV_XNP_1] = 10,
> > [AN_ADV_XNP_2] = 11,
> > [AN_LPA_XNP_0] = 12,
> > [AN_LPA_XNP_1] = 13,
> > [AN_LPA_XNP_2] = 14,
> > [AN_BP_ETH_STAT] = 15,
> > };
> >
> > The AN advertisement registers are kinda important to the operation of
> > the driver, so I wouldn't want to mask them with fake PHY ID values
> > reported by the MDIO controller.
>
> O.K, not ideal. For C22, you could just put the ID values in the
> compatible, which is enough to get a driver loaded which supports that
> ID. But somebody recently commented that that does not work for C45. I
> assume NXP has an OUI, and could allocate an ID to this device in
> retrospect. So maybe it makes sense to make C45 work with an ID in the
> compatible? And get the driver loaded that way?
>
> Andrew
There are 2 clarification questions that I can think of right now.
Maybe more later.
First: Compatible strings per C45 MMD? Drivers per C45 MMD? Is there
supposed to be an interest in that? I might end up needing it (see the
problem description in the cover letter, with PCS and AN/LT block merged
into the same MDIO address, but responding to separate MMDs)
Second: Suppose I add something like "ethernet-phy-ieee802.3-c45-idXXXX.XXXX".
Do I replace just this with that:
compatible = "fsl,lx2160a-backplane-anlt", "ethernet-phy-ieee802.3-c45";
or also this?
compatible = "fsl,lx2160a-secondary-anlt";
I suppose it would be just the first one, but going that route would IMO
just increase the dissonance between the description of primary and
secondary AN/LT blocks. They're the same IP blocks, don't they also have
the same fake PHY ID?
Powered by blists - more mailing lists