Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

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.

Required properties:
- compatible	       : Should be one of "marvell,mv88e6085" or
			 "marvell,mv88e6190"
- reg                  : Address on the MII bus for the switch.

Optional properties:

- reset-gpios		: Should be a gpio specifier for a reset line
- interrupt-parent	: Parent interrupt controller
- 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
- mdio			: container of PHY and devices on the switches MDIO
			  bus
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>;
                       };
               };
       };