1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 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 controller 8 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 driver 16 17 The VSC7514 switch driver handles up to 11 ports and can inject/extract 18 packets using CPU. Additionally, PTP is supported as well as FDMA for faster 19 packet extraction/injection. 20 21properties: 22 $nodename: 23 pattern: "^switch@[0-9a-f]+$" 24 25 compatible: 26 const: mscc,vsc7514-switch 27 28 reg: 29 items: 30 - description: system target 31 - description: rewriter target 32 - description: qs target 33 - description: PTP target 34 - description: Port0 target 35 - description: Port1 target 36 - description: Port2 target 37 - description: Port3 target 38 - description: Port4 target 39 - description: Port5 target 40 - description: Port6 target 41 - description: Port7 target 42 - description: Port8 target 43 - description: Port9 target 44 - description: Port10 target 45 - description: QSystem target 46 - description: Analyzer target 47 - description: S0 target 48 - description: S1 target 49 - description: S2 target 50 - description: fdma target 51 52 reg-names: 53 items: 54 - const: sys 55 - const: rew 56 - const: qs 57 - const: ptp 58 - const: port0 59 - const: port1 60 - const: port2 61 - const: port3 62 - const: port4 63 - const: port5 64 - const: port6 65 - const: port7 66 - const: port8 67 - const: port9 68 - const: port10 69 - const: qsys 70 - const: ana 71 - const: s0 72 - const: s1 73 - const: s2 74 - const: fdma 75 76 interrupts: 77 minItems: 1 78 items: 79 - description: PTP ready 80 - description: register based extraction 81 - description: frame dma based extraction 82 83 interrupt-names: 84 minItems: 1 85 items: 86 - const: ptp_rdy 87 - const: xtr 88 - const: fdma 89 90 ethernet-ports: 91 type: object 92 93 properties: 94 '#address-cells': 95 const: 1 96 '#size-cells': 97 const: 0 98 99 additionalProperties: false 100 101 patternProperties: 102 "^port@[0-9a-f]+$": 103 type: object 104 description: Ethernet ports handled by the switch 105 106 $ref: ethernet-controller.yaml# 107 108 unevaluatedProperties: false 109 110 properties: 111 reg: 112 description: Switch port number 113 114 phy-handle: true 115 116 phy-mode: true 117 118 fixed-link: true 119 120 mac-address: true 121 122 required: 123 - reg 124 - phy-mode 125 126 oneOf: 127 - required: 128 - phy-handle 129 - required: 130 - fixed-link 131 132required: 133 - compatible 134 - reg 135 - reg-names 136 - interrupts 137 - interrupt-names 138 - ethernet-ports 139 140additionalProperties: false 141 142examples: 143 - | 144 switch@1010000 { 145 compatible = "mscc,vsc7514-switch"; 146 reg = <0x1010000 0x10000>, 147 <0x1030000 0x10000>, 148 <0x1080000 0x100>, 149 <0x10e0000 0x10000>, 150 <0x11e0000 0x100>, 151 <0x11f0000 0x100>, 152 <0x1200000 0x100>, 153 <0x1210000 0x100>, 154 <0x1220000 0x100>, 155 <0x1230000 0x100>, 156 <0x1240000 0x100>, 157 <0x1250000 0x100>, 158 <0x1260000 0x100>, 159 <0x1270000 0x100>, 160 <0x1280000 0x100>, 161 <0x1800000 0x80000>, 162 <0x1880000 0x10000>, 163 <0x1040000 0x10000>, 164 <0x1050000 0x10000>, 165 <0x1060000 0x10000>, 166 <0x1a0 0x1c4>; 167 reg-names = "sys", "rew", "qs", "ptp", "port0", "port1", 168 "port2", "port3", "port4", "port5", "port6", 169 "port7", "port8", "port9", "port10", "qsys", 170 "ana", "s0", "s1", "s2", "fdma"; 171 interrupts = <18 21 16>; 172 interrupt-names = "ptp_rdy", "xtr", "fdma"; 173 174 ethernet-ports { 175 #address-cells = <1>; 176 #size-cells = <0>; 177 178 port0: port@0 { 179 reg = <0>; 180 phy-handle = <&phy0>; 181 phy-mode = "internal"; 182 }; 183 port1: port@1 { 184 reg = <1>; 185 phy-handle = <&phy1>; 186 phy-mode = "internal"; 187 }; 188 }; 189 }; 190 191... 192