arm: dts: imx8mq-evk: add phy-reset-gpios for fec1
authorAlifer Moraes <alifer.wsdm@gmail.com>
Fri, 14 Feb 2020 19:18:50 +0000 (16:18 -0300)
committerStefano Babic <sbabic@denx.de>
Tue, 10 Mar 2020 09:59:08 +0000 (10:59 +0100)
Instead of resetting the ethernet phy through functions in imx8mq_evk.c, let the
driver reset the phy via dts description adding a reset duration of 10 ms
following atheros 8031's datasheet recommendation.

Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
arch/arm/dts/imx8mq-evk.dts
board/freescale/imx8mq_evk/imx8mq_evk.c

index 3693933451473fa54940fce3fcb559d71421511c..55294ba9c8798bd520336470cd4db40d84a4f016 100644 (file)
        pinctrl-0 = <&pinctrl_fec1>;
        phy-mode = "rgmii-id";
        phy-handle = <&ethphy0>;
+       phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+       phy-reset-duration = <10>;
        fsl,magic-packet;
        status = "okay";
 
index cb39d0f2d684c996bc31514811fa2b020086701d..b2f464abb1a1a1598e790182219f5405e357e2e9 100644 (file)
@@ -64,29 +64,11 @@ int dram_init(void)
 }
 
 #ifdef CONFIG_FEC_MXC
-#define FEC_RST_PAD IMX_GPIO_NR(1, 9)
-static iomux_v3_cfg_t const fec1_rst_pads[] = {
-       IMX8MQ_PAD_GPIO1_IO09__GPIO1_IO9 | MUX_PAD_CTRL(NO_PAD_CTRL),
-};
-
-static void setup_iomux_fec(void)
-{
-       imx_iomux_v3_setup_multiple_pads(fec1_rst_pads,
-                                        ARRAY_SIZE(fec1_rst_pads));
-
-       gpio_request(IMX_GPIO_NR(1, 9), "fec1_rst");
-       gpio_direction_output(IMX_GPIO_NR(1, 9), 0);
-       udelay(500);
-       gpio_direction_output(IMX_GPIO_NR(1, 9), 1);
-}
-
 static int setup_fec(void)
 {
        struct iomuxc_gpr_base_regs *gpr =
                (struct iomuxc_gpr_base_regs *)IOMUXC_GPR_BASE_ADDR;
 
-       setup_iomux_fec();
-
        /* Use 125M anatop REF_CLK1 for ENET1, not from external */
        clrsetbits_le32(&gpr->gpr[1], BIT(13) | BIT(17), 0);
        return set_clk_enet(ENET_125MHZ);