aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pinctrl
diff options
context:
space:
mode:
authorBjorn Andersson <bjorn.andersson@sonymobile.com>2014-10-22 05:58:44 -0400
committerLinus Walleij <linus.walleij@linaro.org>2014-10-29 04:28:36 -0400
commit43059f6ba21177f25ab1b10f95149cff1895806a (patch)
tree0e56f494e9885da42a04402a39d924570fe67cae /Documentation/devicetree/bindings/pinctrl
parentc654b6bf2cda7e051d1d5ba7e696855511f1105a (diff)
pinctrl: Device tree bindings for Qualcomm PMIC GPIO block
This introduced the device tree bindings for the GPIO block found in PMIC's from Qualcomm. Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'Documentation/devicetree/bindings/pinctrl')
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt215
1 files changed, 215 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
new file mode 100644
index 000000000000..7ed08048516a
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
@@ -0,0 +1,215 @@
1Qualcomm PMIC GPIO block
2
3This binding describes the GPIO block(s) found in the 8xxx series of
4PMIC's from Qualcomm.
5
6- compatible:
7 Usage: required
8 Value type: <string>
9 Definition: must be one of:
10 "qcom,pm8018-gpio"
11 "qcom,pm8038-gpio"
12 "qcom,pm8058-gpio"
13 "qcom,pm8917-gpio"
14 "qcom,pm8921-gpio"
15 "qcom,pm8941-gpio"
16 "qcom,pma8084-gpio"
17
18- reg:
19 Usage: required
20 Value type: <prop-encoded-array>
21 Definition: Register base of the GPIO block and length.
22
23- interrupts:
24 Usage: required
25 Value type: <prop-encoded-array>
26 Definition: Must contain an array of encoded interrupt specifiers for
27 each available GPIO
28
29- gpio-controller:
30 Usage: required
31 Value type: <none>
32 Definition: Mark the device node as a GPIO controller
33
34- #gpio-cells:
35 Usage: required
36 Value type: <u32>
37 Definition: Must be 2;
38 the first cell will be used to define gpio number and the
39 second denotes the flags for this gpio
40
41Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
42a general description of GPIO and interrupt bindings.
43
44Please refer to pinctrl-bindings.txt in this directory for details of the
45common pinctrl bindings used by client devices, including the meaning of the
46phrase "pin configuration node".
47
48The pin configuration nodes act as a container for an arbitrary number of
49subnodes. Each of these subnodes represents some desired configuration for a
50pin or a list of pins. This configuration can include the
51mux function to select on those pin(s), and various pin configuration
52parameters, as listed below.
53
54
55SUBNODES:
56
57The name of each subnode is not important; all subnodes should be enumerated
58and processed purely based on their content.
59
60Each subnode only affects those parameters that are explicitly listed. In
61other words, a subnode that lists a mux function but no pin configuration
62parameters implies no information about any pin configuration parameters.
63Similarly, a pin subnode that describes a pullup parameter implies no
64information about e.g. the mux function.
65
66The following generic properties as defined in pinctrl-bindings.txt are valid
67to specify in a pin configuration subnode:
68
69- pins:
70 Usage: required
71 Value type: <string-array>
72 Definition: List of gpio pins affected by the properties specified in
73 this subnode. Valid pins are:
74 gpio1-gpio6 for pm8018
75 gpio1-gpio12 for pm8038
76 gpio1-gpio40 for pm8058
77 gpio1-gpio38 for pm8917
78 gpio1-gpio44 for pm8921
79 gpio1-gpio36 for pm8941
80 gpio1-gpio22 for pma8084
81
82- function:
83 Usage: required
84 Value type: <string>
85 Definition: Specify the alternative function to be configured for the
86 specified pins. Valid values are:
87 "normal",
88 "paired",
89 "func1",
90 "func2",
91 "dtest1",
92 "dtest2",
93 "dtest3",
94 "dtest4"
95
96- bias-disable:
97 Usage: optional
98 Value type: <none>
99 Definition: The specified pins should be configured as no pull.
100
101- bias-pull-down:
102 Usage: optional
103 Value type: <none>
104 Definition: The specified pins should be configured as pull down.
105
106- bias-pull-up:
107 Usage: optional
108 Value type: <empty>
109 Definition: The specified pins should be configured as pull up.
110
111- qcom,pull-up-strength:
112 Usage: optional
113 Value type: <u32>
114 Definition: Specifies the strength to use for pull up, if selected.
115 Valid values are; as defined in
116 <dt-bindings/pinctrl/qcom,pmic-gpio.h>:
117 1: 30uA (PMIC_GPIO_PULL_UP_30)
118 2: 1.5uA (PMIC_GPIO_PULL_UP_1P5)
119 3: 31.5uA (PMIC_GPIO_PULL_UP_31P5)
120 4: 1.5uA + 30uA boost (PMIC_GPIO_PULL_UP_1P5_30)
121 If this property is ommited 30uA strength will be used if
122 pull up is selected
123
124- bias-high-impedance:
125 Usage: optional
126 Value type: <none>
127 Definition: The specified pins will put in high-Z mode and disabled.
128
129- input-enable:
130 Usage: optional
131 Value type: <none>
132 Definition: The specified pins are put in input mode.
133
134- output-high:
135 Usage: optional
136 Value type: <none>
137 Definition: The specified pins are configured in output mode, driven
138 high.
139
140- output-low:
141 Usage: optional
142 Value type: <none>
143 Definition: The specified pins are configured in output mode, driven
144 low.
145
146- power-source:
147 Usage: optional
148 Value type: <u32>
149 Definition: Selects the power source for the specified pins. Valid
150 power sources are defined per chip in
151 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
152
153- qcom,drive-strength:
154 Usage: optional
155 Value type: <u32>
156 Definition: Selects the drive strength for the specified pins. Value
157 drive strengths are:
158 0: no (PMIC_GPIO_STRENGTH_NO)
159 1: high (PMIC_GPIO_STRENGTH_HIGH) 0.9mA @ 1.8V - 1.9mA @ 2.6V
160 2: medium (PMIC_GPIO_STRENGTH_MED) 0.6mA @ 1.8V - 1.25mA @ 2.6V
161 3: low (PMIC_GPIO_STRENGTH_LOW) 0.15mA @ 1.8V - 0.3mA @ 2.6V
162 as defined in <dt-bindings/pinctrl/qcom,pmic-gpio.h>
163
164- drive-push-pull:
165 Usage: optional
166 Value type: <none>
167 Definition: The specified pins are configured in push-pull mode.
168
169- drive-open-drain:
170 Usage: optional
171 Value type: <none>
172 Definition: The specified pins are configured in open-drain mode.
173
174- drive-open-source:
175 Usage: optional
176 Value type: <none>
177 Definition: The specified pins are configured in open-source mode.
178
179Example:
180
181 pm8921_gpio: gpio@150 {
182 compatible = "qcom,pm8921-gpio";
183 reg = <0x150 0x160>;
184 interrupts = <192 1>, <193 1>, <194 1>,
185 <195 1>, <196 1>, <197 1>,
186 <198 1>, <199 1>, <200 1>,
187 <201 1>, <202 1>, <203 1>,
188 <204 1>, <205 1>, <206 1>,
189 <207 1>, <208 1>, <209 1>,
190 <210 1>, <211 1>, <212 1>,
191 <213 1>, <214 1>, <215 1>,
192 <216 1>, <217 1>, <218 1>,
193 <219 1>, <220 1>, <221 1>,
194 <222 1>, <223 1>, <224 1>,
195 <225 1>, <226 1>, <227 1>,
196 <228 1>, <229 1>, <230 1>,
197 <231 1>, <232 1>, <233 1>,
198 <234 1>, <235 1>;
199
200 gpio-controller;
201 #gpio-cells = <2>;
202
203 pm8921_gpio_keys: gpio-keys {
204 volume-keys {
205 pins = "gpio20", "gpio21";
206 function = "normal";
207
208 input-enable;
209 bias-pull-up;
210 drive-push-pull;
211 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
212 power-source = <PM8921_GPIO_S4>;
213 };
214 };
215 };