netdev: bfin_mac: document TE setting in RMII modes

The current code sometimes generates build warnings due to how it checks
the silicon revision, so clean it up and properly document things.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Mike Frysinger and committed by David S. Miller 72f49050 bc8d7da3

+11 -2
+11 -2
drivers/net/bfin_mac.c
··· 1237 1237 1238 1238 if (phydev->interface == PHY_INTERFACE_MODE_RMII) { 1239 1239 opmode |= RMII; /* For Now only 100MBit are supported */ 1240 - #if (defined(CONFIG_BF537) || defined(CONFIG_BF536)) && CONFIG_BF_REV_0_2 1241 - opmode |= TE; 1240 + #if defined(CONFIG_BF537) || defined(CONFIG_BF536) 1241 + if (__SILICON_REVISION__ < 3) { 1242 + /* 1243 + * This isn't publicly documented (fun times!), but in 1244 + * silicon <=0.2, the RX and TX pins are clocked together. 1245 + * So in order to recv, we must enable the transmit side 1246 + * as well. This will cause a spurious TX interrupt too, 1247 + * but we can easily consume that. 1248 + */ 1249 + opmode |= TE; 1250 + } 1242 1251 #endif 1243 1252 } 1244 1253