Re: [PATCH net-next 2/2] net: pse-pd: pd692x0: support disabling disable ports GPIO

From: Robert Marko

Date: Sat May 09 2026 - 08:15:39 EST


On Fri, May 8, 2026 at 2:06 PM Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote:
>
> On Thu, May 07, 2026 at 12:46:55PM +0200, Robert Marko wrote:
> > Microchip PSE controllers have a dedicated disable ports input that like it
> > name says disables PoE on all ports.
> >
> > So lets support parsing that GPIO and using the GPIO flags to set it to
> > output high by default and enable PoE on all ports during probe.
> >
> > Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx>
> > ---
> > drivers/net/pse-pd/pd692x0.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/drivers/net/pse-pd/pd692x0.c b/drivers/net/pse-pd/pd692x0.c
> > index 44cf9f97be67..670656abd16f 100644
> > --- a/drivers/net/pse-pd/pd692x0.c
> > +++ b/drivers/net/pse-pd/pd692x0.c
> > @@ -7,6 +7,7 @@
> >
> > #include <linux/delay.h>
> > #include <linux/firmware.h>
> > +#include <linux/gpio/consumer.h>
> > #include <linux/i2c.h>
> > #include <linux/module.h>
> > #include <linux/of.h>
> > @@ -1781,6 +1782,7 @@ static int pd692x0_i2c_probe(struct i2c_client *client)
> > static const char * const regulators[] = { "vdd", "vdda" };
> > struct pd692x0_msg msg, buf = {0}, zero = {0};
> > struct device *dev = &client->dev;
> > + struct gpio_desc *disable_ports;
> > struct pd692x0_msg_ver ver;
> > struct pd692x0_priv *priv;
> > struct fw_upload *fwl;
> > @@ -1808,6 +1810,11 @@ static int pd692x0_i2c_probe(struct i2c_client *client)
> > priv->client = client;
> > i2c_set_clientdata(client, priv);
> >
> > + disable_ports = devm_gpiod_get_optional(dev, "disable-ports", GPIOD_OUT_HIGH);
>
> I guess this signal is active low. Since gpio framework operates with
> logical values, more natural would be here to use GPIOD_OUT_LOW to
> signal that disable-ports mode is disabled. And in the devicetree use
> GPIO_ACTIVE_LOW.

Yeah, you are correct, the signal is active LOW, I will update to your
suggestion in v2.

Regards,
Robert
>
> --
> Pengutronix e.K. | |
> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |



--
Robert Marko
Staff Embedded Linux Engineer
Sartura d.d.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@xxxxxxxxxx
Web: www.sartura.hr