xref: /freebsd/sys/contrib/device-tree/Bindings/net/mscc-ocelot.txt (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
1Microsemi Ocelot network Switch
2===============================
3
4The Microsemi Ocelot network switch can be found on Microsemi SoCs (VSC7513,
5VSC7514)
6
7Required properties:
8- compatible: Should be "mscc,vsc7514-switch"
9- reg: Must contain an (offset, length) pair of the register set for each
10  entry in reg-names.
11- reg-names: Must include the following entries:
12  - "sys"
13  - "rew"
14  - "qs"
15  - "ptp" (optional due to backward compatibility)
16  - "qsys"
17  - "ana"
18  - "portX" with X from 0 to the number of last port index available on that
19    switch
20- interrupts: Should contain the switch interrupts for frame extraction,
21  frame injection and PTP ready.
22- interrupt-names: should contain the interrupt names: "xtr", "inj". Can contain
23  "ptp_rdy" which is optional due to backward compatibility.
24- ethernet-ports: A container for child nodes representing switch ports.
25
26The ethernet-ports container has the following properties
27
28Required properties:
29
30- #address-cells: Must be 1
31- #size-cells: Must be 0
32
33Each port node must have the following mandatory properties:
34- reg: Describes the port address in the switch
35
36Port nodes may also contain the following optional standardised
37properties, described in binding documents:
38
39- phy-handle: Phandle to a PHY on an MDIO bus. See
40  Documentation/devicetree/bindings/net/ethernet.txt for details.
41
42Example:
43
44	switch@1010000 {
45		compatible = "mscc,vsc7514-switch";
46		reg = <0x1010000 0x10000>,
47		      <0x1030000 0x10000>,
48		      <0x1080000 0x100>,
49		      <0x10e0000 0x10000>,
50		      <0x11e0000 0x100>,
51		      <0x11f0000 0x100>,
52		      <0x1200000 0x100>,
53		      <0x1210000 0x100>,
54		      <0x1220000 0x100>,
55		      <0x1230000 0x100>,
56		      <0x1240000 0x100>,
57		      <0x1250000 0x100>,
58		      <0x1260000 0x100>,
59		      <0x1270000 0x100>,
60		      <0x1280000 0x100>,
61		      <0x1800000 0x80000>,
62		      <0x1880000 0x10000>;
63		reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",
64			    "port2", "port3", "port4", "port5", "port6",
65			    "port7", "port8", "port9", "port10", "qsys",
66			    "ana";
67		interrupts = <18 21 22>;
68		interrupt-names = "ptp_rdy", "xtr", "inj";
69
70		ethernet-ports {
71			#address-cells = <1>;
72			#size-cells = <0>;
73
74			port0: port@0 {
75				reg = <0>;
76				phy-handle = <&phy0>;
77			};
78			port1: port@1 {
79				reg = <1>;
80				phy-handle = <&phy1>;
81			};
82		};
83	};
84