1Marvell DSA Switch Device Tree Bindings
2---------------------------------------
3
4WARNING: This binding is currently unstable. Do not program it into a
5FLASH never to be changed again. Once this binding is stable, this
6warning will be removed.
7
8If you need a stable binding, use the old dsa.txt binding.
9
10Marvell Switches are MDIO devices. The following properties should be
11placed as a child node of an mdio device.
12
13The properties described here are those specific to Marvell devices.
14Additional required and optional properties can be found in dsa.txt.
15
16Required properties:
17- compatible		: Should be one of "marvell,mv88e6085" or
18			  "marvell,mv88e6190"
19- reg			: Address on the MII bus for the switch.
20
21Optional properties:
22
23- reset-gpios		: Should be a gpio specifier for a reset line
24- interrupt-parent	: Parent interrupt controller
25- interrupts		: Interrupt from the switch
26- interrupt-controller	: Indicates the switch is itself an interrupt
27			  controller. This is used for the PHY interrupts.
28#interrupt-cells = <2>	: Controller uses two cells, number and flag
29- eeprom-length		: Set to the length of an EEPROM connected to the
30			  switch. Must be set if the switch can not detect
31			  the presence and/or size of a connected EEPROM,
32			  otherwise optional.
33- mdio			: Container of PHY and devices on the switches MDIO
34			  bus.
35- mdio?		: Container of PHYs and devices on the external MDIO
36			  bus. The node must contains a compatible string of
37			  "marvell,mv88e6xxx-mdio-external"
38
39Example:
40
41	mdio {
42		#address-cells = <1>;
43		#size-cells = <0>;
44		interrupt-parent = <&gpio0>;
45		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
46		interrupt-controller;
47		#interrupt-cells = <2>;
48
49		switch0: switch@0 {
50			compatible = "marvell,mv88e6085";
51			reg = <0>;
52			reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
53		};
54		mdio {
55			#address-cells = <1>;
56			#size-cells = <0>;
57			switch1phy0: switch1phy0@0 {
58				reg = <0>;
59				interrupt-parent = <&switch0>;
60				interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
61			};
62		};
63	};
64
65	mdio {
66		#address-cells = <1>;
67		#size-cells = <0>;
68		interrupt-parent = <&gpio0>;
69		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
70		interrupt-controller;
71		#interrupt-cells = <2>;
72
73		switch0: switch@0 {
74			compatible = "marvell,mv88e6390";
75			reg = <0>;
76			reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
77		};
78		mdio {
79			#address-cells = <1>;
80			#size-cells = <0>;
81			switch1phy0: switch1phy0@0 {
82				reg = <0>;
83				interrupt-parent = <&switch0>;
84				interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
85			};
86		};
87
88		mdio1 {
89			compatible = "marvell,mv88e6xxx-mdio-external";
90			#address-cells = <1>;
91			#size-cells = <0>;
92			switch1phy9: switch1phy0@9 {
93				reg = <9>;
94			};
95		};
96	};
97