diff options
author | Graeme Gregory | 2013-04-24 01:20:48 -0500 |
---|---|---|
committer | J Keerthy | 2013-05-28 00:38:54 -0500 |
commit | 1883a963e449b0c1086dc741ec042bee755dbff7 (patch) | |
tree | 7da9027a4747f1bb4a86e7e828560fc41fc9ae48 /Documentation | |
parent | 5cdf935dbd11bac3d895b1fb8482795e397c8894 (diff) | |
download | kernel-video-1883a963e449b0c1086dc741ec042bee755dbff7.tar.gz kernel-video-1883a963e449b0c1086dc741ec042bee755dbff7.tar.xz kernel-video-1883a963e449b0c1086dc741ec042bee755dbff7.zip |
mfd: DT bindings for the palmas family MFD (v10)
Add the various binding files for the palmas family of chips.
There is a top level MFD binding then a seperate binding for IP blocks on chips.
This patch is picked up from v10 of the palmas patch set:
https://patchwork.kernel.org/patch/2321171/
Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk>
[j-keerthy@ti.com: backport from v10 of the palmas patch set:
https://patchwork.kernel.org/patch/2321171/]
Signed-off-by: J Keerthy <j-keerthy@ti.com>
Signed-off-by: Ian Lartey <ian@slimlogic.co.uk>
Diffstat (limited to 'Documentation')
8 files changed, 404 insertions, 56 deletions
diff --git a/Documentation/devicetree/bindings/clock/palmas-clk.txt b/Documentation/devicetree/bindings/clock/palmas-clk.txt new file mode 100644 index 00000000000..26fbc9ff496 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/palmas-clk.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * palmas and palmas-charger resource clock IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-clk | ||
6 | ti,twl6036-clk | ||
7 | ti,twl6037-clk | ||
8 | ti,tps65913-clk | ||
9 | ti,tps65914-clk | ||
10 | ti,tps80036-clk | ||
11 | and also the generic series names | ||
12 | ti,palmas-clk | ||
13 | |||
14 | Optional properties: | ||
15 | - ti,clk32g-mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - on | ||
16 | - ti,clkg32kgaudio-mode-sleep - see above | ||
17 | |||
18 | Example: | ||
19 | |||
20 | clk { | ||
21 | compatible = "ti,twl6035-clk", "ti,palmas-clk"; | ||
22 | ti,clk32kg-mode-sleep = <0>; | ||
23 | ti,clk32kgaudio-mode-sleep = <0>; | ||
24 | #clock-cells = <1>; | ||
25 | clock-frequency = <32000000>; | ||
26 | clock-names = "clk32kg", "clk32kgaudio"; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt new file mode 100644 index 00000000000..688eebbbcb9 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | * palmas and palmas charger GPIO IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-gpio | ||
6 | ti,twl6036-gpio | ||
7 | ti,twl6037-gpio | ||
8 | ti,tps65913-gpio | ||
9 | ti,tps65914-gpio | ||
10 | ti,tps80036-gpio | ||
11 | |||
12 | and also the generic series names | ||
13 | |||
14 | ti,palmas-gpio | ||
15 | |||
16 | - gpio-controller: mark the device as a GPIO controller | ||
17 | - gpio-cells = <1>: GPIO lines are provided. | ||
18 | - interrupt-controller : palmas has its own internal IRQs | ||
19 | - #interrupt-cells : should be set to 2 for IRQ number and flags | ||
20 | The first cell is the IRQ number. | ||
21 | The second cell is the flags, encoded as the trigger masks from | ||
22 | Documentation/devicetree/bindings/interrupts.txt | ||
23 | - interrupt-parent : The parent interrupt controller. | ||
24 | |||
25 | Example: | ||
26 | |||
27 | gpio { | ||
28 | compatible = "ti,twl6035-gpio", "ti,palmas-gpio"; | ||
29 | |||
30 | gpio-controller; | ||
31 | #gpio-cells = <1>; | ||
32 | interrupt-parent = <&palmas>; | ||
33 | interrupt-controller; | ||
34 | #interrupt-cells = <2>; | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/palmas-pwrbutton.txt b/Documentation/devicetree/bindings/input/palmas-pwrbutton.txt new file mode 100644 index 00000000000..722ca942efa --- /dev/null +++ b/Documentation/devicetree/bindings/input/palmas-pwrbutton.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | * palmas and palmas-charger Button IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-pwrbutton | ||
6 | ti,twl6036-pwrbutton | ||
7 | ti,twl6037-pwrbutton | ||
8 | ti,tps65913-pwrbutton | ||
9 | ti,tps65914-pwrbutton | ||
10 | ti,tps80036-pwrbutton | ||
11 | and also the generic series names | ||
12 | ti,palmas-pwrbutton | ||
13 | |||
14 | - interrupts: the interrupt outputs of the controller. | ||
15 | - interrupt-names : Should be the name of irq resource. Each interrupt | ||
16 | binds its interrupt-name. | ||
17 | - interrupt-parent : The parent interrupt controller. | ||
18 | |||
19 | Example: | ||
20 | |||
21 | pwrbutton { | ||
22 | compatible = "ti,twl6035-pwrbutton", "ti,palmas-pwrbutton"; | ||
23 | interrupt-parent = <&palmas>; | ||
24 | interrupts = <1 0>; | ||
25 | interrupt-names = "pwron-irq"; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/leds/leds-palmas.txt b/Documentation/devicetree/bindings/leds/leds-palmas.txt new file mode 100644 index 00000000000..0264969717f --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-palmas.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | * palmas and palmas-charger LED IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-leds | ||
6 | ti,twl6036-leds | ||
7 | ti,twl6037-leds | ||
8 | ti,tps65913-leds | ||
9 | ti,tps65914-leds | ||
10 | ti,tps80036-leds | ||
11 | and also the generic series names | ||
12 | ti,palmas-leds | ||
13 | |||
14 | Optional properties: | ||
15 | -ti,led1-current - sink current setting 0 - 0mA, 1 - 25mA, 2 - 5mA, | ||
16 | 3 - 0mA, 4 - 5mA, 5 - 5mA, 6 - 10.0mA, 7 - 0mA | ||
17 | -ti,led2-current - see above | ||
18 | -ti,led3-current - see above | ||
19 | -ti,led4-current - see above | ||
20 | -ti,chrg-led-mode - only valid for charger - mode for charging led operation | ||
21 | 0 - Charging indicator | ||
22 | 1 - controlled as a general purpose LED | ||
23 | -ti,chrg-led-vbat-low - only valid for charger - blinking of low battery led | ||
24 | 0 - blinking is enabled, | ||
25 | 1 - blinking is disabled | ||
26 | |||
27 | Example: | ||
28 | leds { | ||
29 | compatible = "ti,twl6035-leds", "ti,palmas-leds"; | ||
30 | ti,led1-current = <0>; | ||
31 | ti,led2-current = <0>; | ||
32 | ti,led3-current = <0>; | ||
33 | ti,led4-current = <0>; | ||
34 | ti,chrg-led-mode = <0>; | ||
35 | ti,chrg-led-vbat-low = <0>; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt b/Documentation/devicetree/bindings/mfd/palmas.txt index 94a0c127894..d5ab9e69e7e 100644 --- a/Documentation/devicetree/bindings/mfd/palmas.txt +++ b/Documentation/devicetree/bindings/mfd/palmas.txt | |||
@@ -1,67 +1,81 @@ | |||
1 | Texas Instruments Palmas family | 1 | * palmas and palmas-charger device tree bindings |
2 | |||
3 | The Palmas familly are Integrated Power Management Chips. | ||
4 | These chips are connected to an i2c bus. | ||
5 | 2 | ||
3 | The TI palmas family current members :- | ||
4 | twl6035 (palmas) | ||
5 | twl6036 (palmas-charger) | ||
6 | twl6037 (palmas) | ||
7 | tps65913 (palmas) | ||
8 | tps65914 (palmas) | ||
9 | tps80036 (palmas-charger) | ||
6 | 10 | ||
7 | Required properties: | 11 | Required properties: |
8 | - compatible : Must be "ti,palmas"; | 12 | - compatible : Should be from the list |
9 | For Integrated power-management in the palmas series, twl6035, twl6037, | 13 | ti,twl6035 |
10 | tps65913 | 14 | ti,twl6036 |
11 | - interrupts : This i2c device has an IRQ line connected to the main SoC | 15 | ti,twl6037 |
12 | - interrupt-controller : Since the palmas support several interrupts internally, | 16 | ti,tps65913 |
13 | it is considered as an interrupt controller cascaded to the SoC one. | 17 | ti,tps65914 |
14 | - #interrupt-cells = <1>; | 18 | ti,tps80036 |
19 | and also the generic series names | ||
20 | ti,palmas | ||
21 | ti,palmas-charger | ||
22 | - interrupt-controller : palmas has its own internal IRQs | ||
23 | - #interrupt-cells : should be set to 2 for IRQ number and flags | ||
24 | The first cell is the IRQ number. | ||
25 | The second cell is the flags, encoded as the trigger masks from | ||
26 | Documentation/devicetree/bindings/interrupts.txt | ||
15 | - interrupt-parent : The parent interrupt controller. | 27 | - interrupt-parent : The parent interrupt controller. |
16 | 28 | ||
17 | Optional node: | 29 | Optional properties: |
18 | - Child nodes contain in the palmas. The palmas family is made of several | 30 | ti,mux_padX : set the pad register X (1-2) to the correct muxing for the |
19 | variants that support a different number of features. | 31 | hardware, if not set will use muxing in OTP. |
20 | The child nodes will thus depend of the capability of the variant. | ||
21 | - mux_pad1 if a value is given it will be used for the pad1 mux | ||
22 | - mux_pad2 if a value us given it will be used for the pad2 mux | ||
23 | - power_ctrl if a value is given it will be written to the POWER_CTRL register | ||
24 | 32 | ||
25 | Example: | 33 | Example: |
26 | /* | ||
27 | * Integrated Power Management Chip Palmas | ||
28 | */ | ||
29 | palmas@48 { | ||
30 | compatible = "ti,palmas"; | ||
31 | reg = <0x48>; | ||
32 | interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */ | ||
33 | interrupt-controller; | ||
34 | #interrupt-cells = <1>; | ||
35 | interrupt-parent = <&gic>; | ||
36 | #address-cells = <1>; | ||
37 | #size-cells = <0>; | ||
38 | 34 | ||
39 | ti,mux_pad1 = <0x00>; | 35 | palmas { |
40 | ti,mux_pad2 = <0x00>; | 36 | compatible = "ti,twl6035", "ti,palmas"; |
41 | ti,power_ctrl = <0x03>; | 37 | reg = <0x48> |
38 | interrupt-parent = <&intc>; | ||
39 | interrupt-controller; | ||
40 | #interrupt-cells = <2>; | ||
41 | |||
42 | ti,mux-pad1 = <0>; | ||
43 | ti,mux-pad2 = <0>; | ||
44 | |||
45 | #address-cells = <1>; | ||
46 | #size-cells = <0>; | ||
47 | |||
48 | pmic { | ||
49 | compatible = "ti,twl6035-pmic", "ti,palmas-pmic"; | ||
50 | .... | ||
51 | } | ||
52 | |||
53 | gpio { | ||
54 | compatible = "ti,twl6035-gpio", "ti,palmas-gpio"; | ||
55 | .... | ||
56 | }; | ||
57 | |||
58 | wdt { | ||
59 | compatible = "ti,twl6035-wdt", "ti,palmas-wdt"; | ||
60 | .... | ||
61 | }; | ||
62 | |||
63 | rtc { | ||
64 | compatible = "ti,twl6035-rtc", "ti,palmas-rtc"; | ||
65 | .... | ||
66 | }; | ||
42 | 67 | ||
43 | palmas_pmic { | 68 | pwrbutton { |
44 | compatible = "ti,palmas_pmic"; | 69 | compatible = "ti,twl6035-pwrbutton", "ti,palmas-pwrbutton"; |
45 | regulators { | 70 | .... |
46 | smps12_reg: smps12 { | ||
47 | regulator-min-microvolt = < 600000>; | ||
48 | regulator-max-microvolt = <1500000>; | ||
49 | regulator-always-on; | ||
50 | regulator-boot-on; | ||
51 | ti,warm_sleep = <0>; | ||
52 | ti,roof_floor = <0>; | ||
53 | ti,mode_sleep = <0>; | ||
54 | ti,warm_reset = <0>; | ||
55 | ti,tstep = <0>; | ||
56 | ti,vsel = <0>; | ||
57 | }; | ||
58 | }; | ||
59 | ti,ldo6_vibrator = <0>; | ||
60 | }; | 71 | }; |
61 | 72 | ||
62 | palmas_rtc { | 73 | leds { |
63 | compatible = "ti,palmas_rtc"; | 74 | compatible = "ti,twl6035-leds", "ti-palmas-leds"; |
64 | interrupts = <8 9>; | 75 | } |
65 | reg = <0>; | 76 | |
66 | }; | 77 | clk { |
67 | }; | 78 | compatible = "ti,twl6035-clk", "ti,palmas-clk"; |
79 | .... | ||
80 | }; | ||
81 | } | ||
diff --git a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt new file mode 100644 index 00000000000..8097616c1ff --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt | |||
@@ -0,0 +1,168 @@ | |||
1 | * palmas and palmas-charger regulator IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-pmic | ||
6 | ti,twl6036-pmic | ||
7 | ti,twl6037-pmic | ||
8 | ti,tps65913-pmic | ||
9 | ti,tps65914-pmic | ||
10 | ti,tps80036-pmic | ||
11 | and also the generic series names | ||
12 | ti,palmas-pmic | ||
13 | |||
14 | Optional properties: | ||
15 | - ti,ldo6-vibrator : ldo6 is in vibrator mode | ||
16 | |||
17 | Optional nodes: | ||
18 | - regulators : should contain the constrains and init information for the | ||
19 | regulators. It should contain a subnode per regulator from the | ||
20 | list. | ||
21 | For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP, | ||
22 | smps45, smps457, smps7 depending on varient, smps6, smps[8-10], | ||
23 | ldo[1-9], ldoln, ldousb | ||
24 | For ti,palmas-charger-pmic - smps12, smps123, smps3 depending on OTP, | ||
25 | smps[6-9], boost, ldo[1-14], ldoln, ldousb | ||
26 | |||
27 | optional chip specific regulator fields :- | ||
28 | ti,warm-reset - maintain voltage during warm reset | ||
29 | ti,roof-floor - control voltage selection by pin | ||
30 | ti,sleep-mode - mode to adopt in pmic sleep 0 - off, 1 - auto, | ||
31 | 2 - eco, 3 - forced pwm | ||
32 | ti,tstep - slope control 0 - Jump, 1 10mV/us, 2 5mV/us, 3 2.5mV/us | ||
33 | ti,smps-range - OTP has the wrong range set for the hardware so override | ||
34 | 0 - low range, 1 - high range | ||
35 | |||
36 | Example: | ||
37 | |||
38 | pmic@0 { | ||
39 | compatible = "ti,twl6035-pmic", "ti,palmas-pmic"; | ||
40 | interrupt-parent = <&palmas>; | ||
41 | interrupts = <14 0>; | ||
42 | interrupt-name = "short-irq"; | ||
43 | |||
44 | ti,ldo6_vibrator; | ||
45 | |||
46 | regulators { | ||
47 | smps12_reg : smps12 { | ||
48 | regulator-name = "smps12"; | ||
49 | regulator-min-microvolt = < 600000>; | ||
50 | regulator-max-microvolt = <1500000>; | ||
51 | regulator-always-on; | ||
52 | regulator-boot-on; | ||
53 | ti,warm-reset; | ||
54 | ti,roof-floor; | ||
55 | ti,mode-sleep = <0>; | ||
56 | ti,tstep = <0>; | ||
57 | ti,smps-range = <1>; | ||
58 | }; | ||
59 | |||
60 | smps3_reg: smps3 { | ||
61 | regulator-name = "smps3"; | ||
62 | regulator-min-microvolt = < 600000>; | ||
63 | regulator-max-microvolt = <1310000>; | ||
64 | }; | ||
65 | |||
66 | smps45_reg: smps45 { | ||
67 | regulator-name = "smps45"; | ||
68 | regulator-min-microvolt = < 600000>; | ||
69 | regulator-max-microvolt = <1310000>; | ||
70 | }; | ||
71 | |||
72 | smps6_reg: smps6 { | ||
73 | regulator-name = "smps6"; | ||
74 | regulator-min-microvolt = <1200000>; | ||
75 | regulator-max-microvolt = <1200000>; | ||
76 | }; | ||
77 | |||
78 | smps7_reg: smps7 { | ||
79 | regulator-name = "smps7"; | ||
80 | regulator-min-microvolt = <1800000>; | ||
81 | regulator-max-microvolt = <1800000>; | ||
82 | }; | ||
83 | |||
84 | smps8_reg: smps8 { | ||
85 | regulator-name = "smps8"; | ||
86 | regulator-min-microvolt = < 600000>; | ||
87 | regulator-max-microvolt = <1310000>; | ||
88 | }; | ||
89 | |||
90 | smps9_reg: smps9 { | ||
91 | regulator-name = "smps9"; | ||
92 | regulator-min-microvolt = <2100000>; | ||
93 | regulator-max-microvolt = <2100000>; | ||
94 | }; | ||
95 | |||
96 | smps10_reg: smps10 { | ||
97 | regulator-name = "smps10"; | ||
98 | regulator-min-microvolt = <5000000>; | ||
99 | regulator-max-microvolt = <5000000>; | ||
100 | }; | ||
101 | |||
102 | ldo1_reg: ldo1 { | ||
103 | regulator-name = "ldo1"; | ||
104 | regulator-min-microvolt = <2800000>; | ||
105 | regulator-max-microvolt = <2800000>; | ||
106 | }; | ||
107 | |||
108 | ldo2_reg: ldo2 { | ||
109 | regulator-name = "ldo2"; | ||
110 | regulator-min-microvolt = <2900000>; | ||
111 | regulator-max-microvolt = <2900000>; | ||
112 | }; | ||
113 | |||
114 | ldo3_reg: ldo3 { | ||
115 | regulator-name = "ldo3"; | ||
116 | regulator-min-microvolt = <3000000>; | ||
117 | regulator-max-microvolt = <3000000>; | ||
118 | }; | ||
119 | |||
120 | ldo4_reg: ldo4 { | ||
121 | regulator-name = "ldo4"; | ||
122 | regulator-min-microvolt = <2200000>; | ||
123 | regulator-max-microvolt = <2200000>; | ||
124 | }; | ||
125 | |||
126 | ldo5_reg: ldo5 { | ||
127 | regulator-name = "ldo5"; | ||
128 | regulator-min-microvolt = <1800000>; | ||
129 | regulator-max-microvolt = <1800000>; | ||
130 | }; | ||
131 | |||
132 | ldo6_reg: ldo6 { | ||
133 | regulator-name = "ldo6"; | ||
134 | regulator-min-microvolt = <1500000>; | ||
135 | regulator-max-microvolt = <1500000>; | ||
136 | }; | ||
137 | |||
138 | ldo7_reg: ldo7 { | ||
139 | regulator-name = "ldo7"; | ||
140 | regulator-min-microvolt = <1500000>; | ||
141 | regulator-max-microvolt = <1500000>; | ||
142 | }; | ||
143 | |||
144 | ldo8_reg: ldo8 { | ||
145 | regulator-name = "ldo8"; | ||
146 | regulator-min-microvolt = <1500000>; | ||
147 | regulator-max-microvolt = <1500000>; | ||
148 | }; | ||
149 | |||
150 | ldo9_reg: ldo9 { | ||
151 | regulator-name = "ldo9"; | ||
152 | regulator-min-microvolt = <1800000>; | ||
153 | regulator-max-microvolt = <1800000>; | ||
154 | }; | ||
155 | |||
156 | ldoln_reg: ldoln { | ||
157 | regulator-name = "ldoln"; | ||
158 | regulator-min-microvolt = <1800000>; | ||
159 | regulator-max-microvolt = <1800000>; | ||
160 | }; | ||
161 | |||
162 | ldousb_reg: ldousb { | ||
163 | regulator-name = "ldousb"; | ||
164 | regulator-min-microvolt = <3250000>; | ||
165 | regulator-max-microvolt = <3250000>; | ||
166 | }; | ||
167 | }; | ||
168 | }; | ||
diff --git a/Documentation/devicetree/bindings/rtc/palmas-rtc.txt b/Documentation/devicetree/bindings/rtc/palmas-rtc.txt new file mode 100644 index 00000000000..f405b368ccd --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/palmas-rtc.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | * palmas and palmas-charger RTC IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-rtc | ||
6 | ti,twl6036-rtc | ||
7 | ti,twl6037-rtc | ||
8 | ti,tps65913-rtc | ||
9 | ti,tps65914-rtc | ||
10 | ti,tps80036-rtc | ||
11 | and also the generic series names | ||
12 | ti,palmas-rtc | ||
13 | |||
14 | Examples: | ||
15 | |||
16 | rtc { | ||
17 | compatible = "ti,twl6035-rtc", "ti,palmas-rtc"; | ||
18 | interrupt-parent = <&palmas>; | ||
19 | interrupts = <8 0 9 0>; | ||
20 | interrupt-name = "alarm-irq", "timer-irq"; | ||
21 | }; | ||
diff --git a/Documentation/devicetree/bindings/watchdog/palmas-wdt.txt b/Documentation/devicetree/bindings/watchdog/palmas-wdt.txt new file mode 100644 index 00000000000..1553a0dce93 --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/palmas-wdt.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | * palmas and palmas-charger Watchdog IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-wdt | ||
6 | ti,twl6036-wdt | ||
7 | ti,twl6037-wdt | ||
8 | ti,tps65913-wdt | ||
9 | ti,tps65914-wdt | ||
10 | ti,tps80036-wdt | ||
11 | and also the generic series names | ||
12 | ti,palmas-wdt | ||
13 | |||
14 | Examples: | ||
15 | |||
16 | wdt { | ||
17 | compatible = "ti,twl6035-wdt", "ti,palmas-wdt"; | ||
18 | interrupt-parent = <&palmas>; | ||
19 | interrupts = <10 0>; | ||
20 | interrupt-name = "watchdog-irq"; | ||
21 | }; | ||