Skip to content

Commit f6b28f0

Browse files
yupei_linasus-leslieyu
authored andcommitted
Ethernet : adjust rgmii driver for RTL8211E.
value : 0x8575 > 0x857f Change-Id: Ia780fabace785ff9ef967ff7effefb544e75cd49
1 parent 460593b commit f6b28f0

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

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

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

729+
void adjust_rgmii_driving(struct phy_device *phydev)
730+
{
731+
// set to extension page
732+
phy_write(phydev, 31, 0x0007);
733+
734+
// switch extension page 164
735+
phy_write(phydev, 30, 0x00a4);
736+
737+
// set to enhance RGMII signal driving
738+
printk("%s: #### before setting phy driving, Reg28 = 0x%x\n", __func__, phy_read(phydev, 28));
739+
phy_write(phydev, 28, 0x0857f);
740+
printk("%s: #### after setting phy driving, Reg28 = 0x%x\n", __func__, phy_read(phydev, 28));
741+
742+
//switch to PHY`s Page0
743+
phy_write(phydev, 31, 0);
744+
}
745+
729746
/**
730747
* stmmac_adjust_link - adjusts the link parameters
731748
* @dev: net device structure
@@ -769,6 +786,7 @@ static void stmmac_adjust_link(struct net_device *dev)
769786
if (phydev->speed != priv->speed) {
770787
new_state = 1;
771788
setLedConfiguration(phydev);
789+
adjust_rgmii_driving(phydev);
772790
switch (phydev->speed) {
773791
case 1000:
774792
if (likely(priv->plat->has_gmac))

0 commit comments

Comments
 (0)