[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN8PR12MB2852E09191C6AB6DBF7EF33AF702A@BN8PR12MB2852.namprd12.prod.outlook.com>
Date: Mon, 24 Jul 2023 13:16:30 +0000
From: "Somisetty, Pranavi" <pranavi.somisetty@....com>
To: Rob Herring <robh@...nel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>,
"krzysztof.kozlowski+dt@...aro.org"
<krzysztof.kozlowski+dt@...aro.org>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
"Simek, Michal" <michal.simek@....com>,
"Katakam, Harini" <harini.katakam@....com>,
"git (AMD-Xilinx)" <git@....com>,
"Pandey, Radhey Shyam" <radhey.shyam.pandey@....com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH v2] dt-bindings: net: xilinx_gmii2rgmii: Convert to json
schema
> -----Original Message-----
> From: Rob Herring <robh@...nel.org>
> Sent: Wednesday, July 19, 2023 11:52 PM
> To: Somisetty, Pranavi <pranavi.somisetty@....com>
> Cc: davem@...emloft.net; edumazet@...gle.com; kuba@...nel.org;
> krzysztof.kozlowski+dt@...aro.org; conor+dt@...nel.org; Simek, Michal
> <michal.simek@....com>; Katakam, Harini <harini.katakam@....com>;
> git (AMD-Xilinx) <git@....com>; Pandey, Radhey Shyam
> <radhey.shyam.pandey@....com>; netdev@...r.kernel.org; linux-
> kernel@...r.kernel.org; devicetree@...r.kernel.org; linux-arm-
> kernel@...ts.infradead.org
> 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@....com>
> > ---
> > 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@....com>
> > +
> > +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
> >
Powered by blists - more mailing lists