lkml.org 
[lkml]   [2023]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 4/4] net: dsa: b53: mdio: Add optional reset gpio
Date
Some Broadcom Ethernet switch devices feature a reset pin driven by GPIO.
Provide the option to specify a reset gpio.

Signed-off-by: Paul Geurts <paul.geurts@prodrive-technologies.com>
---
drivers/net/dsa/b53/b53_mdio.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/net/dsa/b53/b53_mdio.c b/drivers/net/dsa/b53/b53_mdio.c index 8b422b298cd5..32af5881834c 100644
--- a/drivers/net/dsa/b53/b53_mdio.c
+++ b/drivers/net/dsa/b53/b53_mdio.c
@@ -22,6 +22,7 @@
#include <linux/delay.h>
#include <linux/brcmphy.h>
#include <linux/rtnetlink.h>
+#include <linux/gpio/consumer.h>
#include <net/dsa.h>

#include "b53_priv.h"
@@ -303,6 +304,14 @@ static int b53_mdio_probe(struct mdio_device *mdiodev)
return -ENODEV;
}

+ /* Try to get a reset GPIO and get the switch out of reset when its there */
+ mdiodev->reset_gpio = devm_gpiod_get_optional(&mdiodev->dev, "reset", GPIOD_OUT_HIGH);
+ if (mdiodev->reset_gpio) {
+ mdelay(50);
+ gpiod_set_value(mdiodev->reset_gpio, 0);
+ mdelay(50);
+ }
+
/* read the first port's id */
phy_id = mdiobus_read(mdiodev->bus, 0, 2) << 16;
phy_id |= mdiobus_read(mdiodev->bus, 0, 3);
--
2.30.2
\
 
 \ /
  Last update: 2023-03-27 00:37    [W:0.114 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site