mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 23:34:00 -04:00
It is desirable that new DSA drivers are written to expect that all their ports register with phylink, and not rely on the DSA core's workarounds to skip this process. To that end, DSA is being changed to warn existing drivers when such DT blobs are in use, and to opt new drivers out of the workarounds. Introduce another layer of validation in the DSA DT schema, and assert that CPU and DSA ports must have phylink-related properties present. Suggested-by: Rob Herring <robh+dt@kernel.org> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
99 lines
2.1 KiB
YAML
99 lines
2.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-port.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Ethernet Switch port Device Tree Bindings
|
|
|
|
maintainers:
|
|
- Andrew Lunn <andrew@lunn.ch>
|
|
- Florian Fainelli <f.fainelli@gmail.com>
|
|
- Vivien Didelot <vivien.didelot@gmail.com>
|
|
|
|
description:
|
|
Ethernet switch port Description
|
|
|
|
allOf:
|
|
- $ref: /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
|
|
items:
|
|
maxItems: 1
|
|
|
|
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
|
|
- rtl8_4
|
|
- rtl8_4t
|
|
- 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
|
|
|
|
# CPU and DSA ports must have phylink-compatible link descriptions
|
|
if:
|
|
oneOf:
|
|
- required: [ ethernet ]
|
|
- required: [ link ]
|
|
then:
|
|
allOf:
|
|
- required:
|
|
- phy-mode
|
|
- oneOf:
|
|
- required:
|
|
- fixed-link
|
|
- required:
|
|
- phy-handle
|
|
- required:
|
|
- managed
|
|
|
|
additionalProperties: true
|
|
|
|
...
|