|
|
|
@ -691,6 +691,30 @@ void __init ath79_setup_ar933x_phy4_switch(bool mac, bool mdio) |
|
|
|
|
iounmap(base); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void __init ath79_setup_ar934x_eth_cfg(u32 mask) |
|
|
|
|
{ |
|
|
|
|
void __iomem *base; |
|
|
|
|
u32 t; |
|
|
|
|
|
|
|
|
|
base = ioremap(AR934X_GMAC_BASE, AR934X_GMAC_SIZE); |
|
|
|
|
|
|
|
|
|
t = __raw_readl(base + AR934X_GMAC_REG_ETH_CFG); |
|
|
|
|
|
|
|
|
|
t &= ~(AR934X_ETH_CFG_RGMII_GMAC0 | |
|
|
|
|
AR934X_ETH_CFG_MII_GMAC0 | |
|
|
|
|
AR934X_ETH_CFG_GMII_GMAC0 | |
|
|
|
|
AR934X_ETH_CFG_SW_ONLY_MODE | |
|
|
|
|
AR934X_ETH_CFG_SW_PHY_SWAP); |
|
|
|
|
|
|
|
|
|
t |= mask; |
|
|
|
|
|
|
|
|
|
__raw_writel(t, base + AR934X_GMAC_REG_ETH_CFG); |
|
|
|
|
/* flush write */ |
|
|
|
|
__raw_readl(base + AR934X_GMAC_REG_ETH_CFG); |
|
|
|
|
|
|
|
|
|
iounmap(base); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int ath79_eth_instance __initdata; |
|
|
|
|
void __init ath79_register_eth(unsigned int id) |
|
|
|
|
{ |
|
|
|
|