mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
dt-bindings: net: Add a YAML schemas for the generic PHY options
The networking PHYs have a number of available device tree properties that can be used in their device tree node. Add a YAML schemas for those. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> [robh: drop maxItems from reg] Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
committed by
Rob Herring
parent
9d3de3c583
commit
d8704342c1
178
Documentation/devicetree/bindings/net/ethernet-phy.yaml
Normal file
178
Documentation/devicetree/bindings/net/ethernet-phy.yaml
Normal file
@@ -0,0 +1,178 @@
|
||||
# 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 <andrew@lunn.ch>
|
||||
- Florian Fainelli <f.fainelli@gmail.com>
|
||||
- Heiner Kallweit <hkallweit1@gmail.com>
|
||||
|
||||
# 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
|
||||
- interrupts
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user