From b9ce10b3a810646dcedb1c022c3fcc14cdd6d3c1 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Tue, 7 Apr 2015 20:42:30 +0000 Subject: [PATCH] steal-board-eth-init-from-hummingboard Use board_eth_init from hummingboard.c, which not only compiles, but actually enables ethernet support. Gbp-Pq: Topic cubox-i Gbp-Pq: Name steal-board-eth-init-from-hummingboard.diff --- board/solidrun/mx6_cubox-i/mx6_cubox-i.c | 30 +++++++----------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/board/solidrun/mx6_cubox-i/mx6_cubox-i.c b/board/solidrun/mx6_cubox-i/mx6_cubox-i.c index 8b1e2e348..6e171a1fe 100644 --- a/board/solidrun/mx6_cubox-i/mx6_cubox-i.c +++ b/board/solidrun/mx6_cubox-i/mx6_cubox-i.c @@ -276,30 +276,18 @@ int board_phy_config(struct phy_device *phydev) int board_eth_init(bd_t *bis) { - int ret; - struct iomuxc *const iomuxc_regs - = (struct iomuxc *) IOMUXC_BASE_ADDR; - struct anatop_regs __iomem *anatop = - (struct anatop_regs __iomem *)ANATOP_BASE_ADDR; - u32 reg = 0; - s32 timeout = 100000; - - enable_fec_anatop_clock(ENET_25MHz); - /* set gpr1[21] */ - clrsetbits_le32(&iomuxc_regs->gpr[1], 0, (1 << 21)); - - while (timeout--) { - if (readl(&anatop->pll_enet) & BM_ANADIG_PLL_ENET_LOCK) - break; - } - - setup_iomux_enet(); + struct iomuxc *const iomuxc_regs = (struct iomuxc *)IOMUXC_BASE_ADDR; - ret = cpu_eth_init(bis); + int ret = enable_fec_anatop_clock(ENET_25MHz); if (ret) - printf("FEC MXC: %s:failed\n", __func__); + return ret; - return 0; + /* set gpr1[ENET_CLK_SEL] */ + setbits_le32(&iomuxc_regs->gpr[1], IOMUXC_GPR1_ENET_CLK_SEL_MASK); + + setup_iomux_enet(); + + return cpu_eth_init(bis); } #endif -- 2.30.2