1b48b5636SClément Léger# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2b48b5636SClément Léger%YAML 1.2 3b48b5636SClément Léger--- 4b48b5636SClément Léger$id: http://devicetree.org/schemas/net/mscc,vsc7514-switch.yaml# 5b48b5636SClément Léger$schema: http://devicetree.org/meta-schemas/core.yaml# 6b48b5636SClément Léger 7b48b5636SClément Légertitle: Microchip VSC7514 Ethernet switch controller 8b48b5636SClément Léger 9b48b5636SClément Légermaintainers: 10b48b5636SClément Léger - Vladimir Oltean <vladimir.oltean@nxp.com> 11b48b5636SClément Léger - Claudiu Manoil <claudiu.manoil@nxp.com> 12b48b5636SClément Léger - Alexandre Belloni <alexandre.belloni@bootlin.com> 13b48b5636SClément Léger 14b48b5636SClément Légerdescription: | 15b48b5636SClément Léger Bindings for the Microchip VSC7514 switch driver 16b48b5636SClément Léger 17b48b5636SClément Léger The VSC7514 switch driver handles up to 11 ports and can inject/extract 18b48b5636SClément Léger packets using CPU. Additionally, PTP is supported as well as FDMA for faster 19b48b5636SClément Léger packet extraction/injection. 20b48b5636SClément Léger 21*dd43f5e7SColin FosterallOf: 22*dd43f5e7SColin Foster - if: 231f4d4ad6SColin Foster properties: 24b48b5636SClément Léger compatible: 25b48b5636SClément Léger const: mscc,vsc7514-switch 26*dd43f5e7SColin Foster then: 27*dd43f5e7SColin Foster $ref: ethernet-switch.yaml# 28*dd43f5e7SColin Foster required: 29*dd43f5e7SColin Foster - interrupts 30*dd43f5e7SColin Foster - interrupt-names 31*dd43f5e7SColin Foster properties: 32*dd43f5e7SColin Foster reg: 33*dd43f5e7SColin Foster minItems: 21 34*dd43f5e7SColin Foster reg-names: 35*dd43f5e7SColin Foster minItems: 21 36*dd43f5e7SColin Foster ethernet-ports: 37*dd43f5e7SColin Foster patternProperties: 38*dd43f5e7SColin Foster "^port@[0-9a-f]+$": 39*dd43f5e7SColin Foster $ref: ethernet-switch-port.yaml# 40*dd43f5e7SColin Foster unevaluatedProperties: false 41*dd43f5e7SColin Foster 42*dd43f5e7SColin Foster - if: 43*dd43f5e7SColin Foster properties: 44*dd43f5e7SColin Foster compatible: 45*dd43f5e7SColin Foster const: mscc,vsc7512-switch 46*dd43f5e7SColin Foster then: 47*dd43f5e7SColin Foster $ref: /schemas/net/dsa/dsa.yaml# 48*dd43f5e7SColin Foster properties: 49*dd43f5e7SColin Foster reg: 50*dd43f5e7SColin Foster maxItems: 20 51*dd43f5e7SColin Foster reg-names: 52*dd43f5e7SColin Foster maxItems: 20 53*dd43f5e7SColin Foster ethernet-ports: 54*dd43f5e7SColin Foster patternProperties: 55*dd43f5e7SColin Foster "^port@[0-9a-f]+$": 56*dd43f5e7SColin Foster $ref: /schemas/net/dsa/dsa-port.yaml# 57*dd43f5e7SColin Foster unevaluatedProperties: false 58*dd43f5e7SColin Foster 59*dd43f5e7SColin Fosterproperties: 60*dd43f5e7SColin Foster compatible: 61*dd43f5e7SColin Foster enum: 62*dd43f5e7SColin Foster - mscc,vsc7512-switch 63*dd43f5e7SColin Foster - mscc,vsc7514-switch 64b48b5636SClément Léger 65b48b5636SClément Léger reg: 66*dd43f5e7SColin Foster minItems: 20 67b48b5636SClément Léger items: 68b48b5636SClément Léger - description: system target 69b48b5636SClément Léger - description: rewriter target 70b48b5636SClément Léger - description: qs target 71b48b5636SClément Léger - description: PTP target 72b48b5636SClément Léger - description: Port0 target 73b48b5636SClément Léger - description: Port1 target 74b48b5636SClément Léger - description: Port2 target 75b48b5636SClément Léger - description: Port3 target 76b48b5636SClément Léger - description: Port4 target 77b48b5636SClément Léger - description: Port5 target 78b48b5636SClément Léger - description: Port6 target 79b48b5636SClément Léger - description: Port7 target 80b48b5636SClément Léger - description: Port8 target 81b48b5636SClément Léger - description: Port9 target 82b48b5636SClément Léger - description: Port10 target 83b48b5636SClément Léger - description: QSystem target 84b48b5636SClément Léger - description: Analyzer target 85b48b5636SClément Léger - description: S0 target 86b48b5636SClément Léger - description: S1 target 87b48b5636SClément Léger - description: S2 target 88b48b5636SClément Léger - description: fdma target 89b48b5636SClément Léger 90b48b5636SClément Léger reg-names: 91*dd43f5e7SColin Foster minItems: 20 92b48b5636SClément Léger items: 93b48b5636SClément Léger - const: sys 94b48b5636SClément Léger - const: rew 95b48b5636SClément Léger - const: qs 96b48b5636SClément Léger - const: ptp 97b48b5636SClément Léger - const: port0 98b48b5636SClément Léger - const: port1 99b48b5636SClément Léger - const: port2 100b48b5636SClément Léger - const: port3 101b48b5636SClément Léger - const: port4 102b48b5636SClément Léger - const: port5 103b48b5636SClément Léger - const: port6 104b48b5636SClément Léger - const: port7 105b48b5636SClément Léger - const: port8 106b48b5636SClément Léger - const: port9 107b48b5636SClément Léger - const: port10 108b48b5636SClément Léger - const: qsys 109b48b5636SClément Léger - const: ana 110b48b5636SClément Léger - const: s0 111b48b5636SClément Léger - const: s1 112b48b5636SClément Léger - const: s2 113b48b5636SClément Léger - const: fdma 114b48b5636SClément Léger 115b48b5636SClément Léger interrupts: 116b48b5636SClément Léger minItems: 1 117b48b5636SClément Léger items: 118b48b5636SClément Léger - description: PTP ready 119b48b5636SClément Léger - description: register based extraction 120b48b5636SClément Léger - description: frame dma based extraction 121b48b5636SClément Léger 122b48b5636SClément Léger interrupt-names: 123b48b5636SClément Léger minItems: 1 124b48b5636SClément Léger items: 125b48b5636SClément Léger - const: ptp_rdy 126b48b5636SClément Léger - const: xtr 127b48b5636SClément Léger - const: fdma 128b48b5636SClément Léger 129b48b5636SClément Légerrequired: 130b48b5636SClément Léger - compatible 131b48b5636SClément Léger - reg 132b48b5636SClément Léger - reg-names 133b48b5636SClément Léger - ethernet-ports 134b48b5636SClément Léger 135*dd43f5e7SColin FosterunevaluatedProperties: false 136b48b5636SClément Léger 137b48b5636SClément Légerexamples: 138*dd43f5e7SColin Foster # VSC7514 (Switchdev) 139b48b5636SClément Léger - | 140b48b5636SClément Léger switch@1010000 { 141b48b5636SClément Léger compatible = "mscc,vsc7514-switch"; 142b48b5636SClément Léger reg = <0x1010000 0x10000>, 143b48b5636SClément Léger <0x1030000 0x10000>, 144b48b5636SClément Léger <0x1080000 0x100>, 145b48b5636SClément Léger <0x10e0000 0x10000>, 146b48b5636SClément Léger <0x11e0000 0x100>, 147b48b5636SClément Léger <0x11f0000 0x100>, 148b48b5636SClément Léger <0x1200000 0x100>, 149b48b5636SClément Léger <0x1210000 0x100>, 150b48b5636SClément Léger <0x1220000 0x100>, 151b48b5636SClément Léger <0x1230000 0x100>, 152b48b5636SClément Léger <0x1240000 0x100>, 153b48b5636SClément Léger <0x1250000 0x100>, 154b48b5636SClément Léger <0x1260000 0x100>, 155b48b5636SClément Léger <0x1270000 0x100>, 156b48b5636SClément Léger <0x1280000 0x100>, 157b48b5636SClément Léger <0x1800000 0x80000>, 158b48b5636SClément Léger <0x1880000 0x10000>, 159b48b5636SClément Léger <0x1040000 0x10000>, 160b48b5636SClément Léger <0x1050000 0x10000>, 161b48b5636SClément Léger <0x1060000 0x10000>, 162b48b5636SClément Léger <0x1a0 0x1c4>; 163b48b5636SClément Léger reg-names = "sys", "rew", "qs", "ptp", "port0", "port1", 164b48b5636SClément Léger "port2", "port3", "port4", "port5", "port6", 165b48b5636SClément Léger "port7", "port8", "port9", "port10", "qsys", 166b48b5636SClément Léger "ana", "s0", "s1", "s2", "fdma"; 167b48b5636SClément Léger interrupts = <18 21 16>; 168b48b5636SClément Léger interrupt-names = "ptp_rdy", "xtr", "fdma"; 169b48b5636SClément Léger 170b48b5636SClément Léger ethernet-ports { 171b48b5636SClément Léger #address-cells = <1>; 172b48b5636SClément Léger #size-cells = <0>; 173b48b5636SClément Léger 174b48b5636SClément Léger port0: port@0 { 175b48b5636SClément Léger reg = <0>; 176b48b5636SClément Léger phy-handle = <&phy0>; 177b48b5636SClément Léger phy-mode = "internal"; 178b48b5636SClément Léger }; 179b48b5636SClément Léger port1: port@1 { 180b48b5636SClément Léger reg = <1>; 181b48b5636SClément Léger phy-handle = <&phy1>; 182b48b5636SClément Léger phy-mode = "internal"; 183b48b5636SClément Léger }; 184b48b5636SClément Léger }; 185b48b5636SClément Léger }; 186*dd43f5e7SColin Foster # VSC7512 (DSA) 187*dd43f5e7SColin Foster - | 188*dd43f5e7SColin Foster ethernet-switch@1{ 189*dd43f5e7SColin Foster compatible = "mscc,vsc7512-switch"; 190*dd43f5e7SColin Foster reg = <0x71010000 0x10000>, 191*dd43f5e7SColin Foster <0x71030000 0x10000>, 192*dd43f5e7SColin Foster <0x71080000 0x100>, 193*dd43f5e7SColin Foster <0x710e0000 0x10000>, 194*dd43f5e7SColin Foster <0x711e0000 0x100>, 195*dd43f5e7SColin Foster <0x711f0000 0x100>, 196*dd43f5e7SColin Foster <0x71200000 0x100>, 197*dd43f5e7SColin Foster <0x71210000 0x100>, 198*dd43f5e7SColin Foster <0x71220000 0x100>, 199*dd43f5e7SColin Foster <0x71230000 0x100>, 200*dd43f5e7SColin Foster <0x71240000 0x100>, 201*dd43f5e7SColin Foster <0x71250000 0x100>, 202*dd43f5e7SColin Foster <0x71260000 0x100>, 203*dd43f5e7SColin Foster <0x71270000 0x100>, 204*dd43f5e7SColin Foster <0x71280000 0x100>, 205*dd43f5e7SColin Foster <0x71800000 0x80000>, 206*dd43f5e7SColin Foster <0x71880000 0x10000>, 207*dd43f5e7SColin Foster <0x71040000 0x10000>, 208*dd43f5e7SColin Foster <0x71050000 0x10000>, 209*dd43f5e7SColin Foster <0x71060000 0x10000>; 210*dd43f5e7SColin Foster reg-names = "sys", "rew", "qs", "ptp", "port0", "port1", 211*dd43f5e7SColin Foster "port2", "port3", "port4", "port5", "port6", 212*dd43f5e7SColin Foster "port7", "port8", "port9", "port10", "qsys", 213*dd43f5e7SColin Foster "ana", "s0", "s1", "s2"; 214*dd43f5e7SColin Foster 215*dd43f5e7SColin Foster ethernet-ports { 216*dd43f5e7SColin Foster #address-cells = <1>; 217*dd43f5e7SColin Foster #size-cells = <0>; 218*dd43f5e7SColin Foster 219*dd43f5e7SColin Foster port@0 { 220*dd43f5e7SColin Foster reg = <0>; 221*dd43f5e7SColin Foster ethernet = <&mac_sw>; 222*dd43f5e7SColin Foster phy-handle = <&phy0>; 223*dd43f5e7SColin Foster phy-mode = "internal"; 224*dd43f5e7SColin Foster }; 225*dd43f5e7SColin Foster port@1 { 226*dd43f5e7SColin Foster reg = <1>; 227*dd43f5e7SColin Foster phy-handle = <&phy1>; 228*dd43f5e7SColin Foster phy-mode = "internal"; 229*dd43f5e7SColin Foster }; 230*dd43f5e7SColin Foster }; 231*dd43f5e7SColin Foster }; 232b48b5636SClément Léger 233b48b5636SClément Léger... 234