diff mbox

[v2a,1/2] dt: Document a compatible entry for MDIO ethernet Phys

Message ID 1395267324-5788-1-git-send-email-jgunthorpe@obsidianresearch.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Jason Gunthorpe March 19, 2014, 10:15 p.m. UTC
This describes a compatible entry of the form:
  ethernet-phy-idAAAA,BBBB
Which is modelled after the PCI structured compatible entry
(pciVVVV,DDDD.SSSS.ssss.RR)

If present the OF core will be able to use this information to
directly create the correct phy without auto probing the bus.

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
---
 Documentation/devicetree/bindings/net/phy.txt | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

- Resend for net-next

Comments

Ben Dooks March 20, 2014, 8:26 a.m. UTC | #1
On 19/03/14 23:15, Jason Gunthorpe wrote:
> This describes a compatible entry of the form:
>    ethernet-phy-idAAAA,BBBB
> Which is modelled after the PCI structured compatible entry
> (pciVVVV,DDDD.SSSS.ssss.RR)
>
> If present the OF core will be able to use this information to
> directly create the correct phy without auto probing the bus.
>
> Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> Acked-by: Rob Herring <robh@kernel.org>
> Acked-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>   Documentation/devicetree/bindings/net/phy.txt | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
>
> - Resend for net-next
>
> diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
> index 58307d0..5b8c589 100644
> --- a/Documentation/devicetree/bindings/net/phy.txt
> +++ b/Documentation/devicetree/bindings/net/phy.txt
> @@ -21,10 +21,18 @@ Optional Properties:
>     elements.
>   - max-speed: Maximum PHY supported speed (10, 100, 1000...)
>
> +  If the phy's identifier is known then the list may contain an entry
> +  of the form: "ethernet-phy-idAAAA.BBBB" where
> +     AAAA - The value of the 16 bit Phy Identifier 1 register as
> +            4 hex digits. This is the chip vendor OUI bits 3:18
> +     BBBB - The value of the 16 bit Phy Identifier 2 register as
> +            4 hex digits. This is the chip vendor OUI bits 19:24,
> +            followed by 10 bits of a vendor specific ID.
> +

How about having "ethernet-phy" and adding a single property in the
PHY node saying phy-id = <AAAABBBB>, which would be much easier to
parse.

>   Example:
>
>   ethernet-phy@0 {
> -	compatible = "ethernet-phy-ieee802.3-c22";
> +	compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c22";
>   	interrupt-parent = <40000>;
>   	interrupts = <35 1>;
>   	reg = <0>;
>
Jason Gunthorpe March 20, 2014, 4:19 p.m. UTC | #2
On Thu, Mar 20, 2014 at 09:26:28AM +0100, Ben Dooks wrote:

> >+  If the phy's identifier is known then the list may contain an entry
> >+  of the form: "ethernet-phy-idAAAA.BBBB" where
> >+     AAAA - The value of the 16 bit Phy Identifier 1 register as
> >+            4 hex digits. This is the chip vendor OUI bits 3:18
> >+     BBBB - The value of the 16 bit Phy Identifier 2 register as
> >+            4 hex digits. This is the chip vendor OUI bits 19:24,
> >+            followed by 10 bits of a vendor specific ID.
> >+
> 
> How about having "ethernet-phy" and adding a single property in the
> PHY node saying phy-id = <AAAABBBB>, which would be much easier to
> parse.

That option was discussed (and my first patch was this way)..

However, using the compatible string is consistent with other OF
schemes, such as PCI which uses compatible strings like pciVVVV,DDDD
pciclass,CCSS and so on.

It does make a fair amount sense because the purpose of compatible is
to identify the device.

Jason
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller March 20, 2014, 9:10 p.m. UTC | #3
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Date: Wed, 19 Mar 2014 16:15:23 -0600

> This describes a compatible entry of the form:
>   ethernet-phy-idAAAA,BBBB
> Which is modelled after the PCI structured compatible entry
> (pciVVVV,DDDD.SSSS.ssss.RR)
> 
> If present the OF core will be able to use this information to
> directly create the correct phy without auto probing the bus.
> 
> Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> Acked-by: Rob Herring <robh@kernel.org>
> Acked-by: Florian Fainelli <f.fainelli@gmail.com>

Applied to net-next.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
index 58307d0..5b8c589 100644
--- a/Documentation/devicetree/bindings/net/phy.txt
+++ b/Documentation/devicetree/bindings/net/phy.txt
@@ -21,10 +21,18 @@  Optional Properties:
   elements.
 - max-speed: Maximum PHY supported speed (10, 100, 1000...)
 
+  If the phy's identifier is known then the list may contain an entry
+  of the form: "ethernet-phy-idAAAA.BBBB" where
+     AAAA - The value of the 16 bit Phy Identifier 1 register as
+            4 hex digits. This is the chip vendor OUI bits 3:18
+     BBBB - The value of the 16 bit Phy Identifier 2 register as
+            4 hex digits. This is the chip vendor OUI bits 19:24,
+            followed by 10 bits of a vendor specific ID.
+
 Example:
 
 ethernet-phy@0 {
-	compatible = "ethernet-phy-ieee802.3-c22";
+	compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c22";
 	interrupt-parent = <40000>;
 	interrupts = <35 1>;
 	reg = <0>;