# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/net/ethernet-phy.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Ethernet PHY Generic Binding maintainers: - Andrew Lunn - Florian Fainelli - Heiner Kallweit # The dt-schema tools will generate a select statement first by using # the compatible, and second by using the node name if any. In our # case, the node name is the one we want to match on, while the # compatible is optional. select: properties: $nodename: pattern: "^ethernet-phy(@[a-f0-9]+)?$" required: - $nodename properties: $nodename: pattern: "^ethernet-phy(@[a-f0-9]+)?$" compatible: oneOf: - const: ethernet-phy-ieee802.3-c22 description: PHYs that implement IEEE802.3 clause 22 - const: ethernet-phy-ieee802.3-c45 description: PHYs that implement IEEE802.3 clause 45 - pattern: "^ethernet-phy-id[a-f0-9]{4}\\.[a-f0-9]{4}$" description: If the PHY reports an incorrect ID (or none at all) then the compatible list may contain an entry with the correct PHY ID in the above form. The first group of digits is the 16 bit Phy Identifier 1 register, this is the chip vendor OUI bits 3:18. The second group of digits is the Phy Identifier 2 register, this is the chip vendor OUI bits 19:24, followed by 10 bits of a vendor specific ID. - items: - pattern: "^ethernet-phy-id[a-f0-9]{4}\\.[a-f0-9]{4}$" - const: ethernet-phy-ieee802.3-c45 reg: minimum: 0 maximum: 31 description: The ID number for the PHY. interrupts: maxItems: 1 max-speed: enum: - 10 - 100 - 1000 - 2500 - 5000 - 10000 - 20000 - 25000 - 40000 - 50000 - 56000 - 100000 - 200000 description: Maximum PHY supported speed in Mbits / seconds. broken-turn-around: $ref: /schemas/types.yaml#definitions/flag description: If set, indicates the PHY device does not correctly release the turn around line low at the end of a MDIO transaction. enet-phy-lane-swap: $ref: /schemas/types.yaml#definitions/flag description: If set, indicates the PHY will swap the TX/RX lanes to compensate for the board being designed with the lanes swapped. eee-broken-100tx: $ref: /schemas/types.yaml#definitions/flag description: Mark the corresponding energy efficient ethernet mode as broken and request the ethernet to stop advertising it. eee-broken-1000t: $ref: /schemas/types.yaml#definitions/flag description: Mark the corresponding energy efficient ethernet mode as broken and request the ethernet to stop advertising it. eee-broken-10gt: $ref: /schemas/types.yaml#definitions/flag description: Mark the corresponding energy efficient ethernet mode as broken and request the ethernet to stop advertising it. eee-broken-1000kx: $ref: /schemas/types.yaml#definitions/flag description: Mark the corresponding energy efficient ethernet mode as broken and request the ethernet to stop advertising it. eee-broken-10gkx4: $ref: /schemas/types.yaml#definitions/flag description: Mark the corresponding energy efficient ethernet mode as broken and request the ethernet to stop advertising it. eee-broken-10gkr: $ref: /schemas/types.yaml#definitions/flag description: Mark the corresponding energy efficient ethernet mode as broken and request the ethernet to stop advertising it. phy-is-integrated: $ref: /schemas/types.yaml#definitions/flag description: If set, indicates that the PHY is integrated into the same physical package as the Ethernet MAC. If needed, muxers should be configured to ensure the integrated PHY is used. The absence of this property indicates the muxers should be configured so that the external PHY is used. resets: maxItems: 1 reset-names: const: phy reset-gpios: maxItems: 1 description: The GPIO phandle and specifier for the PHY 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 examples: - | ethernet { #address-cells = <1>; #size-cells = <0>; ethernet-phy@0 { compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c45"; interrupt-parent = <&PIC>; interrupts = <35 1>; reg = <0>; resets = <&rst 8>; reset-names = "phy"; reset-gpios = <&gpio1 4 1>; reset-assert-us = <1000>; reset-deassert-us = <2000>; }; };