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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/net/microchip,sparx5-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/microchip,sparx5-switch.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Microchip Sparx5 Ethernet switch controller
  8 
  9 maintainers:
 10   - Steen Hegelund <steen.hegelund@microchip.com>
 11   - Lars Povlsen <lars.povlsen@microchip.com>
 12 
 13 description: |
 14   The SparX-5 Enterprise Ethernet switch family provides a rich set of
 15   Enterprise switching features such as advanced TCAM-based VLAN and
 16   QoS processing enabling delivery of differentiated services, and
 17   security through TCAM-based frame processing using versatile content
 18   aware processor (VCAP).
 19 
 20   IPv4/IPv6 Layer 3 (L3) unicast and multicast routing is supported
 21   with up to 18K IPv4/9K IPv6 unicast LPM entries and up to 9K IPv4/3K
 22   IPv6 (S,G) multicast groups.
 23 
 24   L3 security features include source guard and reverse path
 25   forwarding (uRPF) tasks. Additional L3 features include VRF-Lite and
 26   IP tunnels (IP over GRE/IP).
 27 
 28   The SparX-5 switch family targets managed Layer 2 and Layer 3
 29   equipment in SMB, SME, and Enterprise where high port count
 30   1G/2.5G/5G/10G switching with 10G/25G aggregation links is required.
 31 
 32 properties:
 33   $nodename:
 34     pattern: "^switch@[0-9a-f]+$"
 35 
 36   compatible:
 37     const: microchip,sparx5-switch
 38 
 39   reg:
 40     items:
 41       - description: cpu target
 42       - description: devices target
 43       - description: general control block target
 44 
 45   reg-names:
 46     items:
 47       - const: cpu
 48       - const: devices
 49       - const: gcb
 50 
 51   interrupts:
 52     minItems: 1
 53     items:
 54       - description: register based extraction
 55       - description: frame dma based extraction
 56       - description: ptp interrupt
 57 
 58   interrupt-names:
 59     minItems: 1
 60     items:
 61       - const: xtr
 62       - const: fdma
 63       - const: ptp
 64 
 65   resets:
 66     items:
 67       - description: Reset controller used for switch core reset (soft reset)
 68 
 69   reset-names:
 70     items:
 71       - const: switch
 72 
 73   mac-address: true
 74 
 75   ethernet-ports:
 76     type: object
 77     additionalProperties: false
 78 
 79     properties:
 80       '#address-cells':
 81         const: 1
 82       '#size-cells':
 83         const: 0
 84 
 85     patternProperties:
 86       "^port@[0-9a-f]+$":
 87         $ref: /schemas/net/ethernet-controller.yaml#
 88         unevaluatedProperties: false
 89 
 90         properties:
 91           reg:
 92             description: Switch port number
 93 
 94           phys:
 95             maxItems: 1
 96             description:
 97               phandle of a Ethernet SerDes PHY.  This defines which SerDes
 98               instance will handle the Ethernet traffic.
 99 
100           microchip,bandwidth:
101             description: Specifies bandwidth in Mbit/s allocated to the port.
102             $ref: /schemas/types.yaml#/definitions/uint32
103             maximum: 25000
104 
105           microchip,sd-sgpio:
106             description:
107               Index of the ports Signal Detect SGPIO in the set of 384 SGPIOs
108               This is optional, and only needed if the default used index is
109               is not correct.
110             $ref: /schemas/types.yaml#/definitions/uint32
111             minimum: 0
112             maximum: 383
113 
114         required:
115           - reg
116           - phys
117           - phy-mode
118           - microchip,bandwidth
119 
120         oneOf:
121           - required:
122               - phy-handle
123           - required:
124               - sfp
125               - managed
126 
127 required:
128   - compatible
129   - reg
130   - reg-names
131   - interrupts
132   - interrupt-names
133   - ethernet-ports
134 
135 additionalProperties: false
136 
137 examples:
138   - |
139     #include <dt-bindings/interrupt-controller/arm-gic.h>
140     switch: switch@600000000 {
141       compatible = "microchip,sparx5-switch";
142       reg =  <0 0x401000>,
143              <0x10004000 0x7fc000>,
144              <0x11010000 0xaf0000>;
145       reg-names = "cpu", "devices", "gcb";
146       interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
147       interrupt-names = "xtr";
148       resets = <&reset 0>;
149       reset-names = "switch";
150       ethernet-ports {
151         #address-cells = <1>;
152         #size-cells = <0>;
153 
154         port0: port@0 {
155           reg = <0>;
156           microchip,bandwidth = <1000>;
157           phys = <&serdes 13>;
158           phy-handle = <&phy0>;
159           phy-mode = "qsgmii";
160         };
161         /* ... */
162         /* Then the 25G interfaces */
163         port60: port@60 {
164           reg = <60>;
165           microchip,bandwidth = <25000>;
166           phys = <&serdes 29>;
167           phy-mode = "10gbase-r";
168           sfp = <&sfp_eth60>;
169           managed = "in-band-status";
170           microchip,sd-sgpio = <365>;
171         };
172         port61: port@61 {
173           reg = <61>;
174           microchip,bandwidth = <25000>;
175           phys = <&serdes 30>;
176           phy-mode = "10gbase-r";
177           sfp = <&sfp_eth61>;
178           managed = "in-band-status";
179           microchip,sd-sgpio = <369>;
180         };
181         port62: port@62 {
182           reg = <62>;
183           microchip,bandwidth = <25000>;
184           phys = <&serdes 31>;
185           phy-mode = "10gbase-r";
186           sfp = <&sfp_eth62>;
187           managed = "in-band-status";
188           microchip,sd-sgpio = <373>;
189         };
190         port63: port@63 {
191           reg = <63>;
192           microchip,bandwidth = <25000>;
193           phys = <&serdes 32>;
194           phy-mode = "10gbase-r";
195           sfp = <&sfp_eth63>;
196           managed = "in-band-status";
197           microchip,sd-sgpio = <377>;
198         };
199         /* Finally the Management interface */
200         port64: port@64 {
201           reg = <64>;
202           microchip,bandwidth = <1000>;
203           phys = <&serdes 0>;
204           phy-handle = <&phy64>;
205           phy-mode = "sgmii";
206           mac-address = [ 00 00 00 01 02 03 ];
207         };
208       };
209     };
210 
211 ...
212 #  vim: set ts=2 sw=2 sts=2 tw=80 et cc=80 ft=yaml :

~ [ 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