static int setup_fec(void) { struct iomuxc_gpr_base_regs *const iomuxc_gpr_regs = (struct iomuxc_gpr_base_regs *) IOMUXC_GPR_BASE_ADDR; /* Use 125M anatop REF_CLK1 for ENET1, clear gpr1[13], gpr1[17]*/ clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], (IOMUXC_GPR_GPR1_GPR_ENET1_TX_CLK_SEL_MASK | IOMUXC_GPR_GPR1_GPR_ENET1_CLK_DIR_MASK), 0); return set_clk_enet(ENET_125MHz); }
static int setup_fec(void) { struct iomuxc_gpr_base_regs *const iomuxc_gpr_regs = (struct iomuxc_gpr_base_regs *) IOMUXC_GPR_BASE_ADDR; int ret; /* Use 125M anatop REF_CLK for ENET2, clear gpr1[14], gpr1[18]*/ clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], (IOMUXC_GPR_GPR1_GPR_ENET2_TX_CLK_SEL_MASK | IOMUXC_GPR_GPR1_GPR_ENET2_CLK_DIR_MASK), 0); ret = set_clk_enet(ENET_125MHz); if (ret) return ret; return 0; }
static int setup_fec(void) { struct iomuxc_gpr_base_regs *const iomuxc_gpr_regs = (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR; #ifndef CONFIG_COLIBRI_IMX7_EXT_PHYCLK /* * Use 50M anatop REF_CLK1 for ENET1, clear gpr1[13], set gpr1[17] * and output it on the pin */ clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], IOMUXC_GPR_GPR1_GPR_ENET1_TX_CLK_SEL_MASK, IOMUXC_GPR_GPR1_GPR_ENET1_CLK_DIR_MASK); #else /* Use 50M external CLK for ENET1, set gpr1[13], clear gpr1[17] */ clrsetbits_le32(&iomuxc_gpr_regs->gpr[1], IOMUXC_GPR_GPR1_GPR_ENET1_CLK_DIR_MASK, IOMUXC_GPR_GPR1_GPR_ENET1_TX_CLK_SEL_MASK); #endif return set_clk_enet(ENET_50MHz); }