[v2] powerpc/fsl: Update fman dt binding with pcs-phy and tbi-phy

Igal Liberman igal.liberman at nxp.com
Mon Jan 11 20:23:59 AEDT 2016


Hi Rob,

> -----Original Message-----
> From: Rob Herring [mailto:robh at kernel.org]
> Sent: Wednesday, December 30, 2015 6:28 PM
> To: Igal Liberman <Igal.Liberman at freescale.com>
> Cc: devicetree at vger.kernel.org; linuxppc-dev at lists.ozlabs.org; Scott Wood
> <scottwood at freescale.com>; Madalin-Cristian Bucur
> <madalin.bucur at freescale.com>; shaohui.xie at freescale.com
> Subject: Re: [v2] powerpc/fsl: Update fman dt binding with pcs-phy and tbi-
> phy
> 
> On Thu, Dec 24, 2015 at 03:42:11AM +0200, igal.liberman at freescale.com
> wrote:
> > From: Igal Liberman <igal.liberman at freescale.com>
> >
> > The FMan contains internal PHY devices used for SGMII connections to
> > external PHYs. When these PHYs are in use a reference is needed for
> > both the external PHY and the internal one. For the external PHY
> > phy-handle provides the reference. For the internal PHY a new handle
> > is required.
> > In dTSEC, the internal PHY is a TBI (Ten Bit Interface) PHY, the
> > handle used will be tbi-handle.
> > In mEMAC, the internal PHY is a PCS (Physical Coding Sublayer) PHY,
> > the handle used will be pcsphy-handle.
> 
> This is fairly commom for 10G eth I think. Can't you use the common PHY
> binding here in the case without internal MDIO bus? Just because you use it
> that doesn't mean you have to use the generic phy subsystem in the kernel.
> 

mEMAC and dTSEC always have internal MDIO bus.
I was requested to use generic PHY API for internal PHY configuration by netdev, this part was accepted. 

> Perhaps phy-handle should be deprecated in favor of doing something like
> this if you need a phandle to both:
> 
> phys = <&internal-phy>, <&external-phy>;
> 

I think that pcsphy-handle and tbi-handle represent the hardware in a good way.
This is the actual name of the hardware.

> > diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
> > b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
> > index 1fc5328..55c2c03 100644
> > --- a/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
> > +++ b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
> > @@ -315,6 +315,16 @@ PROPERTIES
> >  		Value type: <phandle>
> >  		Definition: A phandle for 1EEE1588 timer.
> >
> > +- pcsphy-handle
> > +		Usage required for "fsl,fman-memac" MACs
> > +		Value type: <phandle>
> > +		Definition: A phandle for pcsphy.
> > +
> > +- tbi-handle
> > +		Usage required for "fsl,fman-dtsec" MACs
> > +		Value type: <phandle>
> > +		Definition: A phandle for tbiphy.
> > +
> >  EXAMPLE
> >
> >  fman1_tx28: port at a8000 {
> > @@ -340,6 +350,7 @@ ethernet at e0000 {
> >  	reg = <0xe0000 0x1000>;
> >  	fsl,fman-ports = <&fman1_rx8 &fman1_tx28>;
> >  	ptp-timer = <&ptp-timer>;
> > +	tbi-handle = <&tbi0>;
> 
> What does the tbi0 node contain? It should be present in the example.
> 

There is an example in under MDIO section:

mdio at e3120 {
	compatible = "fsl,fman-mdio";
	reg = <0xe3120 0xee0>;
	fsl,fman-internal-mdio;

	tbi1: tbi-phy at 8 {
		reg = <0x8>;
		device_type = "tbi-phy";
	};
};

I used different indexes to make sure that it's aligned to the other examples in the binding document.

> Rob

Thank you for your feedback, 
Igal


More information about the Linuxppc-dev mailing list