234 lines
5.8 KiB
YAML
234 lines
5.8 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/net/mscc,vsc7514-switch.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Microchip VSC7514 Ethernet switch controller
|
||
|
|
||
|
maintainers:
|
||
|
- Vladimir Oltean <vladimir.oltean@nxp.com>
|
||
|
- Claudiu Manoil <claudiu.manoil@nxp.com>
|
||
|
- Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||
|
|
||
|
description: |
|
||
|
Bindings for the Microchip VSC7514 switch driver
|
||
|
|
||
|
The VSC7514 switch driver handles up to 11 ports and can inject/extract
|
||
|
packets using CPU. Additionally, PTP is supported as well as FDMA for faster
|
||
|
packet extraction/injection.
|
||
|
|
||
|
allOf:
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: mscc,vsc7514-switch
|
||
|
then:
|
||
|
$ref: ethernet-switch.yaml#
|
||
|
required:
|
||
|
- interrupts
|
||
|
- interrupt-names
|
||
|
properties:
|
||
|
reg:
|
||
|
minItems: 21
|
||
|
reg-names:
|
||
|
minItems: 21
|
||
|
ethernet-ports:
|
||
|
patternProperties:
|
||
|
"^port@[0-9a-f]+$":
|
||
|
$ref: ethernet-switch-port.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: mscc,vsc7512-switch
|
||
|
then:
|
||
|
$ref: /schemas/net/dsa/dsa.yaml#
|
||
|
properties:
|
||
|
reg:
|
||
|
maxItems: 20
|
||
|
reg-names:
|
||
|
maxItems: 20
|
||
|
ethernet-ports:
|
||
|
patternProperties:
|
||
|
"^port@[0-9a-f]+$":
|
||
|
$ref: /schemas/net/dsa/dsa-port.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- mscc,vsc7512-switch
|
||
|
- mscc,vsc7514-switch
|
||
|
|
||
|
reg:
|
||
|
minItems: 20
|
||
|
items:
|
||
|
- description: system target
|
||
|
- description: rewriter target
|
||
|
- description: qs target
|
||
|
- description: PTP target
|
||
|
- description: Port0 target
|
||
|
- description: Port1 target
|
||
|
- description: Port2 target
|
||
|
- description: Port3 target
|
||
|
- description: Port4 target
|
||
|
- description: Port5 target
|
||
|
- description: Port6 target
|
||
|
- description: Port7 target
|
||
|
- description: Port8 target
|
||
|
- description: Port9 target
|
||
|
- description: Port10 target
|
||
|
- description: QSystem target
|
||
|
- description: Analyzer target
|
||
|
- description: S0 target
|
||
|
- description: S1 target
|
||
|
- description: S2 target
|
||
|
- description: fdma target
|
||
|
|
||
|
reg-names:
|
||
|
minItems: 20
|
||
|
items:
|
||
|
- const: sys
|
||
|
- const: rew
|
||
|
- const: qs
|
||
|
- const: ptp
|
||
|
- const: port0
|
||
|
- const: port1
|
||
|
- const: port2
|
||
|
- const: port3
|
||
|
- const: port4
|
||
|
- const: port5
|
||
|
- const: port6
|
||
|
- const: port7
|
||
|
- const: port8
|
||
|
- const: port9
|
||
|
- const: port10
|
||
|
- const: qsys
|
||
|
- const: ana
|
||
|
- const: s0
|
||
|
- const: s1
|
||
|
- const: s2
|
||
|
- const: fdma
|
||
|
|
||
|
interrupts:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- description: PTP ready
|
||
|
- description: register based extraction
|
||
|
- description: frame dma based extraction
|
||
|
|
||
|
interrupt-names:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- const: ptp_rdy
|
||
|
- const: xtr
|
||
|
- const: fdma
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- reg-names
|
||
|
- ethernet-ports
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
# VSC7514 (Switchdev)
|
||
|
- |
|
||
|
switch@1010000 {
|
||
|
compatible = "mscc,vsc7514-switch";
|
||
|
reg = <0x1010000 0x10000>,
|
||
|
<0x1030000 0x10000>,
|
||
|
<0x1080000 0x100>,
|
||
|
<0x10e0000 0x10000>,
|
||
|
<0x11e0000 0x100>,
|
||
|
<0x11f0000 0x100>,
|
||
|
<0x1200000 0x100>,
|
||
|
<0x1210000 0x100>,
|
||
|
<0x1220000 0x100>,
|
||
|
<0x1230000 0x100>,
|
||
|
<0x1240000 0x100>,
|
||
|
<0x1250000 0x100>,
|
||
|
<0x1260000 0x100>,
|
||
|
<0x1270000 0x100>,
|
||
|
<0x1280000 0x100>,
|
||
|
<0x1800000 0x80000>,
|
||
|
<0x1880000 0x10000>,
|
||
|
<0x1040000 0x10000>,
|
||
|
<0x1050000 0x10000>,
|
||
|
<0x1060000 0x10000>,
|
||
|
<0x1a0 0x1c4>;
|
||
|
reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",
|
||
|
"port2", "port3", "port4", "port5", "port6",
|
||
|
"port7", "port8", "port9", "port10", "qsys",
|
||
|
"ana", "s0", "s1", "s2", "fdma";
|
||
|
interrupts = <18 21 16>;
|
||
|
interrupt-names = "ptp_rdy", "xtr", "fdma";
|
||
|
|
||
|
ethernet-ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port0: port@0 {
|
||
|
reg = <0>;
|
||
|
phy-handle = <&phy0>;
|
||
|
phy-mode = "internal";
|
||
|
};
|
||
|
port1: port@1 {
|
||
|
reg = <1>;
|
||
|
phy-handle = <&phy1>;
|
||
|
phy-mode = "internal";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
# VSC7512 (DSA)
|
||
|
- |
|
||
|
ethernet-switch@1{
|
||
|
compatible = "mscc,vsc7512-switch";
|
||
|
reg = <0x71010000 0x10000>,
|
||
|
<0x71030000 0x10000>,
|
||
|
<0x71080000 0x100>,
|
||
|
<0x710e0000 0x10000>,
|
||
|
<0x711e0000 0x100>,
|
||
|
<0x711f0000 0x100>,
|
||
|
<0x71200000 0x100>,
|
||
|
<0x71210000 0x100>,
|
||
|
<0x71220000 0x100>,
|
||
|
<0x71230000 0x100>,
|
||
|
<0x71240000 0x100>,
|
||
|
<0x71250000 0x100>,
|
||
|
<0x71260000 0x100>,
|
||
|
<0x71270000 0x100>,
|
||
|
<0x71280000 0x100>,
|
||
|
<0x71800000 0x80000>,
|
||
|
<0x71880000 0x10000>,
|
||
|
<0x71040000 0x10000>,
|
||
|
<0x71050000 0x10000>,
|
||
|
<0x71060000 0x10000>;
|
||
|
reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",
|
||
|
"port2", "port3", "port4", "port5", "port6",
|
||
|
"port7", "port8", "port9", "port10", "qsys",
|
||
|
"ana", "s0", "s1", "s2";
|
||
|
|
||
|
ethernet-ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ethernet = <&mac_sw>;
|
||
|
phy-handle = <&phy0>;
|
||
|
phy-mode = "internal";
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
phy-handle = <&phy1>;
|
||
|
phy-mode = "internal";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|