| # 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. |
| |
| Some TSECs are 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> |
| |
| # This is needed to distinguish gianfar.yaml and gianfar-mdio.yaml, because |
| # both use compatible = "gianfar" (with different device_type values) |
| select: |
| oneOf: |
| - properties: |
| compatible: |
| contains: |
| const: gianfar |
| device_type: |
| const: mdio |
| required: |
| - device_type |
| |
| - properties: |
| compatible: |
| contains: |
| enum: |
| - fsl,gianfar-tbi |
| - fsl,gianfar-mdio |
| - fsl,etsec2-tbi |
| - fsl,etsec2-mdio |
| - fsl,ucc-mdio |
| - ucc_geth_phy |
| |
| required: |
| - compatible |
| |
| 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 |
| |
| required: |
| - reg |
| - "#address-cells" |
| - "#size-cells" |
| |
| allOf: |
| - $ref: mdio.yaml# |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: 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>; |
| }; |
| }; |
| }; |