net: phy: fixed: support speeds of 2500 and 10000
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 25 Jan 2021 12:23:51 +0000 (14:23 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 16 Feb 2021 16:48:20 +0000 (11:48 -0500)
Unlike the Linux fixed PHY driver, the one in U-Boot does not attempt to
emulate the clause 22 register set of a gigabit copper PHY driver
through the swphy framework. Therefore, the limitation of being unable
to support speeds higher than gigabit in fixed-link does not apply to
the U-Boot fixed PHY driver. This makes the fixed-link U-Boot
implementation more similar to the one from phylink, which can work with
any valid link speed.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>
drivers/net/phy/fixed.c

index 3228672..1a38c29 100644 (file)
@@ -24,7 +24,8 @@ int fixedphy_probe(struct phy_device *phydev)
        /* check for mandatory properties within fixed-link node */
        val = fdt_getprop_u32_default_node(gd->fdt_blob,
                                           ofnode, 0, "speed", 0);
-       if (val != SPEED_10 && val != SPEED_100 && val != SPEED_1000) {
+       if (val != SPEED_10 && val != SPEED_100 && val != SPEED_1000 &&
+           val != SPEED_2500 && val != SPEED_10000) {
                printf("ERROR: no/invalid speed given in fixed-link node!");
                return -EINVAL;
        }