From: Josep Orga Date: Sat, 18 Apr 2020 08:17:33 +0000 (+0200) Subject: net: ethernet: fec_main: Enable reset PHY GPIOs at startup. X-Git-Tag: rel_imx_4.19.35_1.1.0-somdevices.0~34 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=3ed2f8fb86f85bbdb28587b34c8006999208478d;p=linux.git net: ethernet: fec_main: Enable reset PHY GPIOs at startup. Signed-off-by: Josep Orga --- diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 50c44cba7687..c2c23df4ff08 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -3500,6 +3500,23 @@ static int fec_enet_init(struct net_device *ndev) } #ifdef CONFIG_OF +#define GPIO_PHY_1 138 +#define GPIO_PHY_2 139 +static void fec_reset_phy_init(void) +{ + int ret = 0; + ret = gpio_request(GPIO_PHY_1, "RESET_PHY_1"); + if (!ret) { + gpio_direction_output(GPIO_PHY_1, 1); + gpio_free(GPIO_PHY_1); + } + ret = gpio_request(GPIO_PHY_2, "RESET_PHY_2"); + if (!ret) { + ret = gpio_direction_output(GPIO_PHY_2, 1); + gpio_free(GPIO_PHY_2); + } +} + static int fec_reset_phy(struct platform_device *pdev) { int err, phy_reset; @@ -3660,6 +3677,7 @@ fec_probe(struct platform_device *pdev) char irq_name[8]; int irq_cnt; + fec_reset_phy_init(); fec_enet_get_queue_num(pdev, &num_tx_qs, &num_rx_qs); /* Init network device */