summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2016-05-16 14:04:53 +0800
committerYe Li <ye.li@nxp.com>2016-05-16 15:29:24 +0800
commit7d7f4886d58f8adc52ff61efa05f5e1c3e608c59 (patch)
tree27502719171e48fe848559f4adcae7a842a06740
parent1d8cca6b320d3a6bbac1ba22a437df85d132d596 (diff)
downloadu-boot-imx-7d7f4886d58f8adc52ff61efa05f5e1c3e608c59.zip
u-boot-imx-7d7f4886d58f8adc52ff61efa05f5e1c3e608c59.tar.gz
u-boot-imx-7d7f4886d58f8adc52ff61efa05f5e1c3e608c59.tar.bz2
MLK-12791 mx6qpsabresd: Change ENET TXCLK clock from PLL
In u-boot, i.MX6QP sabresd board uses 125Mhz ref clock from PHY, While kernel uses the clock from internal PLL by setting GPR5 bit 9. When doing warm reset in kernel, the GPR regigster is not reset, so the clock source still is the PLL. This causes ENET in u-boot can't work. In this patch, we change the u-boot to use internal PLL to align with kernel for i.MX6QP. This also fixes the ENET issue after kernel warm reset. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 7f00c72e17e4e440df62aa4945a619fdbc9cfd8f)
-rw-r--r--board/freescale/mx6sabresd/mx6sabresd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index 716e2d7..88f5d96 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -865,6 +865,16 @@ int overwrite_console(void)
int board_eth_init(bd_t *bis)
{
+ if (is_mx6dqp()) {
+ int ret;
+
+ /* select ENET MAC0 TX clock from PLL */
+ imx_iomux_set_gpr_register(5, 9, 1, 1);
+ ret = enable_fec_anatop_clock(0, ENET_125MHZ);
+ if (ret)
+ printf("Error fec anatop clock settings!\n");
+ }
+
setup_iomux_enet();
setup_pcie();