diff options
Diffstat (limited to 'drivers/net/mcffec.c')
| -rw-r--r-- | drivers/net/mcffec.c | 81 | 
1 files changed, 35 insertions, 46 deletions
| diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c index 50d6508fb..18240a81a 100644 --- a/drivers/net/mcffec.c +++ b/drivers/net/mcffec.c @@ -27,13 +27,14 @@  #include <common.h>  #include <malloc.h> -#include <asm/fec.h> -#include <asm/immap.h> -  #include <command.h>  #include <net.h> +#include <netdev.h>  #include <miiphy.h> +#include <asm/fec.h> +#include <asm/immap.h> +  #undef	ET_DEBUG  #undef	MII_DEBUG @@ -50,12 +51,12 @@  DECLARE_GLOBAL_DATA_PTR;  struct fec_info_s fec_info[] = { -#ifdef CFG_FEC0_IOBASE +#ifdef CONFIG_SYS_FEC0_IOBASE  	{  	 0,			/* index */ -	 CFG_FEC0_IOBASE,	/* io base */ -	 CFG_FEC0_PINMUX,	/* gpio pin muxing */ -	 CFG_FEC0_MIIBASE,	/* mii base */ +	 CONFIG_SYS_FEC0_IOBASE,	/* io base */ +	 CONFIG_SYS_FEC0_PINMUX,	/* gpio pin muxing */ +	 CONFIG_SYS_FEC0_MIIBASE,	/* mii base */  	 -1,			/* phy_addr */  	 0,			/* duplex and speed */  	 0,			/* phy name */ @@ -69,17 +70,17 @@ struct fec_info_s fec_info[] = {  	 (struct fec_info_s *)-1,  	 },  #endif -#ifdef CFG_FEC1_IOBASE +#ifdef CONFIG_SYS_FEC1_IOBASE  	{  	 1,			/* index */ -	 CFG_FEC1_IOBASE,	/* io base */ -	 CFG_FEC1_PINMUX,	/* gpio pin muxing */ -	 CFG_FEC1_MIIBASE,	/* mii base */ +	 CONFIG_SYS_FEC1_IOBASE,	/* io base */ +	 CONFIG_SYS_FEC1_PINMUX,	/* gpio pin muxing */ +	 CONFIG_SYS_FEC1_MIIBASE,	/* mii base */  	 -1,			/* phy_addr */  	 0,			/* duplex and speed */  	 0,			/* phy name */  	 0,			/* phy name init */ -#ifdef CFG_FEC_BUF_USE_SRAM +#ifdef CONFIG_SYS_FEC_BUF_USE_SRAM  	 (cbd_t *)DBUF_LENGTH,	/* RX BD */  #else  	 0,			/* RX BD */ @@ -100,18 +101,6 @@ int fec_init(struct eth_device *dev, bd_t * bd);  void fec_halt(struct eth_device *dev);  void fec_reset(struct eth_device *dev); -extern int fecpin_setclear(struct eth_device *dev, int setclear); - -#ifdef CFG_DISCOVER_PHY -extern void __mii_init(void); -extern uint mii_send(uint mii_cmd); -extern int mii_discover_phy(struct eth_device *dev); -extern int mcffec_miiphy_read(char *devname, unsigned char addr, -			      unsigned char reg, unsigned short *value); -extern int mcffec_miiphy_write(char *devname, unsigned char addr, -			       unsigned char reg, unsigned short value); -#endif -  void setFecDuplexSpeed(volatile fec_t * fecp, bd_t * bd, int dup_spd)  {  	if ((dup_spd >> 16) == FULL) { @@ -174,7 +163,7 @@ int fec_send(struct eth_device *dev, volatile void *packet, int length)  	/* Activate transmit Buffer Descriptor polling */  	fecp->tdar = 0x01000000;	/* Descriptor polling active    */ -#ifndef CFG_FEC_BUF_USE_SRAM +#ifndef CONFIG_SYS_FEC_BUF_USE_SRAM  	/*  	 * FEC unable to initial transmit data packet.  	 * A nop will ensure the descriptor polling active completed. @@ -186,7 +175,7 @@ int fec_send(struct eth_device *dev, volatile void *packet, int length)  #endif -#ifdef CFG_UNIFY_CACHE +#ifdef CONFIG_SYS_UNIFY_CACHE  	icache_invalid();  #endif @@ -221,9 +210,9 @@ int fec_recv(struct eth_device *dev)  	int length;  	for (;;) { -#ifndef CFG_FEC_BUF_USE_SRAM +#ifndef CONFIG_SYS_FEC_BUF_USE_SRAM  #endif -#ifdef CFG_UNIFY_CACHE +#ifdef CONFIG_SYS_UNIFY_CACHE  		icache_invalid();  #endif  		/* section 16.9.23.2 */ @@ -434,15 +423,15 @@ int fec_init(struct eth_device *dev, bd_t * bd)  	fec_reset(dev);  #if defined(CONFIG_CMD_MII) || defined (CONFIG_MII) || \ -	defined (CFG_DISCOVER_PHY) +	defined (CONFIG_SYS_DISCOVER_PHY)  	mii_init();  	setFecDuplexSpeed(fecp, bd, info->dup_spd);  #else -#ifndef CFG_DISCOVER_PHY +#ifndef CONFIG_SYS_DISCOVER_PHY  	setFecDuplexSpeed(fecp, bd, (FECDUPLEX << 16) | FECSPEED); -#endif				/* ifndef CFG_DISCOVER_PHY */ +#endif				/* ifndef CONFIG_SYS_DISCOVER_PHY */  #endif				/* CONFIG_CMD_MII || CONFIG_MII */  	/* We use strictly polling mode only */ @@ -452,9 +441,9 @@ int fec_init(struct eth_device *dev, bd_t * bd)  	fecp->eir = 0xffffffff;  	/* Set station address   */ -	if ((u32) fecp == CFG_FEC0_IOBASE) { -#ifdef CFG_FEC1_IOBASE -		volatile fec_t *fecp1 = (fec_t *) (CFG_FEC1_IOBASE); +	if ((u32) fecp == CONFIG_SYS_FEC0_IOBASE) { +#ifdef CONFIG_SYS_FEC1_IOBASE +		volatile fec_t *fecp1 = (fec_t *) (CONFIG_SYS_FEC1_IOBASE);  		ea = &bd->bi_enet1addr[0];  		fecp1->palr =  		    (ea[0] << 24) | (ea[1] << 16) | (ea[2] << 8) | (ea[3]); @@ -465,14 +454,14 @@ int fec_init(struct eth_device *dev, bd_t * bd)  		    (ea[0] << 24) | (ea[1] << 16) | (ea[2] << 8) | (ea[3]);  		fecp->paur = (ea[4] << 24) | (ea[5] << 16);  	} else { -#ifdef CFG_FEC0_IOBASE -		volatile fec_t *fecp0 = (fec_t *) (CFG_FEC0_IOBASE); +#ifdef CONFIG_SYS_FEC0_IOBASE +		volatile fec_t *fecp0 = (fec_t *) (CONFIG_SYS_FEC0_IOBASE);  		ea = &bd->bi_enetaddr[0];  		fecp0->palr =  		    (ea[0] << 24) | (ea[1] << 16) | (ea[2] << 8) | (ea[3]);  		fecp0->paur = (ea[4] << 24) | (ea[5] << 16);  #endif -#ifdef CFG_FEC1_IOBASE +#ifdef CONFIG_SYS_FEC1_IOBASE  		ea = &bd->bi_enet1addr[0];  		fecp->palr =  		    (ea[0] << 24) | (ea[1] << 16) | (ea[2] << 8) | (ea[3]); @@ -567,14 +556,14 @@ int mcffec_initialize(bd_t * bis)  {  	struct eth_device *dev;  	int i; -#ifdef CFG_FEC_BUF_USE_SRAM -	u32 tmp = CFG_INIT_RAM_ADDR + 0x1000; +#ifdef CONFIG_SYS_FEC_BUF_USE_SRAM +	u32 tmp = CONFIG_SYS_INIT_RAM_ADDR + 0x1000;  #endif  	for (i = 0; i < sizeof(fec_info) / sizeof(fec_info[0]); i++) {  		dev = -		    (struct eth_device *)memalign(CFG_CACHELINE_SIZE, +		    (struct eth_device *)memalign(CONFIG_SYS_CACHELINE_SIZE,  						  sizeof *dev);  		if (dev == NULL)  			hang(); @@ -590,7 +579,7 @@ int mcffec_initialize(bd_t * bis)  		dev->recv = fec_recv;  		/* setup Receive and Transmit buffer descriptor */ -#ifdef CFG_FEC_BUF_USE_SRAM +#ifdef CONFIG_SYS_FEC_BUF_USE_SRAM  		fec_info[i].rxbd = (cbd_t *)((u32)fec_info[i].rxbd + tmp);  		tmp = (u32)fec_info[i].rxbd;  		fec_info[i].txbd = @@ -599,17 +588,17 @@ int mcffec_initialize(bd_t * bis)  		tmp = (u32)fec_info[i].txbd;  		fec_info[i].txbuf =  		    (char *)((u32)fec_info[i].txbuf + tmp + -		    (CFG_TX_ETH_BUFFER * sizeof(cbd_t))); +		    (CONFIG_SYS_TX_ETH_BUFFER * sizeof(cbd_t)));  		tmp = (u32)fec_info[i].txbuf;  #else  		fec_info[i].rxbd = -		    (cbd_t *) memalign(CFG_CACHELINE_SIZE, +		    (cbd_t *) memalign(CONFIG_SYS_CACHELINE_SIZE,  				       (PKTBUFSRX * sizeof(cbd_t)));  		fec_info[i].txbd = -		    (cbd_t *) memalign(CFG_CACHELINE_SIZE, +		    (cbd_t *) memalign(CONFIG_SYS_CACHELINE_SIZE,  				       (TX_BUF_CNT * sizeof(cbd_t)));  		fec_info[i].txbuf = -		    (char *)memalign(CFG_CACHELINE_SIZE, DBUF_LENGTH); +		    (char *)memalign(CONFIG_SYS_CACHELINE_SIZE, DBUF_LENGTH);  #endif  #ifdef ET_DEBUG @@ -617,7 +606,7 @@ int mcffec_initialize(bd_t * bis)  		       (int)fec_info[i].rxbd, (int)fec_info[i].txbd);  #endif -		fec_info[i].phy_name = (char *)memalign(CFG_CACHELINE_SIZE, 32); +		fec_info[i].phy_name = (char *)memalign(CONFIG_SYS_CACHELINE_SIZE, 32);  		eth_register(dev); |