Message ID | 20221011-gpiolib-quirks-v1-7-e01d9d3e7b29@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | gpiolib: more quirks to handle legacy names | expand |
Am Mittwoch, 12. Oktober 2022, 00:19:35 CEST schrieb Dmitry Torokhov: > Bindings for Freescale Fast Ethernet Controller use a separate > property "phy-reset-active-high" to specify polarity of its phy > gpio line. To allow converting the driver to gpiod API we need > to add this quirk to gpiolib. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- > drivers/gpio/gpiolib-of.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c > index 3200d705fbe3..c3d3fe4d927c 100644 > --- a/drivers/gpio/gpiolib-of.c > +++ b/drivers/gpio/gpiolib-of.c > @@ -231,6 +231,33 @@ static void of_gpio_flags_quirks(const struct > device_node *np, !strcmp(propname, "snps,reset-gpio") && > of_property_read_bool(np, "snps,reset-active-low")) > *flags |= OF_GPIO_ACTIVE_LOW; > + > + /* > + * Freescale Fast Ethernet Controller uses a separate property to > + * describe polarity of the phy reset line. > + */ > + if (IS_ENABLED(CONFIG_FEC)) { > + static const char * const fec_devices[] = { > + "fsl,imx25-fec", > + "fsl,imx27-fec", > + "fsl,imx28-fec", > + "fsl,imx6q-fec", > + "fsl,mvf600-fec", > + "fsl,imx6sx-fec", > + "fsl,imx6ul-fec", > + "fsl,imx6mq-fec", > + "fsl,imx6qm-fec", These two should be 'fsl,imx8mq-fec' & 'fsl,imx8qm-fec' (imx8 instead of imx6). Best regards, Alexander > + "fsl,s32v234-fec", > + NULL > + }; > + > + if (!strcmp(propname, "phy-reset-gpios") && > + of_device_compatible_match(np, fec_devices)) { > + bool active_high = of_property_read_bool(np, > + "phy-reset- active-high"); > + of_gpio_quirk_polarity(np, active_high, flags); > + } > + } > } > > /**
On October 11, 2022 11:14:46 PM PDT, Alexander Stein <alexander.stein@ew.tq-group.com> wrote: >Am Mittwoch, 12. Oktober 2022, 00:19:35 CEST schrieb Dmitry Torokhov: >> Bindings for Freescale Fast Ethernet Controller use a separate >> property "phy-reset-active-high" to specify polarity of its phy >> gpio line. To allow converting the driver to gpiod API we need >> to add this quirk to gpiolib. >> >> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> >> --- >> drivers/gpio/gpiolib-of.c | 27 +++++++++++++++++++++++++++ >> 1 file changed, 27 insertions(+) >> >> diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c >> index 3200d705fbe3..c3d3fe4d927c 100644 >> --- a/drivers/gpio/gpiolib-of.c >> +++ b/drivers/gpio/gpiolib-of.c >> @@ -231,6 +231,33 @@ static void of_gpio_flags_quirks(const struct >> device_node *np, !strcmp(propname, "snps,reset-gpio") && >> of_property_read_bool(np, "snps,reset-active-low")) >> *flags |= OF_GPIO_ACTIVE_LOW; >> + >> + /* >> + * Freescale Fast Ethernet Controller uses a separate property to >> + * describe polarity of the phy reset line. >> + */ >> + if (IS_ENABLED(CONFIG_FEC)) { >> + static const char * const fec_devices[] = { >> + "fsl,imx25-fec", >> + "fsl,imx27-fec", >> + "fsl,imx28-fec", >> + "fsl,imx6q-fec", >> + "fsl,mvf600-fec", >> + "fsl,imx6sx-fec", >> + "fsl,imx6ul-fec", > >> + "fsl,imx6mq-fec", >> + "fsl,imx6qm-fec", > >These two should be 'fsl,imx8mq-fec' & 'fsl,imx8qm-fec' (imx8 instead of >imx6). Thank you for noticing this. I'll fix it up in the next version. Thanks.
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c index 3200d705fbe3..c3d3fe4d927c 100644 --- a/drivers/gpio/gpiolib-of.c +++ b/drivers/gpio/gpiolib-of.c @@ -231,6 +231,33 @@ static void of_gpio_flags_quirks(const struct device_node *np, !strcmp(propname, "snps,reset-gpio") && of_property_read_bool(np, "snps,reset-active-low")) *flags |= OF_GPIO_ACTIVE_LOW; + + /* + * Freescale Fast Ethernet Controller uses a separate property to + * describe polarity of the phy reset line. + */ + if (IS_ENABLED(CONFIG_FEC)) { + static const char * const fec_devices[] = { + "fsl,imx25-fec", + "fsl,imx27-fec", + "fsl,imx28-fec", + "fsl,imx6q-fec", + "fsl,mvf600-fec", + "fsl,imx6sx-fec", + "fsl,imx6ul-fec", + "fsl,imx6mq-fec", + "fsl,imx6qm-fec", + "fsl,s32v234-fec", + NULL + }; + + if (!strcmp(propname, "phy-reset-gpios") && + of_device_compatible_match(np, fec_devices)) { + bool active_high = of_property_read_bool(np, + "phy-reset-active-high"); + of_gpio_quirk_polarity(np, active_high, flags); + } + } } /**
Bindings for Freescale Fast Ethernet Controller use a separate property "phy-reset-active-high" to specify polarity of its phy gpio line. To allow converting the driver to gpiod API we need to add this quirk to gpiolib. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> --- drivers/gpio/gpiolib-of.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)