8e21ee8a97dce4778e6f4962e657600262208f36
[15.05/openwrt.git] / target / linux / ipq806x / patches / 0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch
1 From b1325bfad3ad0e543ce90a6b08d74500dc96f4b9 Mon Sep 17 00:00:00 2001
2 From: Andy Gross <agross@codeaurora.org>
3 Date: Mon, 16 Jun 2014 16:52:55 -0500
4 Subject: [PATCH 149/182] pinctrl: qcom: Add BUS_HOLD/Keeper bias
5
6 This patch adds the bus_hold bias option for pins.
7
8 Signed-off-by: Andy Gross <agross@codeaurora.org>
9 ---
10  drivers/pinctrl/pinctrl-msm.c |    8 ++++++++
11  1 file changed, 8 insertions(+)
12
13 diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
14 index 7d67d34..f054b25 100644
15 --- a/drivers/pinctrl/pinctrl-msm.c
16 +++ b/drivers/pinctrl/pinctrl-msm.c
17 @@ -207,6 +207,7 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
18         case PIN_CONFIG_BIAS_DISABLE:
19         case PIN_CONFIG_BIAS_PULL_DOWN:
20         case PIN_CONFIG_BIAS_PULL_UP:
21 +       case PIN_CONFIG_BIAS_BUS_HOLD:
22                 *bit = g->pull_bit;
23                 *mask = 3;
24                 break;
25 @@ -243,6 +244,7 @@ static int msm_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
26  
27  #define MSM_NO_PULL    0
28  #define MSM_PULL_DOWN  1
29 +#define MSM_KEEPER     2
30  #define MSM_PULL_UP    3
31  
32  static unsigned msm_regval_to_drive(u32 val)
33 @@ -280,6 +282,9 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
34         case PIN_CONFIG_BIAS_PULL_DOWN:
35                 arg = arg == MSM_PULL_DOWN;
36                 break;
37 +       case PIN_CONFIG_BIAS_BUS_HOLD:
38 +               arg = arg == MSM_KEEPER;
39 +               break;
40         case PIN_CONFIG_BIAS_PULL_UP:
41                 arg = arg == MSM_PULL_UP;
42                 break;
43 @@ -339,6 +344,9 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
44                 case PIN_CONFIG_BIAS_PULL_DOWN:
45                         arg = MSM_PULL_DOWN;
46                         break;
47 +               case PIN_CONFIG_BIAS_BUS_HOLD:
48 +                       arg = MSM_KEEPER;
49 +                       break;
50                 case PIN_CONFIG_BIAS_PULL_UP:
51                         arg = MSM_PULL_UP;
52                         break;
53 -- 
54 1.7.10.4
55