From 22e5a01c2aec3269d85a78eec3c2ca57e28a5f62 Mon Sep 17 00:00:00 2001 From: Zhuo Wang Date: Fri, 5 Jul 2019 17:05:20 +0800 Subject: [PATCH] ethernet: enhance window function [1/1] PD#SWPL-10876 Problem: add del 2ns function Solution: add del 2ns function Verify: verify on u200 board Change-Id: I949a1d85e41d0b0e03708243f9559f8de63b0e54 Signed-off-by: Zhuo Wang --- drivers/net/phy/realtek.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c index e3abda735f9b..0712b095b054 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c @@ -132,20 +132,23 @@ static int rtl8211f_config_init(struct phy_device *phydev) phy_write(phydev, 0x11, reg); #ifdef CONFIG_AMLOGIC_ETH_PRIVE + /*switch page d08*/ + phy_write(phydev, RTL8211F_PAGE_SELECT, 0xd08); + reg = phy_read(phydev, 0x15); if (external_rx_delay) { - /*add 2ns delay for rx*/ - phy_write(phydev, RTL8211F_PAGE_SELECT, 0xd08); - reg = phy_read(phydev, 0x15); - reg = phy_write(phydev, 0x15, reg | 0x8); - phy_write(phydev, RTL8211F_PAGE_SELECT, 0x0); + /*add 2ns delay for rx*/ + phy_write(phydev, 0x15, reg | 0x8); + } else { + /*del 2ns rx*/ + phy_write(phydev, 0x15, reg & 0xfff7); } + if (external_tx_delay) { - /*add 2ns delay for tx*/ - phy_write(phydev, RTL8211F_PAGE_SELECT, 0xd08); reg = phy_read(phydev, 0x11); - reg = phy_write(phydev, 0x11, reg | 0x100); - phy_write(phydev, RTL8211F_PAGE_SELECT, 0x0); + phy_write(phydev, 0x11, reg | 0x100); } + phy_write(phydev, RTL8211F_PAGE_SELECT, 0x0); + /*disable clk_out pin 35 set page 0x0a43 reg25.0 as 0*/ phy_write(phydev, RTL8211F_PAGE_SELECT, 0x0a43); reg = phy_read(phydev, 0x19);