diff options
| author | Tom Rini <trini@konsulko.com> | 2016-08-15 16:38:39 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2016-08-15 16:38:39 -0400 | 
| commit | 2ef98d33166e5c22a61eba29c20e236b72f1e8a2 (patch) | |
| tree | 288afa85ba7134787f5c7146b0d87aaeb07d9b78 /arch/powerpc/cpu/mpc8xx/fec.c | |
| parent | b064c9124acddbcdc70843f62fda13a2d7d7a392 (diff) | |
| parent | cc2593128f7ad1b879e9e5bd3097f6c717cf4c9a (diff) | |
Merge branch 'master' of git://git.denx.de/u-boot-net
Diffstat (limited to 'arch/powerpc/cpu/mpc8xx/fec.c')
| -rw-r--r-- | arch/powerpc/cpu/mpc8xx/fec.c | 40 | 
1 files changed, 25 insertions, 15 deletions
| diff --git a/arch/powerpc/cpu/mpc8xx/fec.c b/arch/powerpc/cpu/mpc8xx/fec.c index f1ae3584660..0940906b1d4 100644 --- a/arch/powerpc/cpu/mpc8xx/fec.c +++ b/arch/powerpc/cpu/mpc8xx/fec.c @@ -6,10 +6,12 @@   */  #include <common.h> -#include <malloc.h> +#include <command.h>  #include <commproc.h> +#include <malloc.h>  #include <net.h> -#include <command.h> + +#include <phy.h>  DECLARE_GLOBAL_DATA_PTR; @@ -47,10 +49,9 @@ DECLARE_GLOBAL_DATA_PTR;  static int mii_discover_phy(struct eth_device *dev);  #endif -int fec8xx_miiphy_read(const char *devname, unsigned char addr, -		unsigned char  reg, unsigned short *value); -int fec8xx_miiphy_write(const char *devname, unsigned char  addr, -		unsigned char  reg, unsigned short value); +int fec8xx_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg); +int fec8xx_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg, +			u16 value);  static struct ether_fcc_info_s  { @@ -170,8 +171,17 @@ int fec_initialize(bd_t *bis)  		eth_register(dev);  #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) -		miiphy_register(dev->name, -			fec8xx_miiphy_read, fec8xx_miiphy_write); +		int retval; +		struct mii_dev *mdiodev = mdio_alloc(); +		if (!mdiodev) +			return -ENOMEM; +		strncpy(mdiodev->name, dev->name, MDIO_NAME_LEN); +		mdiodev->read = fec8xx_miiphy_read; +		mdiodev->write = fec8xx_miiphy_write; + +		retval = mdio_register(mdiodev); +		if (retval < 0) +			return retval;  #endif  	}  	return 1; @@ -894,9 +904,9 @@ void mii_init (void)   *	  Otherwise they hang in mii_send() !!! Sorry!   *****************************************************************************/ -int fec8xx_miiphy_read(const char *devname, unsigned char addr, -		unsigned char  reg, unsigned short *value) +int fec8xx_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg)  { +	unsigned short value = 0;  	short rdreg;    /* register working value */  #ifdef MII_DEBUG @@ -904,15 +914,15 @@ int fec8xx_miiphy_read(const char *devname, unsigned char addr,  #endif  	rdreg = mii_send(mk_mii_read(addr, reg)); -	*value = rdreg; +	value = rdreg;  #ifdef MII_DEBUG -	printf ("0x%04x\n", *value); +	printf ("0x%04x\n", value);  #endif -	return 0; +	return value;  } -int fec8xx_miiphy_write(const char *devname, unsigned char  addr, -		unsigned char  reg, unsigned short value) +int fec8xx_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg, +			u16 value)  {  #ifdef MII_DEBUG  	printf ("miiphy_write(0x%x) @ 0x%x = ", reg, addr); | 
