Skip to content

Commit e008786

Browse files
yupei_linasus-leslieyu
authored andcommitted
Ethernet : adjust rgmii driver for RTL8211E.
value : 0x8575 > 0x857f Change-Id: Ib510f03cf9812f6c17bd0d5661dd375c50de0cd8
1 parent 78bedb9 commit e008786

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,23 @@ void setLedConfiguration(struct phy_device *phydev) {
721721
phy_write(phydev, 31, 0);
722722
}
723723

724+
void adjust_rgmii_driving(struct phy_device *phydev)
725+
{
726+
// set to extension page
727+
phy_write(phydev, 31, 0x0007);
728+
729+
// switch extension page 164
730+
phy_write(phydev, 30, 0x00a4);
731+
732+
// set to enhance RGMII signal driving
733+
printk("%s: #### before setting phy driving, Reg28 = 0x%x\n", __func__, phy_read(phydev, 28));
734+
phy_write(phydev, 28, 0x0857f);
735+
printk("%s: #### after setting phy driving, Reg28 = 0x%x\n", __func__, phy_read(phydev, 28));
736+
737+
//switch to PHY`s Page0
738+
phy_write(phydev, 31, 0);
739+
}
740+
724741
/**
725742
* stmmac_adjust_link - adjusts the link parameters
726743
* @dev: net device structure
@@ -763,6 +780,7 @@ static void stmmac_adjust_link(struct net_device *dev)
763780
if (phydev->speed != priv->speed) {
764781
new_state = 1;
765782
setLedConfiguration(phydev);
783+
adjust_rgmii_driving(phydev);
766784
switch (phydev->speed) {
767785
case 1000:
768786
if (likely(priv->plat->has_gmac))

0 commit comments

Comments
 (0)