pinctrl: qcom: Add BUS_HOLD pin bias
authorAndy Gross <agross@codeaurora.org>
Wed, 18 Jun 2014 04:49:11 +0000 (23:49 -0500)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 11 Jul 2014 12:08:31 +0000 (14:08 +0200)
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>
drivers/pinctrl/pinctrl-msm.c

index bdfaba4430f23d1f776247f1ffbb741bfc1e056d..43d47b7cff921298d82879704db4eb769d040be8 100644 (file)
@@ -181,6 +181,7 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
        switch (param) {
        case PIN_CONFIG_BIAS_DISABLE:
        case PIN_CONFIG_BIAS_PULL_DOWN:
+       case PIN_CONFIG_BIAS_BUS_HOLD:
        case PIN_CONFIG_BIAS_PULL_UP:
                *bit = g->pull_bit;
                *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_PULL_DOWN  1
+#define MSM_KEEPER     2
 #define MSM_PULL_UP    3
 
 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:
                arg = arg == MSM_PULL_DOWN;
                break;
+       case PIN_CONFIG_BIAS_BUS_HOLD:
+               arg = arg == MSM_KEEPER;
+               break;
        case PIN_CONFIG_BIAS_PULL_UP:
                arg = arg == MSM_PULL_UP;
                break;
@@ -314,6 +319,9 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
                case PIN_CONFIG_BIAS_PULL_DOWN:
                        arg = MSM_PULL_DOWN;
                        break;
+               case PIN_CONFIG_BIAS_BUS_HOLD:
+                       arg = MSM_KEEPER;
+                       break;
                case PIN_CONFIG_BIAS_PULL_UP:
                        arg = MSM_PULL_UP;
                        break;