mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-12 00:38:55 +00:00
pinctrl: sprd: Add PIN_CONFIG_BIAS_DISABLE configuration support
Add PIN_CONFIG_BIAS_DISABLE configuration support for Spreadtrum pin controller. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Link: https://lore.kernel.org/r/66d373ddee61e8be2fcef49aac5e80bd58f14915.1570596606.git.baolin.wang@linaro.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
f086d1fe06
commit
f8b05fe41b
@ -484,6 +484,13 @@ static int sprd_pinconf_get(struct pinctrl_dev *pctldev, unsigned int pin_id,
|
||||
SLEEP_PULL_UP_MASK) << 16;
|
||||
arg |= (reg >> PULL_UP_SHIFT) & PULL_UP_MASK;
|
||||
break;
|
||||
case PIN_CONFIG_BIAS_DISABLE:
|
||||
if ((reg & (SLEEP_PULL_DOWN | SLEEP_PULL_UP)) ||
|
||||
(reg & (PULL_DOWN | PULL_UP_4_7K | PULL_UP_20K)))
|
||||
return -EINVAL;
|
||||
|
||||
arg = 1;
|
||||
break;
|
||||
case PIN_CONFIG_SLEEP_HARDWARE_STATE:
|
||||
arg = 0;
|
||||
break;
|
||||
@ -674,6 +681,16 @@ static int sprd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin_id,
|
||||
shift = PULL_UP_SHIFT;
|
||||
}
|
||||
break;
|
||||
case PIN_CONFIG_BIAS_DISABLE:
|
||||
if (is_sleep_config == true) {
|
||||
val = shift = 0;
|
||||
mask = SLEEP_PULL_DOWN | SLEEP_PULL_UP;
|
||||
} else {
|
||||
val = shift = 0;
|
||||
mask = PULL_DOWN | PULL_UP_20K |
|
||||
PULL_UP_4_7K;
|
||||
}
|
||||
break;
|
||||
case PIN_CONFIG_SLEEP_HARDWARE_STATE:
|
||||
continue;
|
||||
default:
|
||||
|
Loading…
x
Reference in New Issue
Block a user