]>
Commit | Line | Data |
---|---|---|
0a8d3e24 LD |
1 | Palmas Pincontrol bindings |
2 | ||
3 | The pins of Palmas device can be set on different option and provides | |
4 | the configuration for Pull UP/DOWN, open drain etc. | |
5 | ||
6 | Required properties: | |
7 | - compatible: It must be one of following: | |
8 | - "ti,palmas-pinctrl" for Palma series of the pincontrol. | |
9 | - "ti,tps65913-pinctrl" for Palma series device TPS65913. | |
10 | - "ti,tps80036-pinctrl" for Palma series device TPS80036. | |
11 | ||
12 | Please refer to pinctrl-bindings.txt in this directory for details of the | |
13 | common pinctrl bindings used by client devices, including the meaning of the | |
14 | phrase "pin configuration node". | |
15 | ||
16 | Palmas's pin configuration nodes act as a container for an arbitrary number of | |
17 | subnodes. Each of these subnodes represents some desired configuration for a | |
18 | list of pins. This configuration can include the mux function to select on | |
19 | those pin(s), and various pin configuration parameters, such as pull-up, | |
20 | open drain. | |
21 | ||
22 | The name of each subnode is not important; all subnodes should be enumerated | |
23 | and processed purely based on their content. | |
24 | ||
25 | Each subnode only affects those parameters that are explicitly listed. In | |
26 | other words, a subnode that lists a mux function but no pin configuration | |
27 | parameters implies no information about any pin configuration parameters. | |
28 | Similarly, a pin subnode that describes a pullup parameter implies no | |
29 | information about e.g. the mux function. | |
30 | ||
31 | Optional properties: | |
32 | - ti,palmas-enable-dvfs1: Enable DVFS1. Configure pins for DVFS1 mode. | |
33 | Selection primary or secondary function associated to I2C2_SCL_SCE, | |
34 | I2C2_SDA_SDO pin/pad for DVFS1 interface | |
35 | - ti,palmas-enable-dvfs2: Enable DVFS2. Configure pins for DVFS2 mode. | |
36 | Selection primary or secondary function associated to GPADC_START | |
37 | and SYSEN2 pin/pad for DVFS2 interface | |
0ea66f76 K |
38 | - ti,palmas-override-powerhold: This is applicable for PMICs for which |
39 | GPIO7 is configured in POWERHOLD mode which has higher priority | |
40 | over DEV_ON bit and keeps the PMIC supplies on even after the DEV_ON | |
41 | bit is turned off. This property enables driver to over ride the | |
42 | POWERHOLD value to GPIO7 so as to turn off the PMIC in power off | |
43 | scenarios. So for GPIO7 if ti,palmas-override-powerhold is set | |
44 | then the GPIO_7 field should never be muxed to anything else. | |
45 | It should be set to POWERHOLD by default and only in case of | |
46 | power off scenarios the driver will over ride the mux value. | |
0a8d3e24 LD |
47 | |
48 | This binding uses the following generic properties as defined in | |
49 | pinctrl-bindings.txt: | |
50 | ||
51 | Required: pins | |
52 | Options: function, bias-disable, bias-pull-up, bias-pull-down, | |
a047914e | 53 | drive-open-drain. |
0a8d3e24 LD |
54 | |
55 | Note that many of these properties are only valid for certain specific pins. | |
56 | See the Palmas device datasheet for complete details regarding which pins | |
57 | support which functionality. | |
58 | ||
59 | Valid values for pin names are: | |
60 | gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, gpio8, gpio9, | |
61 | gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, vac, powergood, | |
62 | nreswarm, pwrdown, gpadc_start, reset_in, nsleep, enable1, enable2, | |
63 | int. | |
64 | ||
65 | Valid value of function names are: | |
66 | gpio, led, pwm, regen, sysen, clk32kgaudio, id, vbus_det, chrg_det, | |
67 | vac, vacok, powergood, usb_psel, msecure, pwrhold, int, nreswarm, | |
68 | simrsto, simrsti, low_vbat, wireless_chrg1, rcm, pwrdown, gpadc_start, | |
69 | reset_in, nsleep, enable. | |
70 | ||
71 | There are 4 special functions: opt0, opt1, opt2 and opt3. If any of these | |
72 | functions is selected then directly pins register will be written with 0, 1, 2 | |
73 | or 3 respectively if it is valid for that pins or list of pins. | |
74 | ||
75 | Example: | |
76 | palmas: tps65913 { | |
77 | .... | |
78 | pinctrl { | |
79 | compatible = "ti,tps65913-pinctrl"; | |
80 | ti,palmas-enable-dvfs1; | |
81 | pinctrl-names = "default"; | |
82 | pinctrl-0 = <&palmas_pins_state>; | |
83 | ||
84 | palmas_pins_state: pinmux { | |
85 | gpio0 { | |
86 | pins = "gpio0"; | |
87 | function = "id"; | |
88 | bias-pull-up; | |
89 | }; | |
90 | ||
91 | vac { | |
92 | pins = "vac"; | |
93 | function = "vacok"; | |
94 | bias-pull-down; | |
95 | }; | |
96 | ||
97 | gpio5 { | |
98 | pins = "gpio5"; | |
99 | function = "opt0"; | |
100 | drive-open-drain = <1>; | |
101 | }; | |
102 | }; | |
103 | }; | |
104 | .... | |
105 | }; |