pinctrl: pinctrl_stm32: Populate uc_priv->name[] with pinmux node's name
Populate uc_priv->name[] with pinmux node's name in order to indicate
the pinmuxing's name in case GPIO is configured in alternate.
For example, for STM32 SoC's based platform, "gpio status" command
output :
before
Bank GPIOZ:
GPIOZ0: unused : 0 [ ]
GPIOZ1: unused : 0 [ ]
GPIOZ2: unused : 0 [ ]
GPIOZ3: unused : 0 [ ]
GPIOZ4: func
GPIOZ5: func
GPIOZ6: unused : 0 [ ]
GPIOZ7: unused : 0 [ ]
GPIOZ8: unknown
GPIOZ9: unknown
GPIOZ10: unknown
GPIOZ11: unknown
GPIOZ12: unknown
GPIOZ13: unknown
GPIOZ14: unknown
GPIOZ15: unknown
After
Bank GPIOZ:
GPIOZ0: unused : 0 [ ]
GPIOZ1: unused : 0 [ ]
GPIOZ2: unused : 0 [ ]
GPIOZ3: unused : 0 [ ]
GPIOZ4: func i2c4-0
GPIOZ5: func i2c4-0
GPIOZ6: unused : 0 [ ]
GPIOZ7: unused : 0 [ ]
GPIOZ8: unknown
GPIOZ9: unknown
GPIOZ10: unknown
GPIOZ11: unknown
GPIOZ12: unknown
GPIOZ13: unknown
GPIOZ14: unknown
GPIOZ15: unknown
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
parent
a32920897a
commit
2c38f7c318
|
|
@ -257,10 +257,12 @@ static int stm32_pinctrl_probe(struct udevice *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int stm32_gpio_config(struct gpio_desc *desc,
|
static int stm32_gpio_config(ofnode node,
|
||||||
|
struct gpio_desc *desc,
|
||||||
const struct stm32_gpio_ctl *ctl)
|
const struct stm32_gpio_ctl *ctl)
|
||||||
{
|
{
|
||||||
struct stm32_gpio_priv *priv = dev_get_priv(desc->dev);
|
struct stm32_gpio_priv *priv = dev_get_priv(desc->dev);
|
||||||
|
struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(desc->dev);
|
||||||
struct stm32_gpio_regs *regs = priv->regs;
|
struct stm32_gpio_regs *regs = priv->regs;
|
||||||
struct stm32_pinctrl_priv *ctrl_priv;
|
struct stm32_pinctrl_priv *ctrl_priv;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
@ -291,6 +293,8 @@ static int stm32_gpio_config(struct gpio_desc *desc,
|
||||||
index = desc->offset;
|
index = desc->offset;
|
||||||
clrsetbits_le32(®s->otyper, OTYPE_MSK << index, ctl->otype << index);
|
clrsetbits_le32(®s->otyper, OTYPE_MSK << index, ctl->otype << index);
|
||||||
|
|
||||||
|
uc_priv->name[desc->offset] = strdup(ofnode_get_name(node));
|
||||||
|
|
||||||
hwspinlock_unlock(&ctrl_priv->hws);
|
hwspinlock_unlock(&ctrl_priv->hws);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -385,7 +389,7 @@ static int stm32_pinctrl_config(ofnode node)
|
||||||
if (rv)
|
if (rv)
|
||||||
return rv;
|
return rv;
|
||||||
desc.offset = gpio_dsc.pin;
|
desc.offset = gpio_dsc.pin;
|
||||||
rv = stm32_gpio_config(&desc, &gpio_ctl);
|
rv = stm32_gpio_config(node, &desc, &gpio_ctl);
|
||||||
log_debug("rv = %d\n\n", rv);
|
log_debug("rv = %d\n\n", rv);
|
||||||
if (rv)
|
if (rv)
|
||||||
return rv;
|
return rv;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue