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