2023-08-30 17:31:07 +02:00
|
|
|
Marvell DSA Switch Device Tree Bindings
|
|
|
|
---------------------------------------
|
|
|
|
|
|
|
|
WARNING: This binding is currently unstable. Do not program it into a
|
|
|
|
FLASH never to be changed again. Once this binding is stable, this
|
|
|
|
warning will be removed.
|
|
|
|
|
|
|
|
If you need a stable binding, use the old dsa.txt binding.
|
|
|
|
|
|
|
|
Marvell Switches are MDIO devices. The following properties should be
|
|
|
|
placed as a child node of an mdio device.
|
|
|
|
|
|
|
|
The properties described here are those specific to Marvell devices.
|
|
|
|
Additional required and optional properties can be found in dsa.txt.
|
|
|
|
|
|
|
|
The compatibility string is used only to find an identification register,
|
|
|
|
which is at a different MDIO base address in different switch families.
|
|
|
|
- "marvell,mv88e6085" : Switch has base address 0x10. Use with models:
|
|
|
|
6085, 6095, 6097, 6123, 6131, 6141, 6161, 6165,
|
|
|
|
6171, 6172, 6175, 6176, 6185, 6240, 6320, 6321,
|
|
|
|
6341, 6350, 6351, 6352
|
|
|
|
- "marvell,mv88e6190" : Switch has base address 0x00. Use with models:
|
2023-10-24 12:59:35 +02:00
|
|
|
6163, 6190, 6190X, 6191, 6290, 6390, 6390X
|
2023-08-30 17:31:07 +02:00
|
|
|
- "marvell,mv88e6250" : Switch has base address 0x08 or 0x18. Use with model:
|
|
|
|
6220, 6250
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
- compatible : Should be one of "marvell,mv88e6085",
|
|
|
|
"marvell,mv88e6190" or "marvell,mv88e6250" as
|
|
|
|
indicated above
|
|
|
|
- reg : Address on the MII bus for the switch.
|
|
|
|
|
|
|
|
Optional properties:
|
|
|
|
|
|
|
|
- reset-gpios : Should be a gpio specifier for a reset line
|
|
|
|
- interrupts : Interrupt from the switch
|
|
|
|
- interrupt-controller : Indicates the switch is itself an interrupt
|
|
|
|
controller. This is used for the PHY interrupts.
|
|
|
|
#interrupt-cells = <2> : Controller uses two cells, number and flag
|
|
|
|
- eeprom-length : Set to the length of an EEPROM connected to the
|
|
|
|
switch. Must be set if the switch can not detect
|
|
|
|
the presence and/or size of a connected EEPROM,
|
|
|
|
otherwise optional.
|
|
|
|
- mdio : Container of PHY and devices on the switches MDIO
|
|
|
|
bus.
|
|
|
|
- mdio? : Container of PHYs and devices on the external MDIO
|
|
|
|
bus. The node must contains a compatible string of
|
|
|
|
"marvell,mv88e6xxx-mdio-external"
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
mdio {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
interrupt-parent = <&gpio0>;
|
|
|
|
interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
|
|
|
|
|
|
switch0: switch@0 {
|
|
|
|
compatible = "marvell,mv88e6085";
|
|
|
|
reg = <0>;
|
|
|
|
reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
|
|
|
|
|
|
|
mdio {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
switch1phy0: switch1phy0@0 {
|
|
|
|
reg = <0>;
|
|
|
|
interrupt-parent = <&switch0>;
|
|
|
|
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
mdio {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
interrupt-parent = <&gpio0>;
|
|
|
|
interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
|
|
|
|
|
|
switch0: switch@0 {
|
|
|
|
compatible = "marvell,mv88e6190";
|
|
|
|
reg = <0>;
|
|
|
|
reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
|
|
|
|
|
|
|
mdio {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
switch1phy0: switch1phy0@0 {
|
|
|
|
reg = <0>;
|
|
|
|
interrupt-parent = <&switch0>;
|
|
|
|
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
mdio1 {
|
|
|
|
compatible = "marvell,mv88e6xxx-mdio-external";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
switch1phy9: switch1phy0@9 {
|
|
|
|
reg = <9>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|