diff options
author | Andreas Bießmann <andreas.devel@googlemail.com> | 2014-09-18 23:46:48 +0200 |
---|---|---|
committer | Andreas Bießmann <andreas.devel@googlemail.com> | 2014-10-10 21:51:15 +0200 |
commit | 476095772f3aa58ee581943e4e993d9b8a61239c (patch) | |
tree | 66261218e7dc5d406c7bd2b0e54cdb6e7f59a70a | |
parent | ebf8644a113a36b163c2e06fe1e081c73f563c3a (diff) | |
download | u-boot-imx-476095772f3aa58ee581943e4e993d9b8a61239c.zip u-boot-imx-476095772f3aa58ee581943e4e993d9b8a61239c.tar.gz u-boot-imx-476095772f3aa58ee581943e4e993d9b8a61239c.tar.bz2 |
macb: simplify gmac initialisation
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Bo Shen <voice.shen@atmel.com>
-rw-r--r-- | drivers/net/macb.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 01a94a4..375c8a4 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -479,31 +479,22 @@ static int macb_phy_init(struct macb_device *macb) /* First check for GMAC */ if (macb_is_gem(macb)) { lpa = macb_mdio_read(macb, MII_STAT1000); - if (lpa & (1 << 11)) { - speed = 1000; - duplex = 1; - } else { - if (lpa & (1 << 10)) { - speed = 1000; - duplex = 1; - } else { - speed = 0; - } - } - if (speed == 1000) { - printf("%s: link up, %dMbps %s-duplex (lpa: 0x%04x)\n", + if (lpa & (LPA_1000FULL | LPA_1000HALF)) { + duplex = ((lpa & LPA_1000FULL) ? 1 : 0); + + printf("%s: link up, 1000Mbps %s-duplex (lpa: 0x%04x)\n", netdev->name, - speed, duplex ? "full" : "half", lpa); ncfgr = macb_readl(macb, NCFGR); - ncfgr &= ~(GEM_BIT(GBE) | MACB_BIT(SPD) | MACB_BIT(FD)); - if (speed) - ncfgr |= GEM_BIT(GBE); + ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD)); + ncfgr |= GEM_BIT(GBE); + if (duplex) ncfgr |= MACB_BIT(FD); + macb_writel(macb, NCFGR, ncfgr); return 1; |