Message ID | 20250220-gianfar-yaml-v1-1-0ba97fd1ef92@posteo.net (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: Convert Gianfar (Triple Speed Ethernet Controller) bindings to YAML | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Thu, Feb 20, 2025 at 06:29:21PM +0100, J. Neuschäfer wrote: > Move the information related to the Freescale Gianfar (TSEC) MDIO bus > and the Ten-Bit Interface (TBI) from fsl-tsec-phy.txt to a new binding > file in YAML format, fsl,gianfar-mdio.yaml. > > Signed-off-by: J. Neuschäfer <j.ne@posteo.net> > --- > > dt-bindings: net: Convert fsl,gianfar-tbi to YAML > --- > .../devicetree/bindings/net/fsl,gianfar-mdio.yaml | 94 ++++++++++++++++++++++ > .../devicetree/bindings/net/fsl-tsec-phy.txt | 41 +--------- > 2 files changed, 96 insertions(+), 39 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml b/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..2dade7f48c366b7f5c7408e1f7de1a6f5fc80787 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml > @@ -0,0 +1,94 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/fsl,gianfar-mdio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale Gianfar (TSEC) MDIO Device > + > +description: > + This binding describes the MDIO is a bus to which the PHY devices are > + connected. For each device that exists on this bus, a child node should be > + created. > + > + As of this writing, every TSEC is associated with an internal Ten-Bit > + Interface (TBI) PHY. This PHY is accessed through the local MDIO bus. These > + buses are defined similarly to the mdio buses, except they are compatible > + with "fsl,gianfar-tbi". The TBI PHYs underneath them are similar to normal > + PHYs, but the reg property is considered instructive, rather than > + descriptive. The reg property should be chosen so it doesn't interfere with > + other PHYs on the bus. > + > +maintainers: > + - J. Neuschäfer <j.ne@posteo.net> > + > +properties: > + compatible: > + enum: > + - fsl,gianfar-tbi > + - fsl,gianfar-mdio > + - fsl,etsec2-tbi > + - fsl,etsec2-mdio > + - fsl,ucc-mdio > + - gianfar Can you just comment out this to avoid the duplicate issue. Though I think if you write a custom 'select' which looks for 'device_type = "mdio"' with gianfar compatible and similar in the other binding, then the warning will go away. > + - ucc_geth_phy > + > + reg: > + minItems: 1 > + items: > + - description: > + Offset and length of the register set for the device > + > + - description: > + Optionally, the offset and length of the TBIPA register (TBI PHY > + address register). If TBIPA register is not specified, the driver > + will attempt to infer it from the register set specified (your > + mileage may vary). > + > + device_type: > + const: mdio > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 These are defined in mdio.yaml, so drop them here. > + > +required: > + - reg > + - "#address-cells" > + - "#size-cells" > + > +allOf: > + - $ref: mdio.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - gianfar > + - ucc_geth_phy > + then: > + required: > + - device_type Essentially, move this to the 'select' schema and add that property device_type must be 'mdio'. You won't need it here anymore because it had to be true for the schema to be applied. > + > +unevaluatedProperties: false > + > +examples: > + - | > + soc { > + #address-cells = <1>; > + #size-cells = <1>; > + > + mdio@24520 { > + reg = <0x24520 0x20>; > + compatible = "fsl,gianfar-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethernet-phy@0 { > + reg = <0>; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt > index 9c9668c1b6a24edff7b7cf625b9f14c3cbc2e0c8..0e55e0af7d6f59cfb571dd3fcff704b7f4c140d2 100644 > --- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt > +++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt > @@ -1,47 +1,10 @@ > * MDIO IO device > > -The MDIO is a bus to which the PHY devices are connected. For each > -device that exists on this bus, a child node should be created. See > -the definition of the PHY node in booting-without-of.txt for an example > -of how to define a PHY. > - > -Required properties: > - - reg : Offset and length of the register set for the device, and optionally > - the offset and length of the TBIPA register (TBI PHY address > - register). If TBIPA register is not specified, the driver will > - attempt to infer it from the register set specified (your mileage may > - vary). > - - compatible : Should define the compatible device type for the > - mdio. Currently supported strings/devices are: > - - "fsl,gianfar-tbi" > - - "fsl,gianfar-mdio" > - - "fsl,etsec2-tbi" > - - "fsl,etsec2-mdio" > - - "fsl,ucc-mdio" > - - "fsl,fman-mdio" > - When device_type is "mdio", the following strings are also considered: > - - "gianfar" > - - "ucc_geth_phy" > - > -Example: > - > - mdio@24520 { > - reg = <24520 20>; > - compatible = "fsl,gianfar-mdio"; > - > - ethernet-phy@0 { > - ...... > - }; > - }; > +Refer to Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml > > * TBI Internal MDIO bus > > -As of this writing, every tsec is associated with an internal TBI PHY. > -This PHY is accessed through the local MDIO bus. These buses are defined > -similarly to the mdio buses, except they are compatible with "fsl,gianfar-tbi". > -The TBI PHYs underneath them are similar to normal PHYs, but the reg property > -is considered instructive, rather than descriptive. The reg property should > -be chosen so it doesn't interfere with other PHYs on the bus. > +Refer to Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml > > * Gianfar-compatible ethernet nodes > > > -- > 2.48.0.rc1.219.gb6b6757d772 >
diff --git a/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml b/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2dade7f48c366b7f5c7408e1f7de1a6f5fc80787 --- /dev/null +++ b/Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml @@ -0,0 +1,94 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/fsl,gianfar-mdio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale Gianfar (TSEC) MDIO Device + +description: + This binding describes the MDIO is a bus to which the PHY devices are + connected. For each device that exists on this bus, a child node should be + created. + + As of this writing, every TSEC is associated with an internal Ten-Bit + Interface (TBI) PHY. This PHY is accessed through the local MDIO bus. These + buses are defined similarly to the mdio buses, except they are compatible + with "fsl,gianfar-tbi". The TBI PHYs underneath them are similar to normal + PHYs, but the reg property is considered instructive, rather than + descriptive. The reg property should be chosen so it doesn't interfere with + other PHYs on the bus. + +maintainers: + - J. Neuschäfer <j.ne@posteo.net> + +properties: + compatible: + enum: + - fsl,gianfar-tbi + - fsl,gianfar-mdio + - fsl,etsec2-tbi + - fsl,etsec2-mdio + - fsl,ucc-mdio + - gianfar + - ucc_geth_phy + + reg: + minItems: 1 + items: + - description: + Offset and length of the register set for the device + + - description: + Optionally, the offset and length of the TBIPA register (TBI PHY + address register). If TBIPA register is not specified, the driver + will attempt to infer it from the register set specified (your + mileage may vary). + + device_type: + const: mdio + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +required: + - reg + - "#address-cells" + - "#size-cells" + +allOf: + - $ref: mdio.yaml# + + - if: + properties: + compatible: + contains: + enum: + - gianfar + - ucc_geth_phy + then: + required: + - device_type + +unevaluatedProperties: false + +examples: + - | + soc { + #address-cells = <1>; + #size-cells = <1>; + + mdio@24520 { + reg = <0x24520 0x20>; + compatible = "fsl,gianfar-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + ethernet-phy@0 { + reg = <0>; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt index 9c9668c1b6a24edff7b7cf625b9f14c3cbc2e0c8..0e55e0af7d6f59cfb571dd3fcff704b7f4c140d2 100644 --- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt +++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt @@ -1,47 +1,10 @@ * MDIO IO device -The MDIO is a bus to which the PHY devices are connected. For each -device that exists on this bus, a child node should be created. See -the definition of the PHY node in booting-without-of.txt for an example -of how to define a PHY. - -Required properties: - - reg : Offset and length of the register set for the device, and optionally - the offset and length of the TBIPA register (TBI PHY address - register). If TBIPA register is not specified, the driver will - attempt to infer it from the register set specified (your mileage may - vary). - - compatible : Should define the compatible device type for the - mdio. Currently supported strings/devices are: - - "fsl,gianfar-tbi" - - "fsl,gianfar-mdio" - - "fsl,etsec2-tbi" - - "fsl,etsec2-mdio" - - "fsl,ucc-mdio" - - "fsl,fman-mdio" - When device_type is "mdio", the following strings are also considered: - - "gianfar" - - "ucc_geth_phy" - -Example: - - mdio@24520 { - reg = <24520 20>; - compatible = "fsl,gianfar-mdio"; - - ethernet-phy@0 { - ...... - }; - }; +Refer to Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml * TBI Internal MDIO bus -As of this writing, every tsec is associated with an internal TBI PHY. -This PHY is accessed through the local MDIO bus. These buses are defined -similarly to the mdio buses, except they are compatible with "fsl,gianfar-tbi". -The TBI PHYs underneath them are similar to normal PHYs, but the reg property -is considered instructive, rather than descriptive. The reg property should -be chosen so it doesn't interfere with other PHYs on the bus. +Refer to Documentation/devicetree/bindings/net/fsl,gianfar-mdio.yaml * Gianfar-compatible ethernet nodes