On Tue, Nov 06, 2018 at 11:48:30AM +0000, Florinel Iordache wrote: > Device Tree Bindings for DPAA backplane available on Layerscape > communications processors. > > Signed-off-by: Florinel Iordache <florinel.iordache@xxxxxxx> > --- > .../devicetree/bindings/net/dpaa-backplane.txt | 105 +++++++++++++++++++++ > 1 file changed, 105 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/dpaa-backplane.txt > > diff --git a/Documentation/devicetree/bindings/net/dpaa-backplane.txt b/Documentation/devicetree/bindings/net/dpaa-backplane.txt > new file mode 100644 > index 0000000..f147c84 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/dpaa-backplane.txt > @@ -0,0 +1,105 @@ > +============================================================================= > +DPAA Backplane Device Bindings > + > +CONTENTS > + - SerDes Node > + - PCS Phy Node > + > +============================================================================= > +SerDes Node > + > +DESCRIPTION > + > +SerDes (Serializer/Deserializer) HW peripheral > + Hi Florinel It is normal to indicate which properties are required, and which are optional using the section headers. There is a defacto standard for the format of a device tree binding, and this text does not follow it. > +PROPERTIES > + > +- compatible > + Usage: required > + Value type: <stringlist> > + Definition: Specifies the type of SerDes. > + Must include the prefix "fsl,serdes" > + SerDes can be of different types: > + - 10G SerDes must be specified as: "fsl,serdes-10g" > + - 28G SerDes must be specified as: "fsl,serdes-28g" Does a different driver get loaded depending on the compatible? I'm just wondering if there should be one compatible string, and a speed property. > + > +- reg > + Usage: required > + Value type: <prop-encoded-array> > + Definition: Specifies the offset of the SerDes configuration registers > + > +- little-endian > + Usage: optional > + Value type: <Boolean> > + Definition: Specifies endianness access to SerDes registers. > + If omitted, big-endian will be used > + See common-properties.txt for complete definition > + > +EXAMPLE > + > +Example of 10G SerDes node: > + > +serdes1: serdes@1ea0000 { > + compatible = "fsl,serdes-10g"; > + reg = <0x0 0x1ea0000 0 0x00002000>; > + little-endian; > +}; > + > +============================================================================= > +PCS Phy Node > + > +DESCRIPTION > + > +PCS Phy (Physical Coding Sublayer / Physical layer) node > + > +PROPERTIES > + > +- compatible > + Usage: required This is normally optional, and defaults to c22 if not present. > + Value type: <stringlist> > + Definition: A standard property. Specifies the IEEE 802.3 Clause > + Different IEEE 802.3 Clauses can be specified: > + - Clause 22 must be specified as: "ethernet-phy-ieee802.3-c22" > + - Clause 45 must be specified as: "ethernet-phy-ieee802.3-c45" > + For complete definition see: > + Documentation/devicetree/bindings/net/phy.txt > + > +- reg > + Usage: required > + Value type: <prop-encoded-array> > + Definition: A standard property. > + Specifies the offset of the PCS Phy configuration registers > + For complete definition see: > + Documentation/devicetree/bindings/net/phy.txt Rather than state what is already in phy.txt, just say that the following additional properties can be used: > + > +- backplane-mode > + Usage: required So your PHYs can only be used in backplane-mode? Base-T is never supported? > + Value type: <stringlist> > + Definition: Specifies the speed and type of the protocol used > + Different speeds and backplane protocol types can be used: > + - 10GBase-KR must be specified as: "10gbase-kr" > + - 40GBase-KR must be specified as: "40gbase-kr" I don't see why this is needed. The PHY driver should know what speeds the PHY supports. You might want to make use of the standard max-speed property to prevent it doing a high speed, because of layout issues, etc. > + > +- fsl,lane-handle > + Usage: required > + Value type: <phandle> > + Definition: Specifies the reference to a node representing the SerDes > + device > + > +- fsl,lane-reg > + Usage: required > + Value type: <prop-encoded-array> > + Definition: Specifies the offsets of the SerDes lanes configuration > + registers No other PHY driver we have needs such properties. Why are these needed? It is also a bit ununsed to post a binding without the code. Maybe the code for these two drivers will help me understand. Thanks Andrew