net: dsa: Change DT bindings for Vitesse VSC73xx switches
authorPawel Dembicki <paweldembicki@gmail.com>
Thu, 4 Jul 2019 22:29:04 +0000 (00:29 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 7 Jul 2019 21:16:32 +0000 (14:16 -0700)
This commit introduce how to use vsc73xx platform driver.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.txt

index ed4710c406415428b03824a1e40844f4489a7af3..bbf4a13f6d755809a39ff110ad9b7d2d290c7f4f 100644 (file)
@@ -2,8 +2,8 @@ Vitesse VSC73xx Switches
 ========================
 
 This defines device tree bindings for the Vitesse VSC73xx switch chips.
-The Vitesse company has been acquired by Microsemi and Microsemi in turn
-acquired by Microchip but retains this vendor branding.
+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
@@ -11,8 +11,14 @@ 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
 
-The device tree node is an SPI device so it must reside inside a SPI bus
-device tree node, see spi/spi-bus.txt
+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:
 
@@ -38,6 +44,7 @@ and subnodes of DSA switches.
 
 Examples:
 
+SPI:
 switch@0 {
        compatible = "vitesse,vsc7395";
        reg = <0>;
@@ -79,3 +86,46 @@ switch@0 {
                };
        };
 };
+
+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;
+                       };
+               };
+       };
+
+};