Что вам мешает взять на фтп исходники ?
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf
Chapter 12 Using the RMII Interface
#define ANATOP_PLL_LOCK 0x80000000
#define ANATOP_PLL_PWDN_MASK 0x00001000
#define ANATOP_PLL_BYPASS_MASK 0x00010000
#define ANATOP_FEC_PLL_ENABLE_MASK 0x00002000
static int setup_fec(void)
{
u32 reg = 0;
s32 timeout = 100000;
/*
* get enet tx reference clk from internal clock from anatop
* GPR1[21] = 1
*/
reg = readl(IOMUXC_BASE_ADDR + 0x4);
reg |= (0x1 << 21);
writel(reg, IOMUXC_BASE_ADDR + 0x4);
/* Enable PLLs */
reg = readl(ANATOP_BASE_ADDR + 0xe0); /* ENET PLL */
if ((reg & ANATOP_PLL_PWDN_MASK) || (!(reg & ANATOP_PLL_LOCK))) {
reg &= ~ANATOP_PLL_PWDN_MASK;
writel(reg, ANATOP_BASE_ADDR + 0xe0);
while (timeout--) {
if (readl(ANATOP_BASE_ADDR + 0xe0) & ANATOP_PLL_LOCK)
break;
}
if (timeout <= 0)
return -1;
}
/* Enable FEC clock */
reg |= ANATOP_FEC_PLL_ENABLE_MASK;
reg &= ~ANATOP_PLL_BYPASS_MASK;
writel(reg, ANATOP_BASE_ADDR + 0xe0);
return 0;
}
iomux_v3_cfg_t enet_pads[] = {
MX6DL_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT,
MX6DL_PAD_ENET_MDIO__ENET_MDIO,
MX6DL_PAD_ENET_MDC__ENET_MDC,
MX6DL_PAD_ENET_CRS_DV__ENET_RX_EN,
MX6DL_PAD_ENET_RX_ER__ENET_RX_ER,
MX6DL_PAD_ENET_TX_EN__ENET_TX_EN,
MX6DL_PAD_ENET_RXD0__ENET_RDATA_0,
MX6DL_PAD_ENET_RXD1__ENET_RDATA_1,
MX6DL_PAD_ENET_TXD0__ENET_TDATA_0,
MX6DL_PAD_ENET_TXD1__ENET_TDATA_1,
/* phy reset: gpio1-23 */
MX6DL_PAD_ENET_REF_CLK__GPIO_1_23,
};
fecp->rcr &= ~(0x40);
fecp->rcr |= 0x104;
#define MX6DL_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT \
IOMUX_PAD(0x05E4, 0x0214, 0x12, 0x080C, 0, NO_PAD_CTRL)