| 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>; |
| label = "cpu"; |
| 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>; |
| label = "cpu"; |
| ethernet = <&enet0>; |
| phy-mode = "rgmii"; |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| pause; |
| }; |
| }; |
| }; |
| |
| }; |