| # 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 Common Properties | |
| 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(-(bus|external))?(@.+|-([0-9]+))?$' | |
| "#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: | |
| '@[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. | |
| 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>; | |
| }; | |
| }; |