Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

docs: devicetree: add bindings for Seville DSA switch inside Felix driver

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>

authored by

Vladimir Oltean and committed by
David S. Miller
77710929 84705fc1

+101 -4
+101 -4
Documentation/devicetree/bindings/net/dsa/ocelot.txt
··· 4 4 Felix 5 5 ----- 6 6 7 - The VSC9959 core is currently the only switch supported by the driver, and is 8 - found in the NXP LS1028A. It is a PCI device, part of the larger ENETC root 9 - complex. As a result, the ethernet-switch node is a sub-node of the PCIe root 10 - complex node and its "reg" property conforms to the parent node bindings: 7 + Currently the switches supported by the felix driver are: 8 + 9 + - VSC9959 (Felix) 10 + - VSC9953 (Seville) 11 + 12 + The VSC9959 switch is found in the NXP LS1028A. It is a PCI device, part of the 13 + larger ENETC root complex. As a result, the ethernet-switch node is a sub-node 14 + of the PCIe root complex node and its "reg" property conforms to the parent 15 + node bindings: 11 16 12 17 * reg: Specifies PCIe Device Number and Function Number of the endpoint device, 13 18 in this case for the Ethernet L2Switch it is PF5 (of device 0, bus 0). ··· 114 109 speed = <1000>; 115 110 full-duplex; 116 111 }; 112 + }; 113 + }; 114 + }; 115 + }; 116 + }; 117 + 118 + The VSC9953 switch is found inside NXP T1040. It is a platform device with the 119 + following required properties: 120 + 121 + - compatible: 122 + Must be "mscc,vsc9953-switch". 123 + 124 + Supported PHY interface types (appropriate SerDes protocol setting changes are 125 + needed in the RCW binary): 126 + 127 + * phy_mode = "internal": on ports 8 and 9 128 + * phy_mode = "sgmii": on ports 0, 1, 2, 3, 4, 5, 6, 7 129 + * phy_mode = "qsgmii": on ports 0, 1, 2, 3, 4, 5, 6, 7 130 + 131 + Example: 132 + 133 + &soc { 134 + ethernet-switch@800000 { 135 + #address-cells = <0x1>; 136 + #size-cells = <0x0>; 137 + compatible = "mscc,vsc9953-switch"; 138 + little-endian; 139 + reg = <0x800000 0x290000>; 140 + 141 + ports { 142 + #address-cells = <0x1>; 143 + #size-cells = <0x0>; 144 + 145 + port@0 { 146 + reg = <0x0>; 147 + label = "swp0"; 148 + }; 149 + 150 + port@1 { 151 + reg = <0x1>; 152 + label = "swp1"; 153 + }; 154 + 155 + port@2 { 156 + reg = <0x2>; 157 + label = "swp2"; 158 + }; 159 + 160 + port@3 { 161 + reg = <0x3>; 162 + label = "swp3"; 163 + }; 164 + 165 + port@4 { 166 + reg = <0x4>; 167 + label = "swp4"; 168 + }; 169 + 170 + port@5 { 171 + reg = <0x5>; 172 + label = "swp5"; 173 + }; 174 + 175 + port@6 { 176 + reg = <0x6>; 177 + label = "swp6"; 178 + }; 179 + 180 + port@7 { 181 + reg = <0x7>; 182 + label = "swp7"; 183 + }; 184 + 185 + port@8 { 186 + reg = <0x8>; 187 + phy-mode = "internal"; 188 + ethernet = <&enet0>; 189 + 190 + fixed-link { 191 + speed = <2500>; 192 + full-duplex; 193 + }; 194 + }; 195 + 196 + port@9 { 197 + reg = <0x9>; 198 + phy-mode = "internal"; 199 + status = "disabled"; 200 + 201 + fixed-link { 202 + speed = <2500>; 203 + full-duplex; 117 204 }; 118 205 }; 119 206 };