fix MII register ioremap on when high cpmac is available, patch from Wipster

SVN-Revision: 25730
owl
Florian Fainelli 2011-02-26 15:18:02 +00:00
parent c3f3c60730
commit f198979add
1 changed files with 13 additions and 11 deletions

View File

@ -190,7 +190,7 @@
cpmac_mii->reset(cpmac_mii); cpmac_mii->reset(cpmac_mii);
@@ -1269,10 +1256,20 @@ int __devinit cpmac_init(void) @@ -1269,10 +1256,22 @@ int __devinit cpmac_init(void)
msleep(10); msleep(10);
} }
@ -199,17 +199,19 @@
if (mask & (mask - 1)) { if (mask & (mask - 1)) {
- external_switch = 1; - external_switch = 1;
- mask = 0; - mask = 0;
+ if (ar7_is_titan()) { + if (!ar7_has_high_cpmac()) {
+ ar7_device_disable(AR7_RESET_BIT_EPHY); + if (ar7_is_titan()) {
+ ar7_device_disable(TITAN_RESET_BIT_EPHY1); + ar7_device_disable(AR7_RESET_BIT_EPHY);
+ } else + ar7_device_disable(TITAN_RESET_BIT_EPHY1);
+ ar7_device_disable(AR7_RESET_BIT_EPHY); + } else
+ ar7_device_disable(AR7_RESET_BIT_EPHY);
+ +
+ //Titan remap might be different + //Titan remap might be different
+ mii_reg = ioremap(AR7_REGS_MII, 4); + mii_reg = ioremap(AR7_REGS_MII, 4);
+ if (mii_reg) { + if (mii_reg) {
+ writel(readl(mii_reg) | 1, mii_reg); + writel(readl(mii_reg) | 1, mii_reg);
+ iounmap(mii_reg); + iounmap(mii_reg);
+ }
+ } + }
} }