~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/net/mscc,vsc7514-switch.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
  7 title: Microchip VSC7514 Ethernet switch controller
  8 
  9 maintainers:
 10   - Vladimir Oltean <vladimir.oltean@nxp.com>
 11   - Claudiu Manoil <claudiu.manoil@nxp.com>
 12   - Alexandre Belloni <alexandre.belloni@bootlin.com>
 13 
 14 description: |
 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 
 21 allOf:
 22   - if:
 23       properties:
 24         compatible:
 25           const: mscc,vsc7514-switch
 26     then:
 27       $ref: ethernet-switch.yaml#/$defs/ethernet-ports
 28       required:
 29         - interrupts
 30         - interrupt-names
 31       properties:
 32         reg:
 33           minItems: 21
 34         reg-names:
 35           minItems: 21
 36 
 37   - if:
 38       properties:
 39         compatible:
 40           const: mscc,vsc7512-switch
 41     then:
 42       $ref: /schemas/net/dsa/dsa.yaml#/$defs/ethernet-ports
 43       properties:
 44         reg:
 45           maxItems: 20
 46         reg-names:
 47           maxItems: 20
 48 
 49 properties:
 50   compatible:
 51     enum:
 52       - mscc,vsc7512-switch
 53       - mscc,vsc7514-switch
 54 
 55   reg:
 56     minItems: 20
 57     items:
 58       - description: system target
 59       - description: rewriter target
 60       - description: qs target
 61       - description: PTP target
 62       - description: Port0 target
 63       - description: Port1 target
 64       - description: Port2 target
 65       - description: Port3 target
 66       - description: Port4 target
 67       - description: Port5 target
 68       - description: Port6 target
 69       - description: Port7 target
 70       - description: Port8 target
 71       - description: Port9 target
 72       - description: Port10 target
 73       - description: QSystem target
 74       - description: Analyzer target
 75       - description: S0 target
 76       - description: S1 target
 77       - description: S2 target
 78       - description: fdma target
 79 
 80   reg-names:
 81     minItems: 20
 82     items:
 83       - const: sys
 84       - const: rew
 85       - const: qs
 86       - const: ptp
 87       - const: port0
 88       - const: port1
 89       - const: port2
 90       - const: port3
 91       - const: port4
 92       - const: port5
 93       - const: port6
 94       - const: port7
 95       - const: port8
 96       - const: port9
 97       - const: port10
 98       - const: qsys
 99       - const: ana
100       - const: s0
101       - const: s1
102       - const: s2
103       - const: fdma
104 
105   interrupts:
106     minItems: 1
107     items:
108       - description: PTP ready
109       - description: register based extraction
110       - description: frame dma based extraction
111 
112   interrupt-names:
113     minItems: 1
114     items:
115       - const: ptp_rdy
116       - const: xtr
117       - const: fdma
118 
119 required:
120   - compatible
121   - reg
122   - reg-names
123   - ethernet-ports
124 
125 unevaluatedProperties: false
126 
127 examples:
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 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php