From: juhosg Date: Sun, 25 Nov 2012 16:23:04 +0000 (+0000) Subject: AA: generic: ar8216: set delay values for SGMII mode on AR8327 X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=00ca693f9b0839ea516bb1cb02940f0add8e55ce;p=12.09%2Fopenwrt.git AA: generic: ar8216: set delay values for SGMII mode on AR8327 Backport of r34315. Signed-off-by: Gabor Juhos git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@34373 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 8f3aded..9cbe3a8 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: