diff options
| author | Takashi Iwai <tiwai@suse.de> | 2011-04-09 10:05:30 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2011-04-09 10:05:30 +0200 |
| commit | 664cee46e755b37204f1731cb8726db610f3486d (patch) | |
| tree | 11ed0d43eff14123534785cf25c0a2143e134e7e /drivers/net/bfin_mac.c | |
| parent | a0334c50bf0ba7c720ed00f931e721c989efd233 (diff) | |
| parent | 4e29402fe4b2006c994eed5020c42b2cc87d9b42 (diff) | |
Merge branch 'fix/asoc' into for-linus
Diffstat (limited to 'drivers/net/bfin_mac.c')
| -rw-r--r-- | drivers/net/bfin_mac.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 22abfb39d81..68d45ba2d9b 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -1237,8 +1237,17 @@ static int bfin_mac_enable(struct phy_device *phydev) if (phydev->interface == PHY_INTERFACE_MODE_RMII) { opmode |= RMII; /* For Now only 100MBit are supported */ -#if (defined(CONFIG_BF537) || defined(CONFIG_BF536)) && CONFIG_BF_REV_0_2 - opmode |= TE; +#if defined(CONFIG_BF537) || defined(CONFIG_BF536) + if (__SILICON_REVISION__ < 3) { + /* + * This isn't publicly documented (fun times!), but in + * silicon <=0.2, the RX and TX pins are clocked together. + * So in order to recv, we must enable the transmit side + * as well. This will cause a spurious TX interrupt too, + * but we can easily consume that. + */ + opmode |= TE; + } #endif } |
