blob: 1d4d0f49c9d06eb66d9957fb0661cec35ddc7af9 [file] [log] [blame]
Andrew Lunn14c7b3c2016-05-10 23:27:21 +02001Marvell 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
Andrew Lunn52638f72016-05-10 23:27:22 +020013The properties described here are those specific to Marvell devices.
14Additional required and optional properties can be found in dsa.txt.
15
Andrew Lunn14c7b3c2016-05-10 23:27:21 +020016Required properties:
Andrew Lunnd2345592017-01-25 02:44:48 +010017- compatible : Should be one of "marvell,mv88e6085" or
18 "marvell,mv88e6190"
19- reg : Address on the MII bus for the switch.
Andrew Lunn14c7b3c2016-05-10 23:27:21 +020020
Andrew Lunn52638f72016-05-10 23:27:22 +020021Optional properties:
22
23- reset-gpios : Should be a gpio specifier for a reset line
Andrew Lunndc30c352016-10-16 19:56:49 +020024- 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
Andrew Lunn6c713a32017-05-26 01:44:43 +020029- 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.
Andrew Lunna3c53be2017-01-24 14:53:50 +010033- mdio : Container of PHY and devices on the switches MDIO
34 bus.
Andrew Lunnd2345592017-01-25 02:44:48 +010035- mdio? : Container of PHYs and devices on the external MDIO
Andrew Lunna3c53be2017-01-24 14:53:50 +010036 bus. The node must contains a compatible string of
37 "marvell,mv88e6xxx-mdio-external"
38
Andrew Lunn14c7b3c2016-05-10 23:27:21 +020039Example:
40
Andrew Lunnd2345592017-01-25 02:44:48 +010041 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>;
Andrew Lunn14c7b3c2016-05-10 23:27:21 +020048
Andrew Lunnd2345592017-01-25 02:44:48 +010049 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 };
Andrew Lunna3c53be2017-01-24 14:53:50 +010064
Andrew Lunnd2345592017-01-25 02:44:48 +010065 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>;
Andrew Lunna3c53be2017-01-24 14:53:50 +010072
Andrew Lunnd2345592017-01-25 02:44:48 +010073 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 };
Andrew Lunna3c53be2017-01-24 14:53:50 +010087
Andrew Lunnd2345592017-01-25 02:44:48 +010088 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 };