docs: devicetree: add bindings for Seville DSA switch inside Felix driver
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 13 Jul 2020 16:57:11 +0000 (19:57 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2020 00:40:02 +0000 (17:40 -0700)
There are no non-standard bindings being used. However Felix is a PCI
device and Seville is a platform device. So give an example of device
tree for this switch and document its compatible string.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/dsa/ocelot.txt

index 66a129fea70516e184349b29ee7ed79fa422cf0d..7a271d070b72430d69ab4261a417d672a33402fa 100644 (file)
@@ -4,10 +4,15 @@ Microchip Ocelot switch driver family
 Felix
 -----
 
-The VSC9959 core is currently the only switch supported by the driver, and is
-found in the NXP LS1028A. It is a PCI device, part of the larger ENETC root
-complex. As a result, the ethernet-switch node is a sub-node of the PCIe root
-complex node and its "reg" property conforms to the parent node bindings:
+Currently the switches supported by the felix driver are:
+
+- VSC9959 (Felix)
+- VSC9953 (Seville)
+
+The VSC9959 switch is found in the NXP LS1028A. It is a PCI device, part of the
+larger ENETC root complex. As a result, the ethernet-switch node is a sub-node
+of the PCIe root complex node and its "reg" property conforms to the parent
+node bindings:
 
 * reg: Specifies PCIe Device Number and Function Number of the endpoint device,
   in this case for the Ethernet L2Switch it is PF5 (of device 0, bus 0).
@@ -114,3 +119,95 @@ Example:
                };
        };
 };
+
+The VSC9953 switch is found inside NXP T1040. It is a platform device with the
+following required properties:
+
+- compatible:
+       Must be "mscc,vsc9953-switch".
+
+Supported PHY interface types (appropriate SerDes protocol setting changes are
+needed in the RCW binary):
+
+* phy_mode = "internal": on ports 8 and 9
+* phy_mode = "sgmii": on ports 0, 1, 2, 3, 4, 5, 6, 7
+* phy_mode = "qsgmii": on ports 0, 1, 2, 3, 4, 5, 6, 7
+
+Example:
+
+&soc {
+       ethernet-switch@800000 {
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               compatible = "mscc,vsc9953-switch";
+               little-endian;
+               reg = <0x800000 0x290000>;
+
+               ports {
+                       #address-cells = <0x1>;
+                       #size-cells = <0x0>;
+
+                       port@0 {
+                               reg = <0x0>;
+                               label = "swp0";
+                       };
+
+                       port@1 {
+                               reg = <0x1>;
+                               label = "swp1";
+                       };
+
+                       port@2 {
+                               reg = <0x2>;
+                               label = "swp2";
+                       };
+
+                       port@3 {
+                               reg = <0x3>;
+                               label = "swp3";
+                       };
+
+                       port@4 {
+                               reg = <0x4>;
+                               label = "swp4";
+                       };
+
+                       port@5 {
+                               reg = <0x5>;
+                               label = "swp5";
+                       };
+
+                       port@6 {
+                               reg = <0x6>;
+                               label = "swp6";
+                       };
+
+                       port@7 {
+                               reg = <0x7>;
+                               label = "swp7";
+                       };
+
+                       port@8 {
+                               reg = <0x8>;
+                               phy-mode = "internal";
+                               ethernet = <&enet0>;
+
+                               fixed-link {
+                                       speed = <2500>;
+                                       full-duplex;
+                               };
+                       };
+
+                       port@9 {
+                               reg = <0x9>;
+                               phy-mode = "internal";
+                               status = "disabled";
+
+                               fixed-link {
+                                       speed = <2500>;
+                                       full-duplex;
+                               };
+                       };
+               };
+       };
+};