* [PATCH] dt: Document a compatible entry for MDIO ethernet Phys
@ 2013-12-10 19:39 Jason Gunthorpe
2014-01-08 18:37 ` Rob Herring
0 siblings, 1 reply; 4+ messages in thread
From: Jason Gunthorpe @ 2013-12-10 19:39 UTC (permalink / raw)
To: Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA
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-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
Documentation/devicetree/bindings/net/phy.txt | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
Patch to parse this compatible string to follow if this binding is
acceptable.
Please see
http://www.spinics.net/lists/devicetree/msg13175.html
For discussion and a conceptual parsing patch.
diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
index 7cd18fb..d70b535 100644
--- a/Documentation/devicetree/bindings/net/phy.txt
+++ b/Documentation/devicetree/bindings/net/phy.txt
@@ -23,10 +23,18 @@ Optional Properties:
assume clause 22. The compatible list may also contain other
elements.
+ 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";
linux,phandle = <2452000>;
interrupt-parent = <40000>;
interrupts = <35 1>;
--
1.8.1.2
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] dt: Document a compatible entry for MDIO ethernet Phys
2013-12-10 19:39 [PATCH] dt: Document a compatible entry for MDIO ethernet Phys Jason Gunthorpe
@ 2014-01-08 18:37 ` Rob Herring
[not found] ` <CAL_JsqLpWSXd44ErAs=+xYS8ESaBSY6EJEneZFYqtbpfyM4iPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Rob Herring @ 2014-01-08 18:37 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org
On Tue, Dec 10, 2013 at 1:39 PM, Jason Gunthorpe
<jgunthorpe@obsidianresearch.com> 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>
> ---
> Documentation/devicetree/bindings/net/phy.txt | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> Patch to parse this compatible string to follow if this binding is
> acceptable.
One minor comment below, otherwise:
Acked-by: Rob Herring <robh@kernel.org>
> Please see
>
> http://www.spinics.net/lists/devicetree/msg13175.html
>
> For discussion and a conceptual parsing patch.
>
> diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
> index 7cd18fb..d70b535 100644
> --- a/Documentation/devicetree/bindings/net/phy.txt
> +++ b/Documentation/devicetree/bindings/net/phy.txt
> @@ -23,10 +23,18 @@ Optional Properties:
> assume clause 22. The compatible list may also contain other
> elements.
>
> + If the phy's identifier is known then the list may contain an entry
> + of the form: "ethernet-phy-idAAAA,BBBB" where
I think this should be a period rather than a comma as we are not
separating a vendor ID from product ID.
Rob
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] dt: Document a compatible entry for MDIO ethernet Phys
[not found] ` <CAL_JsqLpWSXd44ErAs=+xYS8ESaBSY6EJEneZFYqtbpfyM4iPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-01-08 21:16 ` Jason Gunthorpe
2014-01-16 21:30 ` Rob Herring
0 siblings, 1 reply; 4+ messages in thread
From: Jason Gunthorpe @ 2014-01-08 21:16 UTC (permalink / raw)
To: Rob Herring
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
On Wed, Jan 08, 2014 at 12:37:03PM -0600, Rob Herring wrote:
> > Patch to parse this compatible string to follow if this binding is
> > acceptable.
>
> One minor comment below, otherwise:
>
> Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
K, I'll send a series hopefully in a few weeks after some travel.
> > + If the phy's identifier is known then the list may contain an entry
> > + of the form: "ethernet-phy-idAAAA,BBBB" where
>
> I think this should be a period rather than a comma as we are not
> separating a vendor ID from product ID.
OK, that makes sense.
Inspecting further, the format of the 32 bit AAAABBBB is actually
broken out into:
OUI[3:18] || OUI[19:24] || MODEL[5:0] || REV[3:0]
So a possible choice with the 'vendor ID,product ID' split is:
ethernet-phyOOOOO,MM.R
xlate is:
AAAABBBB = ((OOOOO >> 6) << 16) |
((OOOOO & 0x3f) << 10) |
(MM << 4) |
R
Which doesn't textually match the register value, or any other
phy ID constants in the kernel, however makes more sense from the
'vendor ID,product ID' angle.
Eg a Marvell 88E1310 would encode into the two options as:
ethernet-phy05043,29.0
ethernet-phy-id0141.0e90
And the kernel has constants like this:
include/linux/marvell_phy.h:#define MARVELL_PHY_ID_88E1318S 0x01410e90
In light of this detail do you still like 'ethernet-phy-id0141.0e90' ?
Thanks,
Jason
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] dt: Document a compatible entry for MDIO ethernet Phys
2014-01-08 21:16 ` Jason Gunthorpe
@ 2014-01-16 21:30 ` Rob Herring
0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2014-01-16 21:30 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org
On Wed, Jan 8, 2014 at 3:16 PM, Jason Gunthorpe
<jgunthorpe@obsidianresearch.com> wrote:
> On Wed, Jan 08, 2014 at 12:37:03PM -0600, Rob Herring wrote:
>
>> > Patch to parse this compatible string to follow if this binding is
>> > acceptable.
>>
>> One minor comment below, otherwise:
>>
>> Acked-by: Rob Herring <robh@kernel.org>
>
> K, I'll send a series hopefully in a few weeks after some travel.
>
>> > + If the phy's identifier is known then the list may contain an entry
>> > + of the form: "ethernet-phy-idAAAA,BBBB" where
>>
>> I think this should be a period rather than a comma as we are not
>> separating a vendor ID from product ID.
>
> OK, that makes sense.
>
> Inspecting further, the format of the 32 bit AAAABBBB is actually
> broken out into:
> OUI[3:18] || OUI[19:24] || MODEL[5:0] || REV[3:0]
>
> So a possible choice with the 'vendor ID,product ID' split is:
> ethernet-phyOOOOO,MM.R
>
> xlate is:
>
> AAAABBBB = ((OOOOO >> 6) << 16) |
> ((OOOOO & 0x3f) << 10) |
> (MM << 4) |
> R
>
> Which doesn't textually match the register value, or any other
> phy ID constants in the kernel, however makes more sense from the
> 'vendor ID,product ID' angle.
>
> Eg a Marvell 88E1310 would encode into the two options as:
> ethernet-phy05043,29.0
> ethernet-phy-id0141.0e90
>
> And the kernel has constants like this:
> include/linux/marvell_phy.h:#define MARVELL_PHY_ID_88E1318S 0x01410e90
>
> In light of this detail do you still like 'ethernet-phy-id0141.0e90' ?
I'm fine either way. Separating out the OUI had crossed my mind. That
probably does make the value in the DT more meaningful. Is the OUI
used anywhere in the kernel?
Rob
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-16 21:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-10 19:39 [PATCH] dt: Document a compatible entry for MDIO ethernet Phys Jason Gunthorpe
2014-01-08 18:37 ` Rob Herring
[not found] ` <CAL_JsqLpWSXd44ErAs=+xYS8ESaBSY6EJEneZFYqtbpfyM4iPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-08 21:16 ` Jason Gunthorpe
2014-01-16 21:30 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).