From c6128a3d2af2ce1d0b90e03a3731df1cb314bc13 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Sun, 25 Nov 2012 16:23:04 +0000 Subject: [PATCH] AA: generic: ar8216: set delay values for SGMII mode on AR8327 Backport of r34315. Signed-off-by: Gabor Juhos SVN-Revision: 34373 --- .../linux/generic/files/drivers/net/phy/ar8216.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 8f3aded48f..9cbe3a838c 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -903,6 +903,20 @@ ar8327_get_pad_cfg(struct ar8327_pad_cfg *cfg) case AR8327_PAD_MAC_SGMII: t = AR8327_PAD_SGMII_EN; + + /* + * WAR for the QUalcomm Atheros AP136 board. + * It seems that RGMII TX/RX delay settings needs to be + * applied for SGMII mode as well, The ethernet is not + * reliable without this. + */ + t |= cfg->txclk_delay_sel << AR8327_PAD_RGMII_TXCLK_DELAY_SEL_S; + t |= cfg->rxclk_delay_sel << AR8327_PAD_RGMII_RXCLK_DELAY_SEL_S; + if (cfg->rxclk_delay_en) + t |= AR8327_PAD_RGMII_RXCLK_DELAY_EN; + if (cfg->txclk_delay_en) + t |= AR8327_PAD_RGMII_TXCLK_DELAY_EN; + break; case AR8327_PAD_MAC2PHY_MII: -- 2.30.2