Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
Vitesse VSC73xx Switches
========================

This defines device tree bindings for the Vitesse VSC73xx switch chips.
The Vitesse company has been acquired by Microsemi and Microsemi has
been acquired Microchip but retains this vendor branding.

The currently supported switch chips are:
Vitesse VSC7385 SparX-G5 5+1-port Integrated Gigabit Ethernet Switch
Vitesse VSC7388 SparX-G8 8-port Integrated Gigabit Ethernet Switch
Vitesse VSC7395 SparX-G5e 5+1-port Integrated Gigabit Ethernet Switch
Vitesse VSC7398 SparX-G8e 8-port Integrated Gigabit Ethernet Switch

This switch could have two different management interface.

If SPI interface is used, the device tree node is an SPI device so it must
reside inside a SPI bus device tree node, see spi/spi-bus.txt

When the chip is connected to a parallel memory bus and work in memory-mapped
I/O mode, a platform device is used to represent the vsc73xx. In this case it
must reside inside a platform bus device tree node.

Required properties:

- compatible: must be exactly one of:
	"vitesse,vsc7385"
	"vitesse,vsc7388"
	"vitesse,vsc7395"
	"vitesse,vsc7398"
- gpio-controller: indicates that this switch is also a GPIO controller,
  see gpio/gpio.txt
- #gpio-cells: this must be set to <2> and indicates that we are a twocell
  GPIO controller, see gpio/gpio.txt

Optional properties:

- reset-gpios: a handle to a GPIO line that can issue reset of the chip.
  It should be tagged as active low.

Required subnodes:

See net/dsa/dsa.txt for a list of additional required and optional properties
and subnodes of DSA switches.

Examples:

SPI:
switch@0 {
	compatible = "vitesse,vsc7395";
	reg = <0>;
	/* Specified for 2.5 MHz or below */
	spi-max-frequency = <2500000>;
	gpio-controller;
	#gpio-cells = <2>;

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			label = "lan1";
		};
		port@1 {
			reg = <1>;
			label = "lan2";
		};
		port@2 {
			reg = <2>;
			label = "lan3";
		};
		port@3 {
			reg = <3>;
			label = "lan4";
		};
		vsc: port@6 {
			reg = <6>;
			ethernet = <&gmac1>;
			phy-mode = "rgmii";
			fixed-link {
				speed = <1000>;
				full-duplex;
				pause;
			};
		};
	};
};

Platform:
switch@2,0 {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "vitesse,vsc7385";
	reg = <0x2 0x0 0x20000>;
	reset-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			label = "lan1";
		};
		port@1 {
			reg = <1>;
			label = "lan2";
		};
		port@2 {
			reg = <2>;
			label = "lan3";
		};
		port@3 {
			reg = <3>;
			label = "lan4";
		};
		vsc: port@6 {
			reg = <6>;
			ethernet = <&enet0>;
			phy-mode = "rgmii";
			fixed-link {
				speed = <1000>;
				full-duplex;
				pause;
			};
		};
	};

};