* [PATCH 0/2] pinctrl: stm32: correction for pinmux status @ 2021-01-21 16:39 Patrick Delaunay 2021-01-21 16:39 ` [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE Patrick Delaunay 2021-01-21 16:39 ` [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode Patrick Delaunay 0 siblings, 2 replies; 7+ messages in thread From: Patrick Delaunay @ 2021-01-21 16:39 UTC (permalink / raw) To: u-boot This serie solve 2 issues found in output of command "pinmux status -a" when I test the serie [1]. [1] "gpio: Update and simplify the uclass API" http://patchwork.ozlabs.org/project/uboot/list/?series=225585 Patrick Delaunay (2): pinctrl: stm32: correct management pin display of OTYPE pinctrl: stm32: bind only the enabled GPIO subnode drivers/pinctrl/pinctrl_stm32.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE 2021-01-21 16:39 [PATCH 0/2] pinctrl: stm32: correction for pinmux status Patrick Delaunay @ 2021-01-21 16:39 ` Patrick Delaunay 2021-01-22 8:33 ` Patrice CHOTARD 2021-02-09 9:33 ` Patrick DELAUNAY 2021-01-21 16:39 ` [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode Patrick Delaunay 1 sibling, 2 replies; 7+ messages in thread From: Patrick Delaunay @ 2021-01-21 16:39 UTC (permalink / raw) To: u-boot OTYPE can be used for output or for alternate function to select PP = push-pull or OP = open-drain mode, according reference manual (Table 81. Port bit configuration table). This patch removes this indication for input pins and adds it for AF and output pins for pinmux command output. Fixes: b305dbc08b08 ("pinctrl: stm32: display bias information for all pins") Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> --- drivers/pinctrl/pinctrl_stm32.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c index a1f53a793b..374f76d881 100644 --- a/drivers/pinctrl/pinctrl_stm32.c +++ b/drivers/pinctrl/pinctrl_stm32.c @@ -56,7 +56,7 @@ static const char * const pinmux_bias[] = { [STM32_GPIO_PUPD_DOWN] = "pull-down", }; -static const char * const pinmux_input[] = { +static const char * const pinmux_otype[] = { [STM32_GPIO_OTYPE_PP] = "push-pull", [STM32_GPIO_OTYPE_OD] = "open-drain", }; @@ -216,7 +216,7 @@ static int stm32_pinctrl_get_pin_muxing(struct udevice *dev, selector, gpio_idx, mode); priv = dev_get_priv(gpio_dev); pupd = (readl(&priv->regs->pupdr) >> (gpio_idx * 2)) & PUPD_MASK; - + otype = (readl(&priv->regs->otyper) >> gpio_idx) & OTYPE_MSK; switch (mode) { case GPIOF_UNKNOWN: @@ -227,18 +227,16 @@ static int stm32_pinctrl_get_pin_muxing(struct udevice *dev, break; case GPIOF_FUNC: af_num = stm32_pinctrl_get_af(gpio_dev, gpio_idx); - snprintf(buf, size, "%s %d %s", pinmux_mode[mode], af_num, - pinmux_bias[pupd]); + snprintf(buf, size, "%s %d %s %s", pinmux_mode[mode], af_num, + pinmux_otype[otype], pinmux_bias[pupd]); break; case GPIOF_OUTPUT: - snprintf(buf, size, "%s %s %s", - pinmux_mode[mode], pinmux_bias[pupd], - label ? label : ""); + snprintf(buf, size, "%s %s %s %s", + pinmux_mode[mode], pinmux_otype[otype], + pinmux_bias[pupd], label ? label : ""); break; case GPIOF_INPUT: - otype = (readl(&priv->regs->otyper) >> gpio_idx) & OTYPE_MSK; - snprintf(buf, size, "%s %s %s %s", - pinmux_mode[mode], pinmux_input[otype], + snprintf(buf, size, "%s %s %s", pinmux_mode[mode], pinmux_bias[pupd], label ? label : ""); break; } -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE 2021-01-21 16:39 ` [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE Patrick Delaunay @ 2021-01-22 8:33 ` Patrice CHOTARD 2021-02-09 9:33 ` Patrick DELAUNAY 1 sibling, 0 replies; 7+ messages in thread From: Patrice CHOTARD @ 2021-01-22 8:33 UTC (permalink / raw) To: u-boot Hi Patrick On 1/21/21 5:39 PM, Patrick Delaunay wrote: > OTYPE can be used for output or for alternate function to select > PP = push-pull or OP = open-drain mode, according reference manual > (Table 81. Port bit configuration table). > > This patch removes this indication for input pins and adds it > for AF and output pins for pinmux command output. > > Fixes: b305dbc08b08 ("pinctrl: stm32: display bias information for all pins") > > Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> > --- > > drivers/pinctrl/pinctrl_stm32.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c > index a1f53a793b..374f76d881 100644 > --- a/drivers/pinctrl/pinctrl_stm32.c > +++ b/drivers/pinctrl/pinctrl_stm32.c > @@ -56,7 +56,7 @@ static const char * const pinmux_bias[] = { > [STM32_GPIO_PUPD_DOWN] = "pull-down", > }; > > -static const char * const pinmux_input[] = { > +static const char * const pinmux_otype[] = { > [STM32_GPIO_OTYPE_PP] = "push-pull", > [STM32_GPIO_OTYPE_OD] = "open-drain", > }; > @@ -216,7 +216,7 @@ static int stm32_pinctrl_get_pin_muxing(struct udevice *dev, > selector, gpio_idx, mode); > priv = dev_get_priv(gpio_dev); > pupd = (readl(&priv->regs->pupdr) >> (gpio_idx * 2)) & PUPD_MASK; > - > + otype = (readl(&priv->regs->otyper) >> gpio_idx) & OTYPE_MSK; > > switch (mode) { > case GPIOF_UNKNOWN: > @@ -227,18 +227,16 @@ static int stm32_pinctrl_get_pin_muxing(struct udevice *dev, > break; > case GPIOF_FUNC: > af_num = stm32_pinctrl_get_af(gpio_dev, gpio_idx); > - snprintf(buf, size, "%s %d %s", pinmux_mode[mode], af_num, > - pinmux_bias[pupd]); > + snprintf(buf, size, "%s %d %s %s", pinmux_mode[mode], af_num, > + pinmux_otype[otype], pinmux_bias[pupd]); > break; > case GPIOF_OUTPUT: > - snprintf(buf, size, "%s %s %s", > - pinmux_mode[mode], pinmux_bias[pupd], > - label ? label : ""); > + snprintf(buf, size, "%s %s %s %s", > + pinmux_mode[mode], pinmux_otype[otype], > + pinmux_bias[pupd], label ? label : ""); > break; > case GPIOF_INPUT: > - otype = (readl(&priv->regs->otyper) >> gpio_idx) & OTYPE_MSK; > - snprintf(buf, size, "%s %s %s %s", > - pinmux_mode[mode], pinmux_input[otype], > + snprintf(buf, size, "%s %s %s", pinmux_mode[mode], > pinmux_bias[pupd], label ? label : ""); > break; > } > Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Thanks Patrice ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE 2021-01-21 16:39 ` [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE Patrick Delaunay 2021-01-22 8:33 ` Patrice CHOTARD @ 2021-02-09 9:33 ` Patrick DELAUNAY 1 sibling, 0 replies; 7+ messages in thread From: Patrick DELAUNAY @ 2021-02-09 9:33 UTC (permalink / raw) To: u-boot Hi, On 1/21/21 5:39 PM, Patrick Delaunay wrote: > OTYPE can be used for output or for alternate function to select > PP = push-pull or OP = open-drain mode, according reference manual > (Table 81. Port bit configuration table). > > This patch removes this indication for input pins and adds it > for AF and output pins for pinmux command output. > > Fixes: b305dbc08b08 ("pinctrl: stm32: display bias information for all pins") > > Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> > --- > > drivers/pinctrl/pinctrl_stm32.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > Applied to u-boot-stm/master, thanks! Regards Patrick ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode 2021-01-21 16:39 [PATCH 0/2] pinctrl: stm32: correction for pinmux status Patrick Delaunay 2021-01-21 16:39 ` [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE Patrick Delaunay @ 2021-01-21 16:39 ` Patrick Delaunay 2021-01-22 8:33 ` Patrice CHOTARD 2021-02-09 9:33 ` Patrick DELAUNAY 1 sibling, 2 replies; 7+ messages in thread From: Patrick Delaunay @ 2021-01-21 16:39 UTC (permalink / raw) To: u-boot Bind only the enabled GPIO subnode, to avoid to probe the node "gpio-controller" present in SOC dtsi (disabled by default) but not enabled in the included pincontrol dtsi file. For example, in stm32mp15xxac-pinctrl.dtsi 2 gpio bank are absent: gpioj: gpio at 5000b000 gpiok: gpio at 5000c000 Then these GPIO are absent in output of command "dm tree" and "gpio status -a" Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> --- drivers/pinctrl/pinctrl_stm32.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c index 374f76d881..6c98538f56 100644 --- a/drivers/pinctrl/pinctrl_stm32.c +++ b/drivers/pinctrl/pinctrl_stm32.c @@ -409,6 +409,9 @@ static int stm32_pinctrl_bind(struct udevice *dev) dev_for_each_subnode(node, dev) { dev_dbg(dev, "bind %s\n", ofnode_get_name(node)); + if (!ofnode_is_enabled(node)) + continue; + ofnode_get_property(node, "gpio-controller", &ret); if (ret < 0) continue; -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode 2021-01-21 16:39 ` [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode Patrick Delaunay @ 2021-01-22 8:33 ` Patrice CHOTARD 2021-02-09 9:33 ` Patrick DELAUNAY 1 sibling, 0 replies; 7+ messages in thread From: Patrice CHOTARD @ 2021-01-22 8:33 UTC (permalink / raw) To: u-boot Hi Patrick On 1/21/21 5:39 PM, Patrick Delaunay wrote: > Bind only the enabled GPIO subnode, to avoid to probe the node > "gpio-controller" present in SOC dtsi (disabled by default) but > not enabled in the included pincontrol dtsi file. > > For example, in stm32mp15xxac-pinctrl.dtsi 2 gpio bank are absent: > gpioj: gpio at 5000b000 > gpiok: gpio at 5000c000 > > Then these GPIO are absent in output of command "dm tree" and > "gpio status -a" > > Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> > --- > > drivers/pinctrl/pinctrl_stm32.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c > index 374f76d881..6c98538f56 100644 > --- a/drivers/pinctrl/pinctrl_stm32.c > +++ b/drivers/pinctrl/pinctrl_stm32.c > @@ -409,6 +409,9 @@ static int stm32_pinctrl_bind(struct udevice *dev) > dev_for_each_subnode(node, dev) { > dev_dbg(dev, "bind %s\n", ofnode_get_name(node)); > > + if (!ofnode_is_enabled(node)) > + continue; > + > ofnode_get_property(node, "gpio-controller", &ret); > if (ret < 0) > continue; > Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Thanks Patrice ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode 2021-01-21 16:39 ` [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode Patrick Delaunay 2021-01-22 8:33 ` Patrice CHOTARD @ 2021-02-09 9:33 ` Patrick DELAUNAY 1 sibling, 0 replies; 7+ messages in thread From: Patrick DELAUNAY @ 2021-02-09 9:33 UTC (permalink / raw) To: u-boot Hi, On 1/21/21 5:39 PM, Patrick Delaunay wrote: > Bind only the enabled GPIO subnode, to avoid to probe the node > "gpio-controller" present in SOC dtsi (disabled by default) but > not enabled in the included pincontrol dtsi file. > > For example, in stm32mp15xxac-pinctrl.dtsi 2 gpio bank are absent: > gpioj: gpio at 5000b000 > gpiok: gpio at 5000c000 > > Then these GPIO are absent in output of command "dm tree" and > "gpio status -a" > > Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> > --- > > drivers/pinctrl/pinctrl_stm32.c | 3 +++ > 1 file changed, 3 insertions(+) > Applied to u-boot-stm/master, thanks! Regards Patrick ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-02-09 9:33 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-01-21 16:39 [PATCH 0/2] pinctrl: stm32: correction for pinmux status Patrick Delaunay 2021-01-21 16:39 ` [PATCH 1/2] pinctrl: stm32: correct management pin display of OTYPE Patrick Delaunay 2021-01-22 8:33 ` Patrice CHOTARD 2021-02-09 9:33 ` Patrick DELAUNAY 2021-01-21 16:39 ` [PATCH 2/2] pinctrl: stm32: bind only the enabled GPIO subnode Patrick Delaunay 2021-01-22 8:33 ` Patrice CHOTARD 2021-02-09 9:33 ` Patrick DELAUNAY
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.