mirror of
https://github.com/torvalds/linux.git
synced 2026-04-25 18:12:26 -04:00
Add a schema validator to nxp,sja1105.yaml and to dsa.yaml for explicit MAC-level RGMII delays. These properties must be per port and must be present only for a phy-mode that represents RGMII. We tell dsa.yaml that these port properties might be present, we also define their valid values for SJA1105. We create a common definition for the RX and TX valid range, since it's quite a mouthful. We also modify the example to include the explicit RGMII delay properties. On the fixed-link ports (in the example, port 4), having these explicit delays is actually mandatory, since with the new behavior, the driver shouts that it is interpreting what delays to apply based on phy-mode. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
118 lines
3.1 KiB
YAML
118 lines
3.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/dsa/dsa.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Ethernet Switch Device Tree Bindings
|
|
|
|
maintainers:
|
|
- Andrew Lunn <andrew@lunn.ch>
|
|
- Florian Fainelli <f.fainelli@gmail.com>
|
|
- Vivien Didelot <vivien.didelot@gmail.com>
|
|
|
|
description:
|
|
This binding represents Ethernet Switches which have a dedicated CPU
|
|
port. That port is usually connected to an Ethernet Controller of the
|
|
SoC. Such setups are typical for embedded devices.
|
|
|
|
select: false
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: "^(ethernet-)?switch(@.*)?$"
|
|
|
|
dsa,member:
|
|
minItems: 2
|
|
maxItems: 2
|
|
description:
|
|
A two element list indicates which DSA cluster, and position within the
|
|
cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
|
|
switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
|
|
(single device hanging off a CPU port) must not specify this property
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
|
|
patternProperties:
|
|
"^(ethernet-)?ports$":
|
|
type: object
|
|
properties:
|
|
'#address-cells':
|
|
const: 1
|
|
'#size-cells':
|
|
const: 0
|
|
|
|
patternProperties:
|
|
"^(ethernet-)?port@[0-9]+$":
|
|
type: object
|
|
description: Ethernet switch ports
|
|
|
|
allOf:
|
|
- $ref: "http://devicetree.org/schemas/net/ethernet-controller.yaml#"
|
|
|
|
properties:
|
|
reg:
|
|
description: Port number
|
|
|
|
label:
|
|
description:
|
|
Describes the label associated with this port, which will become
|
|
the netdev name
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
|
|
link:
|
|
description:
|
|
Should be a list of phandles to other switch's DSA port. This
|
|
port is used as the outgoing port towards the phandle ports. The
|
|
full routing information must be given, not just the one hop
|
|
routes to neighbouring switches
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
|
|
ethernet:
|
|
description:
|
|
Should be a phandle to a valid Ethernet device node. This host
|
|
device is what the switch port is connected to
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
dsa-tag-protocol:
|
|
description:
|
|
Instead of the default, the switch will use this tag protocol if
|
|
possible. Useful when a device supports multiple protocols and
|
|
the default is incompatible with the Ethernet device.
|
|
enum:
|
|
- dsa
|
|
- edsa
|
|
- ocelot
|
|
- ocelot-8021q
|
|
- seville
|
|
|
|
phy-handle: true
|
|
|
|
phy-mode: true
|
|
|
|
fixed-link: true
|
|
|
|
mac-address: true
|
|
|
|
sfp: true
|
|
|
|
managed: true
|
|
|
|
rx-internal-delay-ps: true
|
|
|
|
tx-internal-delay-ps: true
|
|
|
|
required:
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
oneOf:
|
|
- required:
|
|
- ports
|
|
- required:
|
|
- ethernet-ports
|
|
|
|
additionalProperties: true
|
|
|
|
...
|