Add support for handling SFP TX disable for MVNETA in the same fashion as to what MVPP2 is doing in order to enable using SFP-s.
This allows using ethernet on SFP only boards. Signed-off-by: Robert Marko <robert.ma...@sartura.hr> --- drivers/net/mvneta.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c index 4a4268c2b2..53989d9f46 100644 --- a/drivers/net/mvneta.c +++ b/drivers/net/mvneta.c @@ -286,6 +286,7 @@ struct mvneta_port { struct phy_device *phydev; #if CONFIG_IS_ENABLED(DM_GPIO) struct gpio_desc phy_reset_gpio; + struct gpio_desc phy_tx_disable_gpio; #endif struct mii_dev *bus; }; @@ -1770,11 +1771,17 @@ static int mvneta_probe(struct udevice *dev) gpio_request_by_name(dev, "phy-reset-gpios", 0, &pp->phy_reset_gpio, GPIOD_IS_OUT); + gpio_request_by_name(dev, "marvell,sfp-tx-disable-gpio", 0, + &pp->phy_tx_disable_gpio, GPIOD_IS_OUT); + if (dm_gpio_is_valid(&pp->phy_reset_gpio)) { dm_gpio_set_value(&pp->phy_reset_gpio, 1); mdelay(10); dm_gpio_set_value(&pp->phy_reset_gpio, 0); } + + if (dm_gpio_is_valid(&pp->phy_tx_disable_gpio)) + dm_gpio_set_value(&pp->phy_tx_disable_gpio, 0); #endif return board_network_enable(bus); -- 2.35.1