| # SPDX-License-Identifier: GPL-2.0 |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/mdio.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: MDIO Bus Generic Binding |
| |
| maintainers: |
| - Andrew Lunn <andrew@lunn.ch> |
| - Florian Fainelli <f.fainelli@gmail.com> |
| - Heiner Kallweit <hkallweit1@gmail.com> |
| |
| description: |
| These are generic properties that can apply to any MDIO bus. Any |
| MDIO bus must have a list of child nodes, one per device on the |
| bus. These should follow the generic ethernet-phy.yaml document, or |
| a device specific binding document. |
| |
| properties: |
| $nodename: |
| pattern: "^mdio(@.*)?" |
| |
| "#address-cells": |
| const: 1 |
| |
| "#size-cells": |
| const: 0 |
| |
| reset-gpios: |
| maxItems: 1 |
| description: |
| The phandle and specifier for the GPIO that controls the RESET |
| lines of all devices on that MDIO bus. |
| |
| reset-delay-us: |
| description: |
| RESET pulse width in microseconds. It applies to all MDIO devices |
| and must therefore be appropriately determined based on all devices |
| requirements (maximum value of all per-device RESET pulse widths). |
| |
| reset-post-delay-us: |
| description: |
| Delay after reset deassert in microseconds. It applies to all MDIO |
| devices and it's determined by how fast all devices are ready for |
| communication. This delay happens just before e.g. Ethernet PHY |
| type ID auto detection. |
| |
| clock-frequency: |
| description: |
| Desired MDIO bus clock frequency in Hz. Values greater than IEEE 802.3 |
| defined 2.5MHz should only be used when all devices on the bus support |
| the given clock speed. |
| |
| suppress-preamble: |
| description: |
| The 32 bit preamble should be suppressed. In order for this to |
| work, all devices on the bus must support suppressed preamble. |
| type: boolean |
| |
| patternProperties: |
| "^ethernet-phy@[0-9a-f]+$": |
| type: object |
| |
| properties: |
| reg: |
| minimum: 0 |
| maximum: 31 |
| description: |
| The ID number for the device. |
| |
| broken-turn-around: |
| $ref: /schemas/types.yaml#definitions/flag |
| description: |
| If set, indicates the MDIO device does not correctly release |
| the turn around line low at end of the control phase of the |
| MDIO transaction. |
| |
| resets: |
| maxItems: 1 |
| |
| reset-names: |
| const: phy |
| |
| reset-gpios: |
| maxItems: 1 |
| description: |
| The GPIO phandle and specifier for the MDIO reset signal. |
| |
| reset-assert-us: |
| description: |
| Delay after the reset was asserted in microseconds. If this |
| property is missing the delay will be skipped. |
| |
| reset-deassert-us: |
| description: |
| Delay after the reset was deasserted in microseconds. If |
| this property is missing the delay will be skipped. |
| |
| required: |
| - reg |
| |
| additionalProperties: true |
| |
| examples: |
| - | |
| davinci_mdio: mdio@5c030000 { |
| reg = <0x5c030000 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| reset-gpios = <&gpio2 5 1>; |
| reset-delay-us = <2>; |
| |
| ethphy0: ethernet-phy@1 { |
| reg = <1>; |
| }; |
| |
| ethphy1: ethernet-phy@3 { |
| reg = <3>; |
| }; |
| }; |