mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
05ed7dc50d
Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
From dc07cbae6e96843d26e8f10b16e901620bd16462 Mon Sep 17 00:00:00 2001
|
|
From: Tudor Ambarus <tudor.ambarus@microchip.com>
|
|
Date: Fri, 9 Apr 2021 11:25:22 +0300
|
|
Subject: [PATCH 154/247] pinctrl: at91-pio4: Fix slew rate disablement
|
|
|
|
The slew rate was enabled by default for each configuration of the
|
|
pin. In case the pin had more than one configuration, even if
|
|
we set the slew rate as disabled in the device tree, the next pin
|
|
configuration would set again the slew rate enabled by default,
|
|
overwriting the slew rate disablement.
|
|
Instead of enabling the slew rate by default for each pin configuration,
|
|
enable the slew rate by default just once per pin, regardless of the
|
|
number of configurations. This way the slew rate disablement will also
|
|
work for cases where pins have multiple configurations.
|
|
|
|
Fixes: c709135e576b ("pinctrl: at91-pio4: add support for slew-rate")
|
|
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
|
|
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
|
|
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
|
|
Link: https://lore.kernel.org/r/20210409082522.625168-1-tudor.ambarus@microchip.com
|
|
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
---
|
|
drivers/pinctrl/pinctrl-at91-pio4.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
|
|
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
|
|
@@ -801,6 +801,10 @@ static int atmel_conf_pin_config_group_s
|
|
|
|
conf = atmel_pin_config_read(pctldev, pin_id);
|
|
|
|
+ /* Keep slew rate enabled by default. */
|
|
+ if (atmel_pioctrl->slew_rate_support)
|
|
+ conf |= ATMEL_PIO_SR_MASK;
|
|
+
|
|
for (i = 0; i < num_configs; i++) {
|
|
unsigned int param = pinconf_to_config_param(configs[i]);
|
|
unsigned int arg = pinconf_to_config_argument(configs[i]);
|
|
@@ -808,10 +812,6 @@ static int atmel_conf_pin_config_group_s
|
|
dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n",
|
|
__func__, pin_id, configs[i]);
|
|
|
|
- /* Keep slew rate enabled by default. */
|
|
- if (atmel_pioctrl->slew_rate_support)
|
|
- conf |= ATMEL_PIO_SR_MASK;
|
|
-
|
|
switch (param) {
|
|
case PIN_CONFIG_BIAS_DISABLE:
|
|
conf &= (~ATMEL_PIO_PUEN_MASK);
|