> -----Original Message----- > From: Rob Herring <robh@xxxxxxxxxx> > Sent: Wednesday, July 19, 2023 11:52 PM > To: Somisetty, Pranavi <pranavi.somisetty@xxxxxxx> > Cc: davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx; > krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; Simek, Michal > <michal.simek@xxxxxxx>; Katakam, Harini <harini.katakam@xxxxxxx>; > git (AMD-Xilinx) <git@xxxxxxx>; Pandey, Radhey Shyam > <radhey.shyam.pandey@xxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx > Subject: Re: [PATCH v2] dt-bindings: net: xilinx_gmii2rgmii: Convert to json > schema > > On Wed, Jul 19, 2023 at 12:18:08AM -0600, Pranavi Somisetty wrote: > > Convert the Xilinx GMII to RGMII Converter device tree binding > > documentation to json schema. > > This converter is usually used as gem <---> gmii2rgmii <---> external > > phy and, it's phy-handle should point to the phandle of the external phy. > > > > Signed-off-by: Pranavi Somisetty <pranavi.somisetty@xxxxxxx> > > --- > > Changes v2: > > 1. Changed description for the property "reg". > > 2. Added a reference to the description of "phy-handle" property. > > --- > > .../bindings/net/xilinx_gmii2rgmii.txt | 35 ------------ > > .../bindings/net/xlnx,gmii-to-rgmii.yaml | 54 +++++++++++++++++++ > > 2 files changed, 54 insertions(+), 35 deletions(-) delete mode > > 100644 Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt > > create mode 100644 > > Documentation/devicetree/bindings/net/xlnx,gmii-to-rgmii.yaml > > > > diff --git > > a/Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt > > b/Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt > > deleted file mode 100644 > > index 038dda48b8e6..000000000000 > > --- a/Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt > > +++ /dev/null > > @@ -1,35 +0,0 @@ > > -XILINX GMIITORGMII Converter Driver Device Tree Bindings > > --------------------------------------------------------- > > - > > -The Gigabit Media Independent Interface (GMII) to Reduced Gigabit > > Media -Independent Interface (RGMII) core provides the RGMII between > > RGMII-compliant -Ethernet physical media devices (PHY) and the Gigabit > Ethernet controller. > > -This core can be used in all three modes of operation(10/100/1000 Mb/s). > > -The Management Data Input/Output (MDIO) interface is used to > > configure the -Speed of operation. This core can switch dynamically > > between the three -Different speed modes by configuring the conveter > register through mdio write. > > - > > -This converter sits between the ethernet MAC and the external phy. > > -MAC <==> GMII2RGMII <==> RGMII_PHY > > - > > -For more details about mdio please refer phy.txt file in the same directory. > > - > > -Required properties: > > -- compatible : Should be "xlnx,gmii-to-rgmii-1.0" > > -- reg : The ID number for the phy, usually a small integer > > -- phy-handle : Should point to the external phy device. > > - See ethernet.txt file in the same directory. > > - > > -Example: > > - mdio { > > - #address-cells = <1>; > > - #size-cells = <0>; > > - phy: ethernet-phy@0 { > > - ...... > > - }; > > - gmiitorgmii: gmiitorgmii@8 { > > - compatible = "xlnx,gmii-to-rgmii-1.0"; > > - reg = <8>; > > - phy-handle = <&phy>; > > - }; > > - }; > > diff --git > > a/Documentation/devicetree/bindings/net/xlnx,gmii-to-rgmii.yaml > > b/Documentation/devicetree/bindings/net/xlnx,gmii-to-rgmii.yaml > > new file mode 100644 > > index 000000000000..9d22382a64ba > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/xlnx,gmii-to-rgmii.yaml > > @@ -0,0 +1,54 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/xlnx,gmii-to-rgmii.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Xilinx GMII to RGMII Converter > > + > > +maintainers: > > + - Harini Katakam <harini.katakam@xxxxxxx> > > + > > +description: > > + The Gigabit Media Independent Interface (GMII) to Reduced Gigabit > > +Media > > + Independent Interface (RGMII) core provides the RGMII between > > +RGMII-compliant > > + ethernet physical media devices (PHY) and the Gigabit Ethernet > controller. > > + This core can be used in all three modes of operation(10/100/1000 > Mb/s). > > + The Management Data Input/Output (MDIO) interface is used to > > +configure the > > + speed of operation. This core can switch dynamically between the > > +three > > + different speed modes by configuring the converter register through > mdio write. > > + The core cannot function without an external phy connected to it. > > + > > +properties: > > + compatible: > > + const: xlnx,gmii-to-rgmii-1.0 > > + > > + reg: > > + minimum: 0 > > + maximum: 31 > > + description: The ID number for the phy. > > + > > + phy-handle: > > + $ref: ethernet-controller.yaml#/properties/phy-handle > > Don't reference individual properties like this. Instead add a $ref at the top > level to just "ethernet-controller.yaml#". Since this is the only property you > want from there, put a 'phy-handle: true' here and use additionalProperties > instead of unevaluatedProperties below. > Adding a top level $ref to ethernet-controller, implies, DT for gmii2rgmii, follows the schema in ethernet-controller.yaml. This is incorrect since gmii2rgmii IP isn't an ethernet controller. I'm not sure how to reference ethernet-controller.yaml from this schema. Would it be okay to add a description to the phy-handle property instead of referencing the description in ethernet-controller.yaml? Regards Pranavi > > + > > +required: > > + - compatible > > + - reg > > + - phy-handle > > + > > +unevaluatedProperties: false > > + > > +examples: > > + - | > > + mdio { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + phy: ethernet-phy@0 { > > + reg = <0>; > > + }; > > + gmiitorgmii@8 { > > + compatible = "xlnx,gmii-to-rgmii-1.0"; > > + reg = <8>; > > + phy-handle = <&phy>; > > + }; > > + }; > > -- > > 2.36.1 > >