
Tested-By: Dennis Gilmore dgilmore@redhat.com
El mié, 05-12-2018 a las 00:39 +0800, Aditya Prayoga escribió:
This patch add GPIO configuration support in mvneta driver. Driver will handle PHY reset. GPIO pins should be set in device tree.
Ported from mvpp2x [https://patchwork.ozlabs.org/patch/799654/]
Initial discussion to port the changes into mvneta [https://patchwork.ozlabs.org/patch/1005765/]
Signed-off-by: Aditya Prayoga aditya@kobol.io
drivers/net/mvneta.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c index 8cb04b5..333be8f 100644 --- a/drivers/net/mvneta.c +++ b/drivers/net/mvneta.c @@ -27,6 +27,7 @@ #include <asm/arch/soc.h> #include <linux/compat.h> #include <linux/mbus.h> +#include <asm-generic/gpio.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -274,6 +275,9 @@ struct mvneta_port { int init; int phyaddr; struct phy_device *phydev; +#ifdef CONFIG_DM_GPIO
- struct gpio_desc phy_reset_gpio;
+#endif struct mii_dev *bus; };
@@ -1749,6 +1753,17 @@ static int mvneta_probe(struct udevice *dev) if (ret) return ret;
+#ifdef CONFIG_DM_GPIO
- gpio_request_by_name(dev, "phy-reset-gpios", 0,
&pp->phy_reset_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);
- }
+#endif
- return board_network_enable(bus);
}