blob: fa8c24075413b14982451dc8c6c6dcbb2a512966 [file] [log] [blame]
Amy Maloche71880c52013-01-04 11:56:23 -08001/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -07002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
Amy Maloche24de28b2012-09-17 12:09:56 -070013/include/ "msm8974-leds.dtsi"
Sreesudhan Ramakrish Ramkumardee14bc2012-11-14 14:24:19 -080014/include/ "msm8974-camera-sensor-liquid.dtsi"
Sreesudhan Ramakrish Ramkumar39074612012-10-11 20:48:51 -070015
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070016&soc {
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070017 serial@f991e000 {
18 status = "ok";
19 };
20
21 qcom,mdss_edp@fd923400 {
22 status = "ok";
23 };
24
25 i2c@f9967000 {
26 battery@b {
27 compatible = "ti,bq28400-battery";
28 reg = <0xb>;
Eugene Yasmand72132d2013-01-20 13:00:52 +020029 ti,temp-cold = <2>; /* degree celsius */
30 ti,temp-hot = <43>; /* degree celsius */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070031 };
Amir Samuelov6b72fc62012-11-01 20:05:04 +020032
33 charger@2b {
34 compatible = "summit,smb350-charger";
35 reg = <0x2b>; /* 0x56/0x57 */
36 summit,stat-gpio = <&pm8941_gpios 30 0x00>;
37 summit,chg-en-n-gpio = <&pm8941_gpios 10 0x00>;
38 summit,chg-susp-n-gpio = <&pm8941_gpios 13 0x00>;
39 summit,chg-current-ma = <1600>;
40 summit,term-current-ma = <300>;
41 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070042 };
43
44 gpio_keys {
45 compatible = "gpio-keys";
46 input-name = "gpio-keys";
47
48 home {
49 label = "home";
50 gpios = <&pm8941_gpios 1 0x1>;
51 linux,input-type = <1>;
52 linux,code = <102>;
53 gpio-key,wakeup;
54 debounce-interval = <15>;
55 };
56
57 vol_down {
58 label = "volume_down";
59 gpios = <&pm8941_gpios 2 0x1>;
60 linux,input-type = <1>;
61 linux,code = <114>;
62 gpio-key,wakeup;
63 debounce-interval = <15>;
64 };
65
66 vol_up {
67 label = "volume_up";
68 gpios = <&pm8941_gpios 5 0x1>;
69 linux,input-type = <1>;
70 linux,code = <115>;
71 gpio-key,wakeup;
72 debounce-interval = <15>;
73 };
74 };
75
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070076 qcom,hdmi_tx@fd922100 {
77 status = "ok";
Ujwal Patel1a835132012-11-14 22:11:59 -080078
79 qcom,hdmi-tx-mux-sel = <&pm8841_mpps 3 0>;
80 qcom,hdmi-tx-mux-en = <&pm8841_mpps 4 0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070081 };
82
Mohan Pallaka8cc86d62012-11-09 11:29:47 +053083 drv2667_vreg: drv2667_vdd_vreg {
84 compatible = "regulator-fixed";
85 regulator-name = "vdd_drv2667";
86 };
87
Mohan Pallaka28f9fb42012-09-17 15:25:23 +053088 i2c@f9967000 {
89 ti-drv2667@59 {
90 compatible = "ti,drv2667";
91 reg = <0x59>;
92 vdd-supply = <&drv2667_vreg>;
93 vdd-i2c-supply = <&pm8941_s3>;
94 ti,label = "vibrator";
95 ti,gain = <2>;
96 ti,idle-timeout-ms = <20>;
97 ti,max-runtime-ms = <15000>;
98 ti,mode = <2>;
99 ti,wav-seq = [
100 /* wave form id */
101 01
102 /* header size, start and stop bytes */
103 05 80 06 00 09
104 /* repeat, amp, freq, duration, envelope */
105 01 ff 19 02 00];
106 };
107 };
108
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700109 i2c@f9924000 {
110 atmel_mxt_ts@4a {
111 compatible = "atmel,mxt-ts";
112 reg = <0x4a>;
113 interrupt-parent = <&msmgpio>;
114 interrupts = <61 0x2>;
115 vdd_ana-supply = <&pm8941_l22>;
116 vcc_i2c-supply = <&pm8941_s3>;
117 atmel,reset-gpio = <&msmgpio 60 0x00>;
118 atmel,irq-gpio = <&msmgpio 61 0x00>;
119 atmel,panel-coords = <0 0 1080 1920>;
120 atmel,display-coords = <0 0 1080 1920>;
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530121 atmel,i2c-pull-up;
Amy Maloche71880c52013-01-04 11:56:23 -0800122 atmel,no-force-update;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700123 atmel,cfg_1 {
124 atmel,family-id = <0xa2>;
125 atmel,variant-id = <0x00>;
126 atmel,version = <0x11>;
127 atmel,build = <0xaa>;
128 atmel,config = [
129 /* Object 6, Instance = 0 */
130 00 00 00 00 00 00
131 /* Object 38, Instance = 0 */
132 16 00 00 14 09 0C 00 00 00 00
133 00 00 00 00 00 00 00 00 00 00
134 00 00 00 00 00 00 00 00 00 00
135 00 00 00 00 00 00 00 00 00 00
136 00 00 00 00 00 00 00 00 00 00
137 00 00 00 00 00 00 00 00 00 00
138 00 00 00 00
139 /* Object 7, Instance = 0 */
140 FF FF 0A 03
141 /* Object 8, Instance = 0 */
142 5F 00 14 14 00 00 00 01 00 00
143 /* Object 9, Instance = 0 */
144 8F 00 00 20 34 00 87 3C 08 03
145 00 05 03 80 0A 14 14 0A 80 07
146 38 04 00 00 00 00 00 00 00 00
147 0F 0F 2E 33 02 00
148 /* Object 15, Instance = 0 */
149 00 00 00 00 00 00 00 00 00 00
150 00
151 /* Object 18, Instance = 0 */
152 04 00
153 /* Object 24, Instance = 0 */
154 00 00 00 00 00 00 00 00 00 00
155 00 00 00 00 00 00 00 00 00
156 /* Object 25, Instance = 0 */
157 00 00 54 6F F0 55 00 00 00 00
158 00 00 00 00 00
159 /* Object 27, Instance = 0 */
160 00 00 00 00 00 00 00
161 /* Object 40, Instance = 0 */
162 00 14 14 14 14
163 /* Object 42, Instance = 0 */
164 20 14 00 00 00 14 11 00 03 00
165 /* Object 43, Instance = 0 */
166 09 00 01 01 91 00 80 00 00 00
167 00 00
168 /* Object 46, Instance = 0 */
169 00 00 10 10 00 00 01 00 00 0F
170 0A
171 /* Object 47, Instance = 0 */
172 00 14 23 02 05 1E 01 78 03 10
173 00 00 0C 00 00 00 00 00 00 00
174 00 00
175 /* Object 55, Instance = 0 */
176 00 00 00 00 00 00 00
177 /* Object 56, Instance = 0 */
178 02 00 01 30 13 14 14 14 15 15
179 15 15 15 15 15 16 16 16 16 16
180 16 16 16 16 16 15 14 14 14 14
181 15 14 14 14 14 13 00 00 01 02
182 05 05 00 00 00 00 00 00 00 00
183 00
184 /* Object 57, Instance = 0 */
185 00 00 00
186 /* Object 61, Instance = 0 */
187 00 00 00 00 00
188 /* Object 62, Instance = 0 */
189 00 01 03 01 00 00 00 00 00 0A
190 0F 14 19 23 05 00 0A 05 05 69
191 23 23 34 11 64 06 06 04 40 00
192 00 00 00 00 69 4B 02 00 00 80
193 0A 14 14 18 18 10 10 80 00 80
194 00 00 0F 02 00 00 00 00 00 00
195 00 00 00 00 00 00 00 00 00 00
196 00 00 00 00
197 /* Object 63, Instance = 0 */
198 00 00 00 00 00 00 00 00 00 00
199 00 00
200 ];
201 };
Amy Malochef78eacc2013-02-25 19:30:00 -0800202 atmel,cfg_2 {
203 atmel,family-id = <0xa2>;
204 atmel,variant-id = <0x00>;
205 atmel,version = <0x11>;
206 atmel,build = <0xaa>;
207 atmel,config = [
208 /* Object 6, Instance = 0 */
209 00 00 00 00 00 00
210 /* Object 38, Instance = 0 */
211 19 01 00 0D 02 0D 00 00 00 00
212 00 00 00 00 00 00 00 00 00 00
213 00 00 00 00 00 00 00 00 00 00
214 00 00 00 00 00 00 00 00 00 00
215 00 00 00 00 00 00 00 00 00 00
216 00 00 00 00 00 00 00 00 00 00
217 00 00 00 00
218 /* Object 7, Instance = 0 */
219 20 08 32 C3
220 /* Object 8, Instance = 0 */
221 41 00 14 14 00 00 00 01 00 00
222 /* Object 9, Instance = 0 */
223 8F 00 00 20 34 00 87 4B 02 03
224 00 05 03 40 0A 14 14 0A 80 07
225 38 04 03 03 03 03 08 28 02 3C
226 0F 0F 2E 33 01 00
227 /* Object 15, Instance = 0 */
228 00 00 00 00 00 00 00 00 00 00
229 00
230 /* Object 18, Instance = 0 */
231 04 00
232 /* Object 24, Instance = 0 */
233 00 00 00 00 00 00 00 00 00 00
234 00 00 00 00 00 00 00 00 00
235 /* Object 25, Instance = 0 */
236 00 00 54 6F F0 55 00 00 00 00
237 00 00 00 00 00
238 /* Object 27, Instance = 0 */
239 00 00 00 00 00 00 00
240 /* Object 40, Instance = 0 */
241 00 14 14 14 14
242 /* Object 42, Instance = 0 */
243 23 32 14 14 80 00 0A 00 05 05
244 /* Object 43, Instance = 0 */
245 08 00 01 01 91 00 80 00 00 00
246 00 00
247 /* Object 46, Instance = 0 */
248 00 00 18 18 00 00 01 00 00 0F
249 0A
250 /* Object 47, Instance = 0 */
251 00 14 28 02 05 28 01 78 03 10
252 00 00 0C 00 00 00 00 00 00 00
253 00 00
254 /* Object 55, Instance = 0 */
255 00 00 00 00 00 00 00
256 /* Object 56, Instance = 0 */
257 01 00 00 30 13 14 14 14 15 15
258 15 15 15 15 15 16 16 16 16 16
259 16 16 16 16 16 15 14 14 14 14
260 15 14 14 14 14 13 03 20 03 01
261 0A 04 00 00 00 00 00 00 00 00
262 1A
263 /* Object 57, Instance = 0 */
264 00 00 00
265 /* Object 61, Instance = 0 */
266 00 00 00 00 00
267 /* Object 62, Instance = 0 */
268 00 03 00 07 02 00 00 00 00 00
269 0F 17 23 2D 05 00 05 03 03 69
270 14 14 34 11 64 06 06 04 40 00
271 00 00 00 00 69 3C 02 04 01 00
272 0A 14 14 03 03 03 03 00 00 00
273 00 64 1E 01 00 00 00 00 00 00
274 00 00 00 00 00 00 00 00 00 00
275 00 00 00 00
276 /* Object 63, Instance = 0 */
277 00 00 00 00 00 00 00 00 00 00
278 00 00
279 /* Object 65, Instance = 0 */
280 00 00 00 00 00 00 00 00 00 00
281 00 00 00 00 00 00 00
282 /* Object 66, Instance = 0 */
283 00 00 00 00 00
284 ];
285 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700286 };
287 };
288
289 ext_5v: regulator-smb210 {
290 compatible = "regulator-fixed";
291 regulator-name = "ext_5v";
292 gpio = <&pm8941_mpps 2 0>;
Eugene Yasman8d2d68d2012-11-13 15:00:58 +0200293 startup-delay-us = <12000>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700294 enable-active-high;
295 };
Tanya Finkelb4fea122012-11-14 14:23:37 +0200296
Ram Mohan Korukonda55839202013-04-20 23:39:17 -0700297 ath_chip_pwd_l: ath_chip_reset {
298 compatible = "regulator-fixed";
299 regulator-name = "ath_chip_pwd_l";
300 gpio = <&pm8941_gpios 33 0>;
301 enable-active-high;
302 };
303
Pradeep Panigrahic2a86fe2013-02-22 10:49:01 +0530304 bt_ar3002 {
305 compatible = "qca,ar3002";
306 qca,bt-reset-gpio = <&pm8941_gpios 34 0>;
Ram Mohan Korukonda55839202013-04-20 23:39:17 -0700307 qca,bt-chip-pwd-supply = <&ath_chip_pwd_l>;
308 qca,bt-vdd-io-supply = <&pm8941_s3>;
309 qca,bt-vdd-pa-supply = <&pm8941_l19>;
Pradeep Panigrahic2a86fe2013-02-22 10:49:01 +0530310 };
311
Ram Mohan Korukondae7baad92013-03-13 02:23:45 +0530312 bt_ar3002_sleep {
313 compatible = "qca,ar3002_bluesleep";
314 host-wake-gpio = <&msmgpio 79 0>;
315 ext-wake-gpio = <&msmgpio 51 0>;
316 interrupt-parent = <&msmgpio>;
317 interrupts = <79 2>;
318 interrupt-names = "host_wake";
319 };
320
Tanya Finkelb4fea122012-11-14 14:23:37 +0200321 sound {
322 qcom,model = "msm8974-taiko-liquid-snd-card";
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200323
324 qcom,audio-routing =
325 "RX_BIAS", "MCLK",
326 "LDO_H", "MCLK",
327 "Lineout_1 amp", "LINEOUT1",
328 "Lineout_3 amp", "LINEOUT3",
329 "Lineout_2 amp", "LINEOUT2",
330 "Lineout_4 amp", "LINEOUT4",
Baruch Eruchimovitch212b1ac2013-04-17 20:28:54 +0300331 "SPK_ultrasound amp", "SPK_OUT",
Tanya Finkel88340112013-01-21 15:38:55 +0200332 "AMIC1", "MIC BIAS4 External",
333 "MIC BIAS4 External", "Analog Mic4",
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200334 "AMIC2", "MIC BIAS2 External",
335 "MIC BIAS2 External", "Headset Mic",
336 "AMIC3", "MIC BIAS2 External",
337 "MIC BIAS2 External", "ANCRight Headset Mic",
338 "AMIC4", "MIC BIAS2 External",
339 "MIC BIAS2 External", "ANCLeft Headset Mic",
Tanya Finkel88340112013-01-21 15:38:55 +0200340 "AMIC5", "MIC BIAS1 External",
341 "MIC BIAS1 External", "Analog Mic6",
342 "AMIC6", "MIC BIAS1 External",
343 "MIC BIAS1 External", "Analog Mic7",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200344 "DMIC1", "MIC BIAS3 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200345 "MIC BIAS3 External", "Digital Mic1",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200346 "DMIC2", "MIC BIAS3 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200347 "MIC BIAS3 External", "Digital Mic2",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200348 "DMIC3", "MIC BIAS2 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200349 "MIC BIAS2 External", "Digital Mic3",
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200350 "DMIC4", "MIC BIAS3 External",
351 "MIC BIAS3 External", "Digital Mic4",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200352 "DMIC5", "MIC BIAS2 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200353 "MIC BIAS2 External", "Digital Mic5",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200354 "DMIC6", "MIC BIAS2 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200355 "MIC BIAS2 External", "Digital Mic6";
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200356
Tanya Finkelb4fea122012-11-14 14:23:37 +0200357 qcom,ext-spk-amp-supply = <&ext_5v>;
358 qcom,ext-spk-amp-gpio = <&pm8841_mpps 1 0>;
Tanya Finkelca619322013-01-20 15:43:58 +0200359 qcom,dock-plug-det-irq = <&pm8841_mpps 2 0>;
Baruch Eruchimovitch212b1ac2013-04-17 20:28:54 +0300360 qcom,ext-ult-spk-amp-gpio = <&pm8941_gpios 6 0>;
Kiran Kandi52650322012-12-11 15:49:39 -0800361 qcom,hdmi-audio-rx;
Banajit Goswamif8ce89a2013-04-09 18:02:15 -0700362
363 qcom,prim-auxpcm-gpio-clk = <&msmgpio 74 0>;
364 qcom,prim-auxpcm-gpio-sync = <&msmgpio 75 0>;
365 qcom,prim-auxpcm-gpio-din = <&msmgpio 76 0>;
366 qcom,prim-auxpcm-gpio-dout = <&msmgpio 77 0>;
367 qcom,prim-auxpcm-gpio-set = "prim-gpio-tert";
Tanya Finkelb4fea122012-11-14 14:23:37 +0200368 };
Eugene Yasman588351a2012-12-10 11:37:17 +0200369
370 hsic_hub {
371 compatible = "qcom,hsic-smsc-hub";
372 #address-cells = <1>;
373 #size-cells = <1>;
374 ranges;
375 smsc,reset-gpio = <&pm8941_gpios 8 0x00>;
376 smsc,refclk-gpio = <&pm8941_gpios 16 0x00>;
377 smsc,int-gpio = <&msmgpio 50 0x00>;
378 hub_int-supply = <&pm8941_l10>;
379 hub_vbus-supply = <&ext_5v>;
380
Manu Gautam0df3d132013-03-13 07:21:22 +0530381 hsic_host: hsic@f9a00000 {
Eugene Yasman588351a2012-12-10 11:37:17 +0200382 compatible = "qcom,hsic-host";
383 reg = <0xf9a00000 0x400>;
Manu Gautam0df3d132013-03-13 07:21:22 +0530384 #address-cells = <0>;
385 interrupt-parent = <&hsic_host>;
386 interrupts = <0 1 2>;
387 #interrupt-cells = <1>;
388 interrupt-map-mask = <0xffffffff>;
389 interrupt-map = <0 &intc 0 136 0
390 1 &intc 0 148 0
391 2 &msmgpio 144 0x8>;
392 interrupt-names = "core_irq", "async_irq", "wakeup";
Eugene Yasman588351a2012-12-10 11:37:17 +0200393 HSIC_VDDCX-supply = <&pm8841_s2>;
394 HSIC_GDSC-supply = <&gdsc_usb_hsic>;
395 hsic,strobe-gpio = <&msmgpio 144 0x00>;
396 hsic,data-gpio = <&msmgpio 145 0x00>;
397 hsic,ignore-cal-pad-config;
398 hsic,strobe-pad-offset = <0x2050>;
399 hsic,data-pad-offset = <0x2054>;
Manu Gautamcb7e9632013-03-18 12:44:08 +0530400
401 qcom,msm-bus,name = "hsic";
402 qcom,msm-bus,num-cases = <2>;
Manu Gautamcb7e9632013-03-18 12:44:08 +0530403 qcom,msm-bus,num-paths = <1>;
404 qcom,msm-bus,vectors-KBps =
405 <85 512 0 0>,
406 <85 512 40000 160000>;
Eugene Yasman588351a2012-12-10 11:37:17 +0200407 };
408 };
Ming-yi Linefc79902013-05-27 15:48:14 +0800409
410 wlan0: qca,wlan {
411 compatible = "qca,ar6004-hsic";
412 qcom,msm-bus,name = "wlan";
413 qca,wifi-chip-pwd-supply = <&ath_chip_pwd_l>;
414 qca,wifi-vddpa-supply = <&pm8941_l19>;
415 qca,wifi-vddio-supply = <&pm8941_l10>;
416 qcom,msm-bus,num-cases = <5>;
417 qcom,msm-bus,active-only = <0>;
418 qcom,msm-bus,num-paths = <1>;
419 qcom,msm-bus,vectors-KBps =
420 <85 512 0 0>,
421 <85 512 40000 160000>,
422 <85 512 40000 320000>,
423 <85 512 40000 480000>,
424 <85 512 40000 800000>;
425 };
426
427 wlan_sdio:qca,wlan_sdio {
428 compatible = "qca,ar6004-sdio";
429 qcom,msm-bus,name = "wlan_sdio";
430 qca,wifi-chip-pwd-supply = <&ath_chip_pwd_l>;
431 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700432};
433
Adrian Salido-Moreno9954ca62013-01-30 14:39:04 -0800434&mdss_fb0 {
435 qcom,memory-reservation-size = <0x1000000>; /* size 16MB */
436};
437
Mayank Rana35f27802013-02-14 18:22:50 +0530438&uart7 {
439 status = "ok";
440 qcom,tx-gpio = <&msmgpio 41 0x00>;
441 qcom,rx-gpio = <&msmgpio 42 0x00>;
442 qcom,cts-gpio = <&msmgpio 43 0x00>;
443 qcom,rfr-gpio = <&msmgpio 44 0x00>;
444};
445
Manu Gautam5ee54032012-11-02 15:17:32 +0530446&usb3 {
David Keitelf2170cc2013-02-20 17:49:03 -0800447 qcom,otg-capability;
Manu Gautam5ee54032012-11-02 15:17:32 +0530448};
449
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700450&pm8941_mvs2 {
451 parent-supply = <&ext_5v>;
452};
453
454&pm8941_gpios {
455 gpio@c000 { /* GPIO 1 */
456 qcom,mode = <0>;
457 qcom,pull = <0>;
458 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700459 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700460 };
461
462 gpio@c100 { /* GPIO 2 */
463 qcom,mode = <0>;
464 qcom,pull = <0>;
465 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700466 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700467 };
468
469 gpio@c200 { /* GPIO 3 */
470 };
471
472 gpio@c300 { /* GPIO 4 */
473 };
474
475 gpio@c400 { /* GPIO 5 */
476 qcom,mode = <0>;
477 qcom,pull = <0>;
478 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700479 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700480 };
481
482 gpio@c500 { /* GPIO 6 */
Baruch Eruchimovitch212b1ac2013-04-17 20:28:54 +0300483 /* ULTRASOUND_EN_1 PA AB enable */
484 qcom,mode = <1>; /* DIG_OUT */
485 qcom,output-type = <0>; /* CMOS */
486 qcom,pull = <4>; /* PULL_DOWN */
487 qcom,vin-sel = <0>; /* VPH */
488 qcom,out-strength = <2>; /* STRENGTH_MED */
489 qcom,src-sel = <0>; /* CONSTANT */
490 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700491 };
492
493 gpio@c600 { /* GPIO 7 */
494 };
495
496 gpio@c700 { /* GPIO 8 */
Eugene Yasman588351a2012-12-10 11:37:17 +0200497 /* HSIC_HUB-RESET */
498 qcom,mode = <1>; /* DIG_OUT */
499 qcom,pull = <5>; /* PULL_NO */
500 qcom,out-strength = <2>; /* STRENGTH_MED */
501 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700502 };
503
504 gpio@c800 { /* GPIO 9 */
505 };
506
507 gpio@c900 { /* GPIO 10 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200508 /* SMB350-CHG-EN-N */
509 qcom,mode = <1>; /* DIG_OUT */
510 qcom,output-type = <0>; /* CMOS */
511 qcom,pull = <5>; /* PULL_NO */
512 qcom,vin-sel = <0>; /* VPH */
513 qcom,out-strength = <2>; /* STRENGTH_MED */
514 qcom,src-sel = <0>; /* CONSTANT */
515 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700516 };
517
518 gpio@ca00 { /* GPIO 11 */
519 };
520
521 gpio@cb00 { /* GPIO 12 */
522 };
523
524 gpio@cc00 { /* GPIO 13 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200525 /* SMB350-CHG-SUSP-N */
526 qcom,mode = <1>; /* DIG_OUT */
527 qcom,output-type = <0>; /* CMOS */
528 qcom,pull = <5>; /* PULL_NO */
529 qcom,vin-sel = <0>; /* VPH */
530 qcom,out-strength = <2>; /* STRENGTH_MED */
531 qcom,src-sel = <0>; /* CONSTANT */
532 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700533 };
534
535 gpio@cd00 { /* GPIO 14 */
536 };
537
538 gpio@ce00 { /* GPIO 15 */
539 qcom,mode = <1>;
540 qcom,output-type = <0>;
541 qcom,pull = <5>;
542 qcom,vin-sel = <2>;
Kiran Kandi1a35a222013-05-02 16:53:53 -0700543 qcom,out-strength = <1>;
Michael Bohand734fb22012-10-30 14:19:22 -0700544 qcom,src-sel = <2>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700545 qcom,master-en = <1>;
546 };
547
548 gpio@cf00 { /* GPIO 16 */
Eugene Yasman588351a2012-12-10 11:37:17 +0200549 /* HSIC_HUB-INT_N */
550 qcom,mode = <1>;
551 qcom,output-type = <0>;
552 qcom,pull = <5>;
553 qcom,vin-sel = <2>;
554 qcom,out-strength = <3>;
555 qcom,src-sel = <2>;
556 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700557 };
558
559 gpio@d000 { /* GPIO 17 */
560 };
561
562 gpio@d100 { /* GPIO 18 */
563 };
564
565 gpio@d200 { /* GPIO 19 */
566 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
567 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
568 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
569 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
570 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
Michael Bohand734fb22012-10-30 14:19:22 -0700571 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700572 qcom,master-en = <1>;
573 };
574
575 gpio@d300 { /* GPIO 20 */
576 };
577
578 gpio@d400 { /* GPIO 21 */
579 };
580
581 gpio@d500 { /* GPIO 22 */
582 };
583
584 gpio@d600 { /* GPIO 23 */
585 };
586
587 gpio@d700 { /* GPIO 24 */
588 };
589
590 gpio@d800 { /* GPIO 25 */
591 };
592
593 gpio@d900 { /* GPIO 26 */
594 };
595
596 gpio@da00 { /* GPIO 27 */
597 };
598
599 gpio@db00 { /* GPIO 28 */
600 };
601
602 gpio@dc00 { /* GPIO 29 */
603 qcom,pull = <0>; /* set to default pull */
604 qcom,master-en = <1>;
605 qcom,vin-sel = <2>; /* select 1.8 V source */
606 };
607
608 gpio@dd00 { /* GPIO 30 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200609 /* SMB350-STAT */
610 qcom,mode = <0>; /* DIG_IN */
611 qcom,pull = <5>; /* PULL_NO */
612 qcom,vin-sel = <2>; /* S3 1.8V */
613 qcom,src-sel = <0>; /* CONSTANT */
614 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700615 };
616
617 gpio@de00 { /* GPIO 31 */
618 };
619
620 gpio@df00 { /* GPIO 32 */
621 };
622
623 gpio@e000 { /* GPIO 33 */
Alexander Lifshitz7cddb5e2012-11-14 15:46:37 +0200624 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
625 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
626 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
627 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
628 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
629 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
630 qcom,invert = <1>;
631 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700632 };
633
634 gpio@e100 { /* GPIO 34 */
Alexander Lifshitz7cddb5e2012-11-14 15:46:37 +0200635 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
636 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
637 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
638 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
639 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
640 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
641 qcom,invert = <0>;
642 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700643 };
644
645 gpio@e200 { /* GPIO 35 */
646 };
647
648 gpio@e300 { /* GPIO 36 */
649 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
650 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
651 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
652 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
653 qcom,out-strength = <3>; /* QPNP_PIN_OUT_STRENGTH_HIGH */
Michael Bohand734fb22012-10-30 14:19:22 -0700654 qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700655 qcom,master-en = <1>;
656 };
657};
658
659&pm8941_mpps {
660
661 mpp@a000 { /* MPP 1 */
Michael Bohanbea1f582013-03-21 17:29:49 -0700662 status = "disabled";
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700663 };
664
665 mpp@a100 { /* MPP 2 */
666 /* ext_5v regulator enable */
667 qcom,mode = <1>; /* Digital output */
668 qcom,invert = <0>; /* Output low initially */
669 qcom,vin-sel = <2>; /* PM8941 S3 = 1.8 V */
Michael Bohand734fb22012-10-30 14:19:22 -0700670 qcom,src-sel = <0>; /* Constant */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700671 qcom,master-en = <1>; /* Enable MPP */
672 };
673
674 mpp@a200 { /* MPP 3 */
675 };
676
677 mpp@a300 { /* MPP 4 */
678 };
679
680 mpp@a400 { /* MPP 5 */
681 /* SPI_ETH config */
682 qcom,mode = <1>; /* DIG_OUT */
683 qcom,output-type = <0>; /* CMOS */
684 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700685 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700686 qcom,master-en = <1>; /* ENABLE MPP */
687 };
688
689 mpp@a500 { /* MPP 6 */
690 /* SPI_ETH_RST config */
691 qcom,mode = <1>; /* DIG_OUT */
692 qcom,output-type = <0>; /* CMOS */
693 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700694 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700695 qcom,master-en = <1>; /* ENABLE MPP */
696 };
697
698 mpp@a600 { /* MPP 7 */
699 };
700
701 mpp@a700 { /* MPP 8 */
702 };
703};
704
705&pm8841_mpps {
706
707 mpp@a000 { /* MPP 1 */
Tanya Finkelb4fea122012-11-14 14:23:37 +0200708 /* CLASS_D_EN speakers PA */
709 qcom,mode = <1>; /* DIG_OUT */
710 qcom,output-type = <0>; /* PNP_PIN_OUT_BUF_CMOS */
711 qcom,vin-sel = <2>; /* S3A 1.8v */
712 qcom,src-select = <0>; /* CONSTANT */
713 qcom,master-en = <1>; /* ENABLE MPP */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700714 };
715
716 mpp@a100 { /* MPP 2 */
Tanya Finkelca619322013-01-20 15:43:58 +0200717 /* DOCK_PLUG_DET speakers+docking detect irq*/
718 qcom,mode = <0>; /* DIG_IN */
719 qcom,vin-sel = <2>; /* S3A 1.8v */
720 qcom,src-sel = <0>; /* CONSTANT */
721 qcom,master-en = <1>; /* ENABLE MPP */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700722 };
723
724 mpp@a200 { /* HDMI_MUX_SEL MPP 3*/
725 status = "ok";
726 qcom,mode = <1>; /* DIG_OUT */
727 qcom,output-type = <0>; /* CMOS */
728 qcom,vin-sel = <2>; /* PM8841_S3A 1.8V */
Michael Bohand734fb22012-10-30 14:19:22 -0700729 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700730 qcom,master-en = <1>; /* ENABLE MPP */
731 };
732
733 mpp@a300 { /* HDMI_MUX_EN MPP 4*/
734 status = "ok";
735 qcom,mode = <1>; /* DIG_OUT */
736 qcom,output-type = <0>; /* CMOS */
737 qcom,vin-sel = <0>; /* PM8841_VPH 3.4V */
Michael Bohand734fb22012-10-30 14:19:22 -0700738 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700739 qcom,master-en = <1>; /* ENABLE MPP */
740 };
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530741};
Siddartha Mohanadosse9f24de2012-11-02 17:13:18 -0700742
Joonwoo Parkdf0d5a92012-12-12 14:08:32 -0800743&vph_pwr_vreg {
744 status = "ok";
745};
746
Tanya Finkel5f9a3d12013-01-05 01:25:17 +0200747&slim_msm {
748 taiko_codec {
Kiran Kandi294fc322013-05-15 13:10:18 -0700749 qcom,cdc-micbias1-ext-cap;
Tanya Finkel5f9a3d12013-01-05 01:25:17 +0200750 qcom,cdc-micbias2-ext-cap;
Kiran Kandi4041f7f2013-02-07 23:17:18 -0800751 qcom,cdc-micbias3-ext-cap;
Kiran Kandi294fc322013-05-15 13:10:18 -0700752 qcom,cdc-micbias4-ext-cap;
Joonwoo Parkdf0d5a92012-12-12 14:08:32 -0800753
754 /*
755 * Liquid has external spkrdrv supply. Give a dummy supply to
756 * make codec driver's happy.
757 */
758 cdc-vdd-spkdrv-supply = <&vph_pwr_vreg>;
759 qcom,cdc-vdd-spkdrv-voltage = <0 0>;
760 qcom,cdc-vdd-spkdrv-current = <0>;
761
762 qcom,cdc-on-demand-supplies = "cdc-vdd-spkdrv";
Tanya Finkel5f9a3d12013-01-05 01:25:17 +0200763 };
764};
765
Siddartha Mohanadosse9f24de2012-11-02 17:13:18 -0700766&spi_epm {
767 epm-adc@0 {
768 compatible = "cy,epm-adc-cy8c5568lti-114";
769 reg = <0>;
770 interrupt-parent = <&msmgpio>;
771 spi-max-frequency = <960000>;
772 qcom,channels = <31>;
773 qcom,gain = <50 50 50 50 50 100 50 50 50 50
774 50 50 50 50 100 50 50 50 50 100
775 50 50 50 100 50 50 50 1 1 1
776 1>;
777 qcom,rsense = <40 10 10 25 10 1000 75 25 10 25
778 33 500 200 10 500 100 33 200 25 100
779 75 500 50 200 5 5 3 1 1 1
780 1>;
781 qcom,channel-type = <0xf0000000>;
782 };
783};
Asaf Penso001cc3a2013-01-21 21:15:10 +0200784
785&spmi_bus {
786 qcom,pm8941@1 {
787 qcom,leds@d000 {
788 qcom,rgb_2 {
789 status = "ok";
790 qcom,default-state = "on";
791 qcom,turn-off-delay-ms = <1000>;
792 };
793 };
794 };
795};
David Keitelf2170cc2013-02-20 17:49:03 -0800796
797&pm8941_chg {
798 status = "ok";
David Keitela2f8ef9a2013-05-16 19:32:52 -0700799 otg-parent-supply = <&ext_5v>;
David Keitelf2170cc2013-02-20 17:49:03 -0800800
David Keitele89d4782013-03-27 11:29:59 -0700801 qcom,charging-disabled;
David Keitelf2170cc2013-02-20 17:49:03 -0800802
David Keitele89d4782013-03-27 11:29:59 -0700803 qcom,chgr@1000 {
David Keitelf2170cc2013-02-20 17:49:03 -0800804 status = "ok";
805 };
806
David Keitele89d4782013-03-27 11:29:59 -0700807 qcom,buck@1100 {
David Keitelf2170cc2013-02-20 17:49:03 -0800808 status = "ok";
809 };
810
David Keitele89d4782013-03-27 11:29:59 -0700811 qcom,usb-chgpth@1300 {
David Keitelf2170cc2013-02-20 17:49:03 -0800812 status = "ok";
813 };
814
David Keitele89d4782013-03-27 11:29:59 -0700815 qcom,dc-chgpth@1400 {
David Keitelf2170cc2013-02-20 17:49:03 -0800816 status = "ok";
817 };
818
David Keitele89d4782013-03-27 11:29:59 -0700819 qcom,boost@1500 {
David Keitelf2170cc2013-02-20 17:49:03 -0800820 status = "ok";
821 };
822
823 qcom,chg-misc@1600 {
824 status = "ok";
825 };
826};
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700827
Venkat Gopalakrishnand446a122012-11-05 14:10:44 -0800828&sdcc1 {
829 status = "disabled";
830};
831
832&sdcc2 {
833 status = "disabled";
834};
835
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700836&sdhc_1 {
837 vdd-supply = <&pm8941_l20>;
838 vdd-io-supply = <&pm8941_s3>;
839
Sahitya Tummalad0fc2dd2013-03-27 10:34:35 +0530840 qcom,vdd-always-on;
841 qcom,vdd-lpm-sup;
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700842 qcom,vdd-voltage-level = <2950000 2950000>;
843 qcom,vdd-current-level = <800 500000>;
844
845 qcom,vdd-io-always-on;
846 qcom,vdd-io-voltage-level = <1800000 1800000>;
847 qcom,vdd-io-current-level = <250 154000>;
848
849 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
850 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
Krishna Konda6c5d0f42013-04-12 16:44:26 -0700851 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700852 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
853
854 qcom,nonremovable;
Venkat Gopalakrishnand446a122012-11-05 14:10:44 -0800855 status = "ok";
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700856};
857
858&sdhc_2 {
859 vdd-supply = <&pm8941_l21>;
860 vdd-io-supply = <&pm8941_l13>;
861
862 qcom,vdd-voltage-level = <2950000 2950000>;
863 qcom,vdd-current-level = <9000 800000>;
864
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700865 qcom,vdd-io-voltage-level = <1800000 2950000>;
866 qcom,vdd-io-current-level = <6 22000>;
867
868 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
869 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
Krishna Konda6c5d0f42013-04-12 16:44:26 -0700870 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700871 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
Venkat Gopalakrishnand446a122012-11-05 14:10:44 -0800872 status = "ok";
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700873};
Krishna Konda6c5d0f42013-04-12 16:44:26 -0700874
875/* Drive strength recommendations for clock line from hardware team is 10 mA.
876 * But since the driver has been been using the below values from the start
877 * without any problems, continue to use those.
878 */
879&sdcc1 {
880 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
881};
882
883&sdcc2 {
884 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
885};
886
887&sdhc_1 {
888 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
889};
890
891&sdhc_2 {
892 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
893};