mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 09:55:19 +02:00
net: phy: vitesse: repair vsc73xx autonegotiation
[ Upstream commit de7a670f8d
]
When the vsc73xx mdio bus work properly, the generic autonegotiation
configuration works well.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
31b9fc3d0c
commit
af252750bf
|
@ -237,16 +237,6 @@ static int vsc739x_config_init(struct phy_device *phydev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vsc73xx_config_aneg(struct phy_device *phydev)
|
|
||||||
{
|
|
||||||
/* The VSC73xx switches does not like to be instructed to
|
|
||||||
* do autonegotiation in any way, it prefers that you just go
|
|
||||||
* with the power-on/reset defaults. Writing some registers will
|
|
||||||
* just make autonegotiation permanently fail.
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This adds a skew for both TX and RX clocks, so the skew should only be
|
/* This adds a skew for both TX and RX clocks, so the skew should only be
|
||||||
* applied to "rgmii-id" interfaces. It may not work as expected
|
* applied to "rgmii-id" interfaces. It may not work as expected
|
||||||
* on "rgmii-txid", "rgmii-rxid" or "rgmii" interfaces.
|
* on "rgmii-txid", "rgmii-rxid" or "rgmii" interfaces.
|
||||||
|
@ -444,7 +434,6 @@ static struct phy_driver vsc82xx_driver[] = {
|
||||||
.phy_id_mask = 0x000ffff0,
|
.phy_id_mask = 0x000ffff0,
|
||||||
/* PHY_GBIT_FEATURES */
|
/* PHY_GBIT_FEATURES */
|
||||||
.config_init = vsc738x_config_init,
|
.config_init = vsc738x_config_init,
|
||||||
.config_aneg = vsc73xx_config_aneg,
|
|
||||||
.read_page = vsc73xx_read_page,
|
.read_page = vsc73xx_read_page,
|
||||||
.write_page = vsc73xx_write_page,
|
.write_page = vsc73xx_write_page,
|
||||||
}, {
|
}, {
|
||||||
|
@ -453,7 +442,6 @@ static struct phy_driver vsc82xx_driver[] = {
|
||||||
.phy_id_mask = 0x000ffff0,
|
.phy_id_mask = 0x000ffff0,
|
||||||
/* PHY_GBIT_FEATURES */
|
/* PHY_GBIT_FEATURES */
|
||||||
.config_init = vsc738x_config_init,
|
.config_init = vsc738x_config_init,
|
||||||
.config_aneg = vsc73xx_config_aneg,
|
|
||||||
.read_page = vsc73xx_read_page,
|
.read_page = vsc73xx_read_page,
|
||||||
.write_page = vsc73xx_write_page,
|
.write_page = vsc73xx_write_page,
|
||||||
}, {
|
}, {
|
||||||
|
@ -462,7 +450,6 @@ static struct phy_driver vsc82xx_driver[] = {
|
||||||
.phy_id_mask = 0x000ffff0,
|
.phy_id_mask = 0x000ffff0,
|
||||||
/* PHY_GBIT_FEATURES */
|
/* PHY_GBIT_FEATURES */
|
||||||
.config_init = vsc739x_config_init,
|
.config_init = vsc739x_config_init,
|
||||||
.config_aneg = vsc73xx_config_aneg,
|
|
||||||
.read_page = vsc73xx_read_page,
|
.read_page = vsc73xx_read_page,
|
||||||
.write_page = vsc73xx_write_page,
|
.write_page = vsc73xx_write_page,
|
||||||
}, {
|
}, {
|
||||||
|
@ -471,7 +458,6 @@ static struct phy_driver vsc82xx_driver[] = {
|
||||||
.phy_id_mask = 0x000ffff0,
|
.phy_id_mask = 0x000ffff0,
|
||||||
/* PHY_GBIT_FEATURES */
|
/* PHY_GBIT_FEATURES */
|
||||||
.config_init = vsc739x_config_init,
|
.config_init = vsc739x_config_init,
|
||||||
.config_aneg = vsc73xx_config_aneg,
|
|
||||||
.read_page = vsc73xx_read_page,
|
.read_page = vsc73xx_read_page,
|
||||||
.write_page = vsc73xx_write_page,
|
.write_page = vsc73xx_write_page,
|
||||||
}, {
|
}, {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user