net: dsa: felix: Use PHY_INTERFACE_MODE_INTERNAL instead of GMII
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 24 Feb 2020 12:15:33 +0000 (14:15 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Feb 2020 23:12:10 +0000 (15:12 -0800)
phy-mode = "gmii" is confusing because it may mean that the port
supports the 8-bit-wide parallel data interface pinout, which it
doesn't.

It may also be confusing because one of the "gmii" internal ports is
actually overclocked to run at 2.5Gbps (even though, yes, as far as the
switch MAC is concerned, it still thinks it's gigabit).

So use the phy-mode = "internal" property to describe the internal ports
inside the NXP LS1028A chip (the ones facing the ENETC). The change
should be fine, because the device tree bindings document is yet to be
introduced, and there are no stable DT blobs in use.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Michael Walle <michael@walle.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/ocelot/felix.c
drivers/net/dsa/ocelot/felix_vsc9959.c

index 3257962c147e666eddaf7ed02cbba9438a4861b2..35124ef7e75bc0e4cd7598d625a379e5e1cd7ac5 100644 (file)
@@ -176,8 +176,7 @@ static void felix_phylink_validate(struct dsa_switch *ds, int port,
        phylink_set(mask, 100baseT_Full);
        phylink_set(mask, 1000baseT_Full);
 
-       /* The internal ports that run at 2.5G are overclocked GMII */
-       if (state->interface == PHY_INTERFACE_MODE_GMII ||
+       if (state->interface == PHY_INTERFACE_MODE_INTERNAL ||
            state->interface == PHY_INTERFACE_MODE_2500BASEX ||
            state->interface == PHY_INTERFACE_MODE_USXGMII) {
                phylink_set(mask, 2500baseT_Full);
index 2c812b481778c32ba9b7364d3e726039cf4e6bd3..93800e81cdd487e0da61086290062d19617fee4e 100644 (file)
@@ -955,8 +955,7 @@ static int vsc9959_prevalidate_phy_mode(struct ocelot *ocelot, int port,
                                        phy_interface_t phy_mode)
 {
        switch (phy_mode) {
-       case PHY_INTERFACE_MODE_GMII:
-               /* Only supported on internal to-CPU ports */
+       case PHY_INTERFACE_MODE_INTERNAL:
                if (port != 4 && port != 5)
                        return -ENOTSUPP;
                return 0;