Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / net / mscc-ocelot.txt
1 Microsemi Ocelot network Switch
2 ===============================
3
4 The Microsemi Ocelot network switch can be found on Microsemi SoCs (VSC7513,
5 VSC7514)
6
7 Required 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
26 The ethernet-ports container has the following properties
27
28 Required properties:
29
30 - #address-cells: Must be 1
31 - #size-cells: Must be 0
32
33 Each port node must have the following mandatory properties:
34 - reg: Describes the port address in the switch
35
36 Port nodes may also contain the following optional standardised
37 properties, 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
42 Example:
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         };