aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGraeme Gregory2013-04-24 01:20:48 -0500
committerJ Keerthy2013-05-28 00:38:54 -0500
commit1883a963e449b0c1086dc741ec042bee755dbff7 (patch)
tree7da9027a4747f1bb4a86e7e828560fc41fc9ae48 /Documentation
parent5cdf935dbd11bac3d895b1fb8482795e397c8894 (diff)
downloadkernel-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')
-rw-r--r--Documentation/devicetree/bindings/clock/palmas-clk.txt27
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-palmas.txt35
-rw-r--r--Documentation/devicetree/bindings/input/palmas-pwrbutton.txt26
-rw-r--r--Documentation/devicetree/bindings/leds/leds-palmas.txt36
-rw-r--r--Documentation/devicetree/bindings/mfd/palmas.txt126
-rw-r--r--Documentation/devicetree/bindings/regulator/palmas-pmic.txt168
-rw-r--r--Documentation/devicetree/bindings/rtc/palmas-rtc.txt21
-rw-r--r--Documentation/devicetree/bindings/watchdog/palmas-wdt.txt21
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
3Required 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
11and also the generic series names
12 ti,palmas-clk
13
14Optional properties:
15- ti,clk32g-mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - on
16- ti,clkg32kgaudio-mode-sleep - see above
17
18Example:
19
20clk {
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
3Required 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
12and 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
25Example:
26
27gpio {
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
3Required 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
11and 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
19Example:
20
21pwrbutton {
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
3Required 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
11and also the generic series names
12 ti,palmas-leds
13
14Optional 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
27Example:
28leds {
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 @@
1Texas Instruments Palmas family 1* palmas and palmas-charger device tree bindings
2
3The Palmas familly are Integrated Power Management Chips.
4These chips are connected to an i2c bus.
5 2
3The TI palmas family current members :-
4twl6035 (palmas)
5twl6036 (palmas-charger)
6twl6037 (palmas)
7tps65913 (palmas)
8tps65914 (palmas)
9tps80036 (palmas-charger)
6 10
7Required properties: 11Required 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
19and 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
17Optional node: 29Optional 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
25Example: 33Example:
26/*
27 * Integrated Power Management Chip Palmas
28 */
29palmas@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>; 35palmas {
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
3Required 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
11and also the generic series names
12 ti,palmas-pmic
13
14Optional properties:
15- ti,ldo6-vibrator : ldo6 is in vibrator mode
16
17Optional 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
36Example:
37
38pmic@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
3Required 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
11and also the generic series names
12 ti,palmas-rtc
13
14Examples:
15
16rtc {
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
3Required 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
11and also the generic series names
12 ti,palmas-wdt
13
14Examples:
15
16wdt {
17 compatible = "ti,twl6035-wdt", "ti,palmas-wdt";
18 interrupt-parent = <&palmas>;
19 interrupts = <10 0>;
20 interrupt-name = "watchdog-irq";
21};