net/fec: add dual fec support for mx28
authorShawn Guo <shawn.guo@freescale.com>
Wed, 5 Jan 2011 21:13:13 +0000 (21:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 9 Jan 2011 23:42:56 +0000 (15:42 -0800)
commitb5680e0b591f2701c5ba7d5fc8f96b55414073c8
tree393a02162339aba1c10e6c558b078d82bf6cef96
parentbcc67771ed8ee31cc1f2b1e033ae822b40c72ff9
net/fec: add dual fec support for mx28

This patch is to add mx28 dual fec support. Here are some key notes
for mx28 fec controller.

 - The mx28 fec controller naming ENET-MAC is a different IP from FEC
   used on other i.mx variants.  But they are basically compatible
   on software interface, so it's possible to share the same driver.
 - ENET-MAC design on mx28 made an improper assumption that it runs
   on a big-endian system. As the result, driver has to swap every
   frame going to and coming from the controller.
 - The external phys can only be configured by fec0, which means fec1
   can not work independently and both phys need to be configured by
   mii_bus attached on fec0.
 - ENET-MAC reset will get mac address registers reset too.
 - ENET-MAC MII/RMII mode and 10M/100M speed are configured
   differently FEC.
 - ETHER_EN bit must be set to get ENET-MAC interrupt work.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/Kconfig
drivers/net/fec.c
drivers/net/fec.h