Message ID | 20210120124340.23612-1-patrice.chotard@foss.st.com |
---|---|
State | Accepted |
Commit | 54f5bf3d61084c15a9e364ac7a5fdede7c1c780e |
Delegated to: | Patrick Delaunay |
Headers | show |
Series | [1/2] pinctrl: stmfx: Fix pin configuration issue | expand |
Hi Patrice, On 1/20/21 1:43 PM, Patrice Chotard wrote: > pin-controller pin's name must be equal to pin's name used in device > tree with "pins" DT property. > > Issue detected on stm32mp157c-ev1 board with goodix touchscreen. > In DT, the goodix's pin is declared in DT with the node: > > goodix_pins: goodix { > pins = "gpio14"; > bias-pull-down; > }; > > Whereas in stmfx pin-controller driver, pin's name are equal to > "stmfx_gpioxx" where xx is the pin number. > This lead to not configure stmfx's pins at probe because pins is > identified by its name (see pinctrl_pin_name_to_selector() in > pinctrl-generic.c) and stmfx pin "gpio14" can't be found. > > To fix this issue, come back to the original stmfx pin's name. > > Revert "pinctrl: stmfx: update pin name" > > This reverts commit 38d30cdcd65c73eeefac5efa328ad444a53b77dd. > > Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> > Tested-by: Patrick DELAUNAY <patrick.delaunay@st.com> > --- > > drivers/pinctrl/pinctrl-stmfx.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Thanks Patrick
Hi, On 1/20/21 1:43 PM, Patrice Chotard wrote: > pin-controller pin's name must be equal to pin's name used in device > tree with "pins" DT property. > > Issue detected on stm32mp157c-ev1 board with goodix touchscreen. > In DT, the goodix's pin is declared in DT with the node: > > goodix_pins: goodix { > pins = "gpio14"; > bias-pull-down; > }; > > Whereas in stmfx pin-controller driver, pin's name are equal to > "stmfx_gpioxx" where xx is the pin number. > This lead to not configure stmfx's pins at probe because pins is > identified by its name (see pinctrl_pin_name_to_selector() in > pinctrl-generic.c) and stmfx pin "gpio14" can't be found. > > To fix this issue, come back to the original stmfx pin's name. > > Revert "pinctrl: stmfx: update pin name" > > This reverts commit 38d30cdcd65c73eeefac5efa328ad444a53b77dd. > > Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> > Tested-by: Patrick DELAUNAY <patrick.delaunay@st.com> > --- > > drivers/pinctrl/pinctrl-stmfx.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > Applied to u-boot-stm/master, thanks! Regards Patrick
diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c index a62be44d2d..b789f3686c 100644 --- a/drivers/pinctrl/pinctrl-stmfx.c +++ b/drivers/pinctrl/pinctrl-stmfx.c @@ -343,8 +343,8 @@ static int stmfx_pinctrl_get_pins_count(struct udevice *dev) } /* - * STMFX pins[15:0] are called "stmfx_gpio[15:0]" - * and STMFX pins[23:16] are called "stmfx_agpio[7:0]" + * STMFX pins[15:0] are called "gpio[15:0]" + * and STMFX pins[23:16] are called "agpio[7:0]" */ #define MAX_PIN_NAME_LEN 7 static char pin_name[MAX_PIN_NAME_LEN]; @@ -352,9 +352,9 @@ static const char *stmfx_pinctrl_get_pin_name(struct udevice *dev, unsigned int selector) { if (selector < STMFX_MAX_GPIO) - snprintf(pin_name, MAX_PIN_NAME_LEN, "stmfx_gpio%u", selector); + snprintf(pin_name, MAX_PIN_NAME_LEN, "gpio%u", selector); else - snprintf(pin_name, MAX_PIN_NAME_LEN, "stmfx_agpio%u", selector - 16); + snprintf(pin_name, MAX_PIN_NAME_LEN, "agpio%u", selector - 16); return pin_name; }