[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0ffaba97-fb41-4fd6-ae1f-f633476322ee@lunn.ch>
Date: Mon, 1 Jul 2024 21:34:25 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Marek Vasut <marex@...x.de>
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>, netdev@...r.kernel.org,
Conor Dooley <conor+dt@...nel.org>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Jakub Kicinski <kuba@...nel.org>,
Joakim Zhang <qiangqing.zhang@....com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Rob Herring <robh@...nel.org>,
devicetree@...r.kernel.org, kernel@...electronics.com
Subject: Re: [net-next,PATCH v2] dt-bindings: net: realtek,rtl82xx: Document
known PHY IDs as compatible strings
> > > properties:
> > > + compatible:
> > > + enum:
> > > + - ethernet-phy-id001c.c800
> > > + - ethernet-phy-id001c.c816
> > > + - ethernet-phy-id001c.c838
> > > + - ethernet-phy-id001c.c840
> > > + - ethernet-phy-id001c.c848
> > > + - ethernet-phy-id001c.c849
> > > + - ethernet-phy-id001c.c84a
> > > + - ethernet-phy-id001c.c862
> > > + - ethernet-phy-id001c.c878
> > > + - ethernet-phy-id001c.c880
> > > + - ethernet-phy-id001c.c910
> > > + - ethernet-phy-id001c.c912
> > > + - ethernet-phy-id001c.c913
> > > + - ethernet-phy-id001c.c914
> > > + - ethernet-phy-id001c.c915
> > > + - ethernet-phy-id001c.c916
> > > + - ethernet-phy-id001c.c942
> > > + - ethernet-phy-id001c.c961
> > > + - ethernet-phy-id001c.cad0
> > > + - ethernet-phy-id001c.cb00
> >
> > Can you please elaborate why you didn't add an
> > "ethernet-phy-ieee802.3-c22" fallback?
Sorry, missed the original email.
"ethernet-phy-ieee802.3-c22" is not a fallback. It simply states you
can talk to the PHY using clause 22. This is the default. You can also
use "ethernet-phy-ieee802.3-c45" to say use clause 45 to talk to the
PHY. So you are basically saying which protocol the device is
compatible with, not what driver the device is compatible with.
In general, you don't need a compatible. The bus will be probed and
the ID registers read. A driver matching those IDs will be found and
loaded.
If the PHY does not respond, for example because its clocks are off,
or it is held in reset, you might need to specific the values of the
ID registers in DT. The driver for those ID values will then be
loaded, and the driver can arrange to enable the clocks/reset etc. No
checking is performed if the ID values in DT match the actual
hardware, so use with caution. It is known for boards to swap for a
pin compatible PHY during the life of a product. If you don't have a
compatible, the right thing should happen. With a compatible, you
force the use of the wrong driver.
Andrew
Powered by blists - more mailing lists