[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c83ccbc9-bed9-1d2a-e181-02b105336701@microchip.com>
Date: Thu, 18 May 2023 05:54:58 +0000
From: <Claudiu.Beznea@...rochip.com>
To: <Ryan.Wanner@...rochip.com>, <robh+dt@...nel.org>,
<krzysztof.kozlowski+dt@...aro.org>, <conor+dt@...nel.org>,
<Nicolas.Ferre@...rochip.com>, <alexandre.belloni@...tlin.com>,
<linus.walleij@...aro.org>, <Ludovic.Desroches@...rochip.com>
CC: <devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <linux-gpio@...r.kernel.org>
Subject: Re: [PATCH 1/3] pinctrl: at91-pio4: Enable Push-Pull configuration
On 18.05.2023 08:40, Claudiu Beznea - M18063 wrote:
> On 17.05.2023 14:54, Ryan.Wanner@...rochip.com wrote:
>> From: Ryan Wanner <Ryan.Wanner@...rochip.com>
>>
>> Enable push-pull configuration. Remove integer value argument from
>> open-drain configuration as it is discarded when pinconf function is
>> called from gpiolib.
>
> AFAICT it is still taken into account when passed tough drive-open-drain DT
> property but at the moment there are no device trees using this property.
ah, ignore this as I've just saw your question about this here:
https://lore.kernel.org/all/120117b6-feda-e7aa-4f09-a126a0747388@microchip.com/
>
>> Add push-pull do debug and get functions.
>>
>> Signed-off-by: Ryan Wanner <Ryan.Wanner@...rochip.com>
>> ---
>> 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))
>
> else would fit better here.
>
>> + 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))
>
Powered by blists - more mailing lists