Commit 120b0893b9463600498cf906b5a7cd0aee7cd60d
Committed by
Ye Li
1 parent
6375056baf
Exists in
smarc_8mq_lf_v2020.04
and in
4 other branches
MLK-23165-13 net: phy: realtek: add rx delay support for RTL8211F
Add RX delay enable support for RTL8211F PHY. Reviewed-by: Ye Li <ye.li@nxp.com> Signed-off-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit 8e55d1e0bea57c0671a51258c48306be0066ae7c)
Showing 1 changed file with 11 additions and 0 deletions Side-by-side Diff
drivers/net/phy/realtek.c
... | ... | @@ -56,6 +56,7 @@ |
56 | 56 | |
57 | 57 | #define MIIM_RTL8211F_PAGE_SELECT 0x1f |
58 | 58 | #define MIIM_RTL8211F_TX_DELAY 0x100 |
59 | +#define MIIM_RTL8211F_RX_DELAY 0x8 | |
59 | 60 | #define MIIM_RTL8211F_LCR 0x10 |
60 | 61 | |
61 | 62 | static int rtl8211f_phy_extread(struct phy_device *phydev, int addr, |
... | ... | @@ -183,6 +184,16 @@ |
183 | 184 | reg &= ~MIIM_RTL8211F_TX_DELAY; |
184 | 185 | |
185 | 186 | phy_write(phydev, MDIO_DEVAD_NONE, 0x11, reg); |
187 | + | |
188 | + /* enable RX-delay for rgmii-id and rgmii-rxid, otherwise disable it */ | |
189 | + reg = phy_read(phydev, MDIO_DEVAD_NONE, 0x15); | |
190 | + if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || | |
191 | + phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) | |
192 | + reg |= MIIM_RTL8211F_RX_DELAY; | |
193 | + else | |
194 | + reg &= ~MIIM_RTL8211F_RX_DELAY; | |
195 | + phy_write(phydev, MDIO_DEVAD_NONE, 0x15, reg); | |
196 | + | |
186 | 197 | /* restore to default page 0 */ |
187 | 198 | phy_write(phydev, MDIO_DEVAD_NONE, |
188 | 199 | MIIM_RTL8211F_PAGE_SELECT, 0x0); |