Device tree aware EMAC driver
authorDavid Gibson <david@gibson.dropbear.id.au>
Thu, 23 Aug 2007 03:56:01 +0000 (13:56 +1000)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:51:52 +0000 (16:51 -0700)
commit1d3bb996481e116f5f2b127cbd29b83365d2cf62
treeb612a1dbf51c920fb5a9758a6d35f9ed37eb927f
parent03233b90b0977d577322a6e1ddd56d9cc570d406
Device tree aware EMAC driver

Based on BenH's earlier work, this is a new version of the EMAC driver
for the built-in ethernet found on PowerPC 4xx embedded CPUs.  The
same ASIC is also found in the Axon bridge chip.  This new version is
designed to work in the arch/powerpc tree, using the device tree to
probe the device, rather than the old and ugly arch/ppc OCP layer.

This driver is designed to sit alongside the old driver (that lies in
drivers/net/ibm_emac and this one in drivers/net/ibm_newemac).  The
old driver is left in place to support arch/ppc until arch/ppc itself
reaches its final demise (not too long now, with luck).

This driver still has a number of things that could do with cleaning
up, but I think they can be fixed up after merging.  Specifically:
- Should be adjusted to properly use the dma mapping API.
Axon needs this.
- Probe logic needs reworking, in conjuction with the general
probing code for of_platform devices.  The dependencies here between
EMAC, MAL, ZMII etc. make this complicated.  At present, it usually
works, because we initialize and register the sub-drivers before the
EMAC driver itself, and (being in driver code) runs after the devices
themselves have been instantiated from the device tree.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
23 files changed:
Documentation/powerpc/booting-without-of.txt
arch/powerpc/platforms/44x/Kconfig
arch/powerpc/platforms/cell/Kconfig
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/ibm_emac/Kconfig [new file with mode: 0644]
drivers/net/ibm_newemac/Kconfig [new file with mode: 0644]
drivers/net/ibm_newemac/Makefile [new file with mode: 0644]
drivers/net/ibm_newemac/core.c [new file with mode: 0644]
drivers/net/ibm_newemac/core.h [new file with mode: 0644]
drivers/net/ibm_newemac/debug.c [new file with mode: 0644]
drivers/net/ibm_newemac/debug.h [new file with mode: 0644]
drivers/net/ibm_newemac/emac.h [new file with mode: 0644]
drivers/net/ibm_newemac/mal.c [new file with mode: 0644]
drivers/net/ibm_newemac/mal.h [new file with mode: 0644]
drivers/net/ibm_newemac/phy.c [new file with mode: 0644]
drivers/net/ibm_newemac/phy.h [new file with mode: 0644]
drivers/net/ibm_newemac/rgmii.c [new file with mode: 0644]
drivers/net/ibm_newemac/rgmii.h [new file with mode: 0644]
drivers/net/ibm_newemac/tah.c [new file with mode: 0644]
drivers/net/ibm_newemac/tah.h [new file with mode: 0644]
drivers/net/ibm_newemac/zmii.c [new file with mode: 0644]
drivers/net/ibm_newemac/zmii.h [new file with mode: 0644]