pinctrl: qcom: Add BUS_HOLD pin bias

This patch adds the BUS_HOLD (Keeper) bias option for pins.

Signed-off-by: Andy Gross <agross@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Andy Gross 2014-06-17 23:49:11 -05:00 committed by Linus Walleij
parent d22bf40f46
commit b831a15e2b
1 changed files with 8 additions and 0 deletions

View File

@ -181,6 +181,7 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
switch (param) { switch (param) {
case PIN_CONFIG_BIAS_DISABLE: case PIN_CONFIG_BIAS_DISABLE:
case PIN_CONFIG_BIAS_PULL_DOWN: case PIN_CONFIG_BIAS_PULL_DOWN:
case PIN_CONFIG_BIAS_BUS_HOLD:
case PIN_CONFIG_BIAS_PULL_UP: case PIN_CONFIG_BIAS_PULL_UP:
*bit = g->pull_bit; *bit = g->pull_bit;
*mask = 3; *mask = 3;
@ -218,6 +219,7 @@ static int msm_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
#define MSM_NO_PULL 0 #define MSM_NO_PULL 0
#define MSM_PULL_DOWN 1 #define MSM_PULL_DOWN 1
#define MSM_KEEPER 2
#define MSM_PULL_UP 3 #define MSM_PULL_UP 3
static unsigned msm_regval_to_drive(u32 val) static unsigned msm_regval_to_drive(u32 val)
@ -255,6 +257,9 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
case PIN_CONFIG_BIAS_PULL_DOWN: case PIN_CONFIG_BIAS_PULL_DOWN:
arg = arg == MSM_PULL_DOWN; arg = arg == MSM_PULL_DOWN;
break; break;
case PIN_CONFIG_BIAS_BUS_HOLD:
arg = arg == MSM_KEEPER;
break;
case PIN_CONFIG_BIAS_PULL_UP: case PIN_CONFIG_BIAS_PULL_UP:
arg = arg == MSM_PULL_UP; arg = arg == MSM_PULL_UP;
break; break;
@ -314,6 +319,9 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
case PIN_CONFIG_BIAS_PULL_DOWN: case PIN_CONFIG_BIAS_PULL_DOWN:
arg = MSM_PULL_DOWN; arg = MSM_PULL_DOWN;
break; break;
case PIN_CONFIG_BIAS_BUS_HOLD:
arg = MSM_KEEPER;
break;
case PIN_CONFIG_BIAS_PULL_UP: case PIN_CONFIG_BIAS_PULL_UP:
arg = MSM_PULL_UP; arg = MSM_PULL_UP;
break; break;