diff options
Diffstat (limited to 'target/linux/generic')
| -rw-r--r-- | target/linux/generic/files/drivers/net/phy/ar8216.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index 8f3aded48..9cbe3a838 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:  | 
