[PATCH 1/3] pinctrl: at91-pio4: Enable Push-Pull configuration
Nicolas Ferre
nicolas.ferre at microchip.com
Mon May 22 02:18:33 PDT 2023
On 17/05/2023 at 13:54, Ryan.Wanner at microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner at microchip.com>
>
> Enable push-pull configuration. Remove integer value argument from
> open-drain configuration as it is discarded when pinconf function is
> called from gpiolib. Add push-pull do debug and get functions.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner at microchip.com>
Looks good to me:
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Thanks,
Nicolas
> ---
> drivers/pinctrl/pinctrl-at91-pio4.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index 2fe40acb6a3e..3c39d62bbc3c 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -762,6 +762,11 @@ static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev,
> return -EINVAL;
> arg = 1;
> break;
> + case PIN_CONFIG_DRIVE_PUSH_PULL:
> + if (res & ATMEL_PIO_OPD_MASK)
> + return -EINVAL;
> + arg = 1;
> + break;
> case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
> if (!(res & ATMEL_PIO_SCHMITT_MASK))
> return -EINVAL;
> @@ -827,10 +832,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
> conf &= (~ATMEL_PIO_PUEN_MASK);
> break;
> case PIN_CONFIG_DRIVE_OPEN_DRAIN:
> - if (arg == 0)
> - conf &= (~ATMEL_PIO_OPD_MASK);
> - else
> - conf |= ATMEL_PIO_OPD_MASK;
> + conf |= ATMEL_PIO_OPD_MASK;
> + break;
> + case PIN_CONFIG_DRIVE_PUSH_PULL:
> + conf &= (~ATMEL_PIO_OPD_MASK);
> break;
> case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
> if (arg == 0)
> @@ -948,6 +953,8 @@ static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev,
> seq_printf(s, "%s ", "debounce");
> if (conf & ATMEL_PIO_OPD_MASK)
> seq_printf(s, "%s ", "open-drain");
> + if (!(conf & ATMEL_PIO_OPD_MASK))
> + seq_printf(s, "%s ", "push-pull");
> if (conf & ATMEL_PIO_SCHMITT_MASK)
> seq_printf(s, "%s ", "schmitt");
> if (atmel_pioctrl->slew_rate_support && (conf & ATMEL_PIO_SR_MASK))
--
Nicolas Ferre
More information about the linux-arm-kernel
mailing list