diff options
Diffstat (limited to 'drivers/net/fm/memac_phy.c')
-rw-r--r-- | drivers/net/fm/memac_phy.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c index 3ddae97e09..e0b62b9449 100644 --- a/drivers/net/fm/memac_phy.c +++ b/drivers/net/fm/memac_phy.c @@ -22,11 +22,9 @@ #define memac_setbits_32(a, v) setbits_be32(a, v) #endif -#ifdef CONFIG_DM_ETH struct fm_mdio_priv { struct memac_mdio_controller *regs; }; -#endif #define MAX_NUM_RETRIES 1000 @@ -88,9 +86,6 @@ int memac_mdio_write(struct mii_dev *bus, int port_addr, int dev_addr, u32 c45 = 1; /* Default to 10G interface */ int err; -#ifndef CONFIG_DM_ETH - regs = bus->priv; -#else struct fm_mdio_priv *priv; if (!bus->priv) @@ -99,7 +94,6 @@ int memac_mdio_write(struct mii_dev *bus, int port_addr, int dev_addr, regs = priv->regs; debug("memac_mdio_write(regs %p, port %d, dev %d, reg %d, val %#x)\n", regs, port_addr, dev_addr, regnum, value); -#endif if (dev_addr == MDIO_DEVAD_NONE) { c45 = 0; /* clause 22 */ @@ -147,22 +141,14 @@ int memac_mdio_read(struct mii_dev *bus, int port_addr, int dev_addr, u32 c45 = 1; int err; -#ifndef CONFIG_DM_ETH - regs = bus->priv; -#else struct fm_mdio_priv *priv; if (!bus->priv) return -EINVAL; priv = dev_get_priv(bus->priv); regs = priv->regs; -#endif if (dev_addr == MDIO_DEVAD_NONE) { -#ifndef CONFIG_DM_ETH - if (!strcmp(bus->name, DEFAULT_FM_TGEC_MDIO_NAME)) - return 0xffff; -#endif c45 = 0; /* clause 22 */ dev_addr = regnum & 0x1f; memac_clrbits_32(®s->mdio_stat, MDIO_STAT_ENC); @@ -205,43 +191,6 @@ int memac_mdio_reset(struct mii_dev *bus) return 0; } -#ifndef CONFIG_DM_ETH -int fm_memac_mdio_init(struct bd_info *bis, struct memac_mdio_info *info) -{ - struct mii_dev *bus = mdio_alloc(); - - if (!bus) { - printf("Failed to allocate FM TGEC MDIO bus\n"); - return -1; - } - - bus->read = memac_mdio_read; - bus->write = memac_mdio_write; - bus->reset = memac_mdio_reset; - strcpy(bus->name, info->name); - - bus->priv = info->regs; - - /* - * On some platforms like B4860, default value of MDIO_CLK_DIV bits - * in mdio_stat(mdio_cfg) register generates MDIO clock too high - * (much higher than 2.5MHz), violating the IEEE specs. - * On other platforms like T1040, default value of MDIO_CLK_DIV bits - * is zero, so MDIO clock is disabled. - * So, for proper functioning of MDIO, MDIO_CLK_DIV bits needs to - * be properly initialized. - * NEG bit default should be '1' as per FMAN-v3 RM, but on platform - * like T2080QDS, this bit default is '0', which leads to MDIO failure - * on XAUI PHY, so set this bit definitely. - */ - memac_setbits_32( - &((struct memac_mdio_controller *)info->regs)->mdio_stat, - MDIO_STAT_CLKDIV(258) | MDIO_STAT_NEG); - - return mdio_register(bus); -} - -#else /* CONFIG_DM_ETH */ #if defined(CONFIG_PHYLIB) && defined(CONFIG_DM_MDIO) static int fm_mdio_read(struct udevice *dev, int addr, int devad, int reg) { @@ -341,4 +290,3 @@ U_BOOT_DRIVER(fman_mdio) = { .plat_auto = sizeof(struct mdio_perdev_priv), }; #endif /* CONFIG_PHYLIB && CONFIG_DM_MDIO */ -#endif /* CONFIG_DM_ETH */ |