diff options
author | Bjorn Andersson <bjorn.andersson@sonymobile.com> | 2013-12-05 21:10:05 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-12-06 08:58:34 -0500 |
commit | d46f421608575a76c1f8b605005b2f9ac9a35db5 (patch) | |
tree | 20326e25528e8f9816740f87b7f45234256d5062 /Documentation | |
parent | 55aaf8342db44c1d0d8bb911c50774f6eaeefbf3 (diff) |
pinctrl: Add documentation for pinctrl-msm8x74
This adds initial documentation for the pinctrl-msm8x74 driver.
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/pinctrl/qcom,msm8x74-pinctrl.txt | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8x74-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8x74-pinctrl.txt new file mode 100644 index 000000000000..70ab78fe93c8 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8x74-pinctrl.txt | |||
@@ -0,0 +1,92 @@ | |||
1 | Qualcomm MSM8x74 TLMM block | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "qcom,msm8x74-pinctrl" | ||
5 | - reg: Should be the base address and length of the TLMM block. | ||
6 | - interrupts: Should be the parent IRQ of the TLMM block. | ||
7 | - interrupt-controller: Marks the device node as an interrupt controller. | ||
8 | - #interrupt-cells: Should be two. | ||
9 | - gpio-controller: Marks the device node as a GPIO controller. | ||
10 | - #gpio-cells : Should be two. | ||
11 | The first cell is the gpio pin number and the | ||
12 | second cell is used for optional parameters. | ||
13 | |||
14 | Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for | ||
15 | a general description of GPIO and interrupt bindings. | ||
16 | |||
17 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
18 | common pinctrl bindings used by client devices, including the meaning of the | ||
19 | phrase "pin configuration node". | ||
20 | |||
21 | Qualcomm's pin configuration nodes act as a container for an abitrary number of | ||
22 | subnodes. Each of these subnodes represents some desired configuration for a | ||
23 | pin, a group, or a list of pins or groups. This configuration can include the | ||
24 | mux function to select on those pin(s)/group(s), and various pin configuration | ||
25 | parameters, such as pull-up, drive strength, etc. | ||
26 | |||
27 | The name of each subnode is not important; all subnodes should be enumerated | ||
28 | and processed purely based on their content. | ||
29 | |||
30 | Each subnode only affects those parameters that are explicitly listed. In | ||
31 | other words, a subnode that lists a mux function but no pin configuration | ||
32 | parameters implies no information about any pin configuration parameters. | ||
33 | Similarly, a pin subnode that describes a pullup parameter implies no | ||
34 | information about e.g. the mux function. | ||
35 | |||
36 | |||
37 | The following generic properties as defined in pinctrl-bindings.txt are valid | ||
38 | to specify in a pin configuration subnode: | ||
39 | pins, function, bias-disable, bias-pull-down, bias-pull,up, drive-strength. | ||
40 | |||
41 | Non-empty subnodes must specify the 'pins' property. | ||
42 | Note that not all properties are valid for all pins. | ||
43 | |||
44 | |||
45 | Valid values for qcom,pins are: | ||
46 | gpio0-gpio145 | ||
47 | Supports mux, bias and drive-strength | ||
48 | |||
49 | sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data | ||
50 | Supports bias and drive-strength | ||
51 | |||
52 | Valid values for qcom,function are: | ||
53 | blsp_i2c2, blsp_i2c6, blsp_i2c11, blsp_spi1, blsp_uart2, blsp_uart8, slimbus | ||
54 | |||
55 | (Note that this is not yet the complete list of functions) | ||
56 | |||
57 | |||
58 | |||
59 | Example: | ||
60 | |||
61 | msmgpio: pinctrl@fd510000 { | ||
62 | compatible = "qcom,msm8x74-pinctrl"; | ||
63 | reg = <0xfd510000 0x4000>; | ||
64 | |||
65 | gpio-controller; | ||
66 | #gpio-cells = <2>; | ||
67 | interrupt-controller; | ||
68 | #interrupt-cells = <2>; | ||
69 | interrupts = <0 208 0>; | ||
70 | |||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&uart2_default>; | ||
73 | |||
74 | uart2_default: uart2_default { | ||
75 | mux { | ||
76 | qcom,pins = "gpio4", "gpio5"; | ||
77 | qcom,function = "blsp_uart2"; | ||
78 | }; | ||
79 | |||
80 | tx { | ||
81 | qcom,pins = "gpio4"; | ||
82 | drive-strength = <4>; | ||
83 | bias-disable; | ||
84 | }; | ||
85 | |||
86 | rx { | ||
87 | qcom,pins = "gpio5"; | ||
88 | drive-strength = <2>; | ||
89 | bias-pull-up; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||