|
|
|
@ -29,6 +29,7 @@ |
|
|
|
|
#include "uccf.h" |
|
|
|
|
#include "uec.h" |
|
|
|
|
#include "uec_phy.h" |
|
|
|
|
#include "miiphy.h" |
|
|
|
|
|
|
|
|
|
#if defined(CONFIG_QE) |
|
|
|
|
|
|
|
|
@ -125,6 +126,13 @@ static uec_info_t eth4_uec_info = { |
|
|
|
|
}; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define MAXCONTROLLERS (4) |
|
|
|
|
|
|
|
|
|
static struct eth_device *devlist[MAXCONTROLLERS]; |
|
|
|
|
|
|
|
|
|
u16 phy_read (struct uec_mii_info *mii_info, u16 regnum); |
|
|
|
|
void phy_write (struct uec_mii_info *mii_info, u16 regnum, u16 val); |
|
|
|
|
|
|
|
|
|
static int uec_mac_enable(uec_private_t *uec, comm_dir_e mode) |
|
|
|
|
{ |
|
|
|
|
uec_t *uec_regs; |
|
|
|
@ -629,6 +637,39 @@ static void phy_change(struct eth_device *dev) |
|
|
|
|
adjust_link(dev); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) \ |
|
|
|
|
&& !defined(BITBANGMII) |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Read a MII PHY register. |
|
|
|
|
* |
|
|
|
|
* Returns: |
|
|
|
|
* 0 on success |
|
|
|
|
*/ |
|
|
|
|
static int uec_miiphy_read(char *devname, unsigned char addr, |
|
|
|
|
unsigned char reg, unsigned short *value) |
|
|
|
|
{ |
|
|
|
|
*value = uec_read_phy_reg(devlist[0], addr, reg); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Write a MII PHY register. |
|
|
|
|
* |
|
|
|
|
* Returns: |
|
|
|
|
* 0 on success |
|
|
|
|
*/ |
|
|
|
|
static int uec_miiphy_write(char *devname, unsigned char addr, |
|
|
|
|
unsigned char reg, unsigned short value) |
|
|
|
|
{ |
|
|
|
|
uec_write_phy_reg(devlist[0], addr, reg, value); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static int uec_set_mac_address(uec_private_t *uec, u8 *mac_addr) |
|
|
|
|
{ |
|
|
|
|
uec_t *uec_regs; |
|
|
|
@ -1334,6 +1375,8 @@ int uec_initialize(int index) |
|
|
|
|
return -EINVAL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
devlist[index] = dev; |
|
|
|
|
|
|
|
|
|
uec->uec_info = uec_info; |
|
|
|
|
|
|
|
|
|
sprintf(dev->name, "FSL UEC%d", index); |
|
|
|
@ -1356,6 +1399,13 @@ int uec_initialize(int index) |
|
|
|
|
return err; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) \ |
|
|
|
|
&& !defined(BITBANGMII) |
|
|
|
|
miiphy_register(dev->name, uec_miiphy_read, uec_miiphy_write); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
return 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* CONFIG_QE */ |
|
|
|
|