224 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/net/mscc,vsc7514-switch.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Microchip VSC7514 Ethernet switch controller8 9maintainers:10 - Vladimir Oltean <vladimir.oltean@nxp.com>11 - Claudiu Manoil <claudiu.manoil@nxp.com>12 - Alexandre Belloni <alexandre.belloni@bootlin.com>13 14description: |15 Bindings for the Microchip VSC7514 switch driver16 17 The VSC7514 switch driver handles up to 11 ports and can inject/extract18 packets using CPU. Additionally, PTP is supported as well as FDMA for faster19 packet extraction/injection.20 21allOf:22 - if:23 properties:24 compatible:25 const: mscc,vsc7514-switch26 then:27 $ref: ethernet-switch.yaml#/$defs/ethernet-ports28 required:29 - interrupts30 - interrupt-names31 properties:32 reg:33 minItems: 2134 reg-names:35 minItems: 2136 37 - if:38 properties:39 compatible:40 const: mscc,vsc7512-switch41 then:42 $ref: /schemas/net/dsa/dsa.yaml#/$defs/ethernet-ports43 properties:44 reg:45 maxItems: 2046 reg-names:47 maxItems: 2048 49properties:50 compatible:51 enum:52 - mscc,vsc7512-switch53 - mscc,vsc7514-switch54 55 reg:56 minItems: 2057 items:58 - description: system target59 - description: rewriter target60 - description: qs target61 - description: PTP target62 - description: Port0 target63 - description: Port1 target64 - description: Port2 target65 - description: Port3 target66 - description: Port4 target67 - description: Port5 target68 - description: Port6 target69 - description: Port7 target70 - description: Port8 target71 - description: Port9 target72 - description: Port10 target73 - description: QSystem target74 - description: Analyzer target75 - description: S0 target76 - description: S1 target77 - description: S2 target78 - description: fdma target79 80 reg-names:81 minItems: 2082 items:83 - const: sys84 - const: rew85 - const: qs86 - const: ptp87 - const: port088 - const: port189 - const: port290 - const: port391 - const: port492 - const: port593 - const: port694 - const: port795 - const: port896 - const: port997 - const: port1098 - const: qsys99 - const: ana100 - const: s0101 - const: s1102 - const: s2103 - const: fdma104 105 interrupts:106 minItems: 1107 items:108 - description: PTP ready109 - description: register based extraction110 - description: frame dma based extraction111 112 interrupt-names:113 minItems: 1114 items:115 - const: ptp_rdy116 - const: xtr117 - const: fdma118 119required:120 - compatible121 - reg122 - reg-names123 - ethernet-ports124 125unevaluatedProperties: false126 127examples:128 # VSC7514 (Switchdev)129 - |130 switch@1010000 {131 compatible = "mscc,vsc7514-switch";132 reg = <0x1010000 0x10000>,133 <0x1030000 0x10000>,134 <0x1080000 0x100>,135 <0x10e0000 0x10000>,136 <0x11e0000 0x100>,137 <0x11f0000 0x100>,138 <0x1200000 0x100>,139 <0x1210000 0x100>,140 <0x1220000 0x100>,141 <0x1230000 0x100>,142 <0x1240000 0x100>,143 <0x1250000 0x100>,144 <0x1260000 0x100>,145 <0x1270000 0x100>,146 <0x1280000 0x100>,147 <0x1800000 0x80000>,148 <0x1880000 0x10000>,149 <0x1040000 0x10000>,150 <0x1050000 0x10000>,151 <0x1060000 0x10000>,152 <0x1a0 0x1c4>;153 reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",154 "port2", "port3", "port4", "port5", "port6",155 "port7", "port8", "port9", "port10", "qsys",156 "ana", "s0", "s1", "s2", "fdma";157 interrupts = <18 21 16>;158 interrupt-names = "ptp_rdy", "xtr", "fdma";159 160 ethernet-ports {161 #address-cells = <1>;162 #size-cells = <0>;163 164 port0: port@0 {165 reg = <0>;166 phy-handle = <&phy0>;167 phy-mode = "internal";168 };169 port1: port@1 {170 reg = <1>;171 phy-handle = <&phy1>;172 phy-mode = "internal";173 };174 };175 };176 # VSC7512 (DSA)177 - |178 ethernet-switch@1 {179 compatible = "mscc,vsc7512-switch";180 reg = <0x71010000 0x10000>,181 <0x71030000 0x10000>,182 <0x71080000 0x100>,183 <0x710e0000 0x10000>,184 <0x711e0000 0x100>,185 <0x711f0000 0x100>,186 <0x71200000 0x100>,187 <0x71210000 0x100>,188 <0x71220000 0x100>,189 <0x71230000 0x100>,190 <0x71240000 0x100>,191 <0x71250000 0x100>,192 <0x71260000 0x100>,193 <0x71270000 0x100>,194 <0x71280000 0x100>,195 <0x71800000 0x80000>,196 <0x71880000 0x10000>,197 <0x71040000 0x10000>,198 <0x71050000 0x10000>,199 <0x71060000 0x10000>;200 reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",201 "port2", "port3", "port4", "port5", "port6",202 "port7", "port8", "port9", "port10", "qsys",203 "ana", "s0", "s1", "s2";204 205 ethernet-ports {206 #address-cells = <1>;207 #size-cells = <0>;208 209 port@0 {210 reg = <0>;211 ethernet = <&mac_sw>;212 phy-handle = <&phy0>;213 phy-mode = "internal";214 };215 port@1 {216 reg = <1>;217 phy-handle = <&phy1>;218 phy-mode = "internal";219 };220 };221 };222 223...224