"ethernet_regs" in include/mpc512x.h duplicates "fec512x_t" in
include/asm-ppc/immap_512x.h; switch to using the latter so we can
remove include/mpc512x.h later.

Signed-off-by: Wolfgang Denk <w...@denx.de>
Cc: John Rigby <jcri...@gmail.com>
---
 drivers/net/mpc512x_fec.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mpc512x_fec.c b/drivers/net/mpc512x_fec.c
index 7078c4e..8fcced5 100644
--- a/drivers/net/mpc512x_fec.c
+++ b/drivers/net/mpc512x_fec.c
@@ -605,6 +605,8 @@ static int mpc512x_fec_recv (struct eth_device *dev)
 /********************************************************************/
 int mpc512x_fec_initialize (bd_t * bis)
 {
+       volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
+       volatile fec512x_t *fec512x = &im->fec;
        mpc512x_fec_priv *fec;
        struct eth_device *dev;
        int i;
@@ -615,7 +617,7 @@ int mpc512x_fec_initialize (bd_t * bis)
        dev = (struct eth_device *) malloc (sizeof(*dev));
        memset (dev, 0, sizeof *dev);
 
-       fec->eth = (ethernet_regs *) MPC512X_FEC;
+       fec->eth = (ethernet_regs *)fec512x;
 
 # ifndef CONFIG_FEC_10MBIT
        fec->xcv_type = MII100;
@@ -623,7 +625,7 @@ int mpc512x_fec_initialize (bd_t * bis)
        fec->xcv_type = MII10;
 # endif
        dev->priv = (void *)fec;
-       dev->iobase = MPC512X_FEC;
+       dev->iobase = (int)fec512x;
        dev->init = mpc512x_fec_init;
        dev->halt = mpc512x_fec_halt;
        dev->send = mpc512x_fec_send;
@@ -638,7 +640,8 @@ int mpc512x_fec_initialize (bd_t * bis)
 #endif
 
        /* Clean up space FEC's MIB and FIFO RAM ...*/
-       memset ((void *) MPC512X_FEC + 0x200, 0x00, 0x400);
+       memset ((void *)&im->fec.mib,  0x00, sizeof(im->fec.mib));
+       memset ((void *)&im->fec.fifo, 0x00, sizeof(im->fec.fifo));
 
        /*
         * Malloc space for BDs  (must be quad word-aligned)
@@ -684,7 +687,9 @@ int mpc512x_fec_initialize (bd_t * bis)
 /********************************************************************/
 int fec512x_miiphy_read (char *devname, uint8 phyAddr, uint8 regAddr, uint16 * 
retVal)
 {
-       ethernet_regs *eth = (ethernet_regs *) MPC512X_FEC;
+       volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
+       volatile fec512x_t *fec512x = &im->fec;
+       ethernet_regs *eth = (ethernet_regs *)fec512x;
        uint32 reg;             /* convenient holder for the PHY register */
        uint32 phy;             /* convenient holder for the PHY */
        int timeout = 0xffff;
@@ -726,7 +731,9 @@ int fec512x_miiphy_read (char *devname, uint8 phyAddr, 
uint8 regAddr, uint16 * r
 /********************************************************************/
 int fec512x_miiphy_write (char *devname, uint8 phyAddr, uint8 regAddr, uint16 
data)
 {
-       ethernet_regs *eth = (ethernet_regs *) MPC512X_FEC;
+       volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
+       volatile fec512x_t *fec512x = &im->fec;
+       ethernet_regs *eth = (ethernet_regs *)fec512x;
        uint32 reg;             /* convenient holder for the PHY register */
        uint32 phy;             /* convenient holder for the PHY */
        int timeout = 0xffff;
-- 
1.6.0.6

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to