net: ravb: Filter out supported PHY features

The RAVB only supports 100Full and 1000Full operation, it does not support
10Full or any Half-duplex modes. The PHY could still advertise those features
though, so filter out the PHY features accordingly.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
Marek Vasut 2018-06-18 05:44:53 +02:00
parent c4a8d9ca04
commit 536fb5d47c

View file

@ -318,12 +318,13 @@ static int ravb_phy_config(struct udevice *dev)
eth->phydev = phydev; eth->phydev = phydev;
/* 10BASE is not supported for Ethernet AVB MAC */ phydev->supported &= SUPPORTED_100baseT_Full |
phydev->supported &= ~(SUPPORTED_10baseT_Full SUPPORTED_1000baseT_Full | SUPPORTED_Autoneg |
| SUPPORTED_10baseT_Half); SUPPORTED_TP | SUPPORTED_MII | SUPPORTED_Pause |
SUPPORTED_Asym_Pause;
if (pdata->max_speed != 1000) { if (pdata->max_speed != 1000) {
phydev->supported &= ~(SUPPORTED_1000baseT_Half phydev->supported &= ~SUPPORTED_1000baseT_Full;
| SUPPORTED_1000baseT_Full);
reg = phy_read(phydev, -1, MII_CTRL1000); reg = phy_read(phydev, -1, MII_CTRL1000);
reg &= ~(BIT(9) | BIT(8)); reg &= ~(BIT(9) | BIT(8));
phy_write(phydev, -1, MII_CTRL1000, reg); phy_write(phydev, -1, MII_CTRL1000, reg);