blob: 0f65dc81c216866de155fd75b0eb20d89fbb05f0 [file] [log] [blame]
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -07001/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
2 *
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
Sreesudhan Ramakrish Ramkumar39074612012-10-11 20:48:51 -070013/include/ "msm8974-camera-sensor-liquid.dtsi"
Amy Maloche24de28b2012-09-17 12:09:56 -070014/include/ "msm8974-leds.dtsi"
Sreesudhan Ramakrish Ramkumar39074612012-10-11 20:48:51 -070015
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070016/ {
17 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>;
29 };
Amir Samuelov6b72fc62012-11-01 20:05:04 +020030
31 charger@2b {
32 compatible = "summit,smb350-charger";
33 reg = <0x2b>; /* 0x56/0x57 */
34 summit,stat-gpio = <&pm8941_gpios 30 0x00>;
35 summit,chg-en-n-gpio = <&pm8941_gpios 10 0x00>;
36 summit,chg-susp-n-gpio = <&pm8941_gpios 13 0x00>;
37 summit,chg-current-ma = <1600>;
38 summit,term-current-ma = <300>;
39 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070040 };
41
42 gpio_keys {
43 compatible = "gpio-keys";
44 input-name = "gpio-keys";
45
46 home {
47 label = "home";
48 gpios = <&pm8941_gpios 1 0x1>;
49 linux,input-type = <1>;
50 linux,code = <102>;
51 gpio-key,wakeup;
52 debounce-interval = <15>;
53 };
54
55 vol_down {
56 label = "volume_down";
57 gpios = <&pm8941_gpios 2 0x1>;
58 linux,input-type = <1>;
59 linux,code = <114>;
60 gpio-key,wakeup;
61 debounce-interval = <15>;
62 };
63
64 vol_up {
65 label = "volume_up";
66 gpios = <&pm8941_gpios 5 0x1>;
67 linux,input-type = <1>;
68 linux,code = <115>;
69 gpio-key,wakeup;
70 debounce-interval = <15>;
71 };
72 };
73
74 qcom,mdss_mdp@fd900000 {
75 qcom,memory-reservation-size = <0x1000000>; /* size 16MB */
76 };
77
78 qcom,hdmi_tx@fd922100 {
79 status = "ok";
Ujwal Patel1a835132012-11-14 22:11:59 -080080
81 qcom,hdmi-tx-mux-sel = <&pm8841_mpps 3 0>;
82 qcom,hdmi-tx-mux-en = <&pm8841_mpps 4 0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070083 };
84
Mohan Pallaka8cc86d62012-11-09 11:29:47 +053085 drv2667_vreg: drv2667_vdd_vreg {
86 compatible = "regulator-fixed";
87 regulator-name = "vdd_drv2667";
88 };
89
Mohan Pallaka28f9fb42012-09-17 15:25:23 +053090 i2c@f9967000 {
91 ti-drv2667@59 {
92 compatible = "ti,drv2667";
93 reg = <0x59>;
94 vdd-supply = <&drv2667_vreg>;
95 vdd-i2c-supply = <&pm8941_s3>;
96 ti,label = "vibrator";
97 ti,gain = <2>;
98 ti,idle-timeout-ms = <20>;
99 ti,max-runtime-ms = <15000>;
100 ti,mode = <2>;
101 ti,wav-seq = [
102 /* wave form id */
103 01
104 /* header size, start and stop bytes */
105 05 80 06 00 09
106 /* repeat, amp, freq, duration, envelope */
107 01 ff 19 02 00];
108 };
109 };
110
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700111 i2c@f9924000 {
112 atmel_mxt_ts@4a {
113 compatible = "atmel,mxt-ts";
114 reg = <0x4a>;
115 interrupt-parent = <&msmgpio>;
116 interrupts = <61 0x2>;
117 vdd_ana-supply = <&pm8941_l22>;
118 vcc_i2c-supply = <&pm8941_s3>;
119 atmel,reset-gpio = <&msmgpio 60 0x00>;
120 atmel,irq-gpio = <&msmgpio 61 0x00>;
121 atmel,panel-coords = <0 0 1080 1920>;
122 atmel,display-coords = <0 0 1080 1920>;
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530123 atmel,i2c-pull-up;
124 atmel,no-force-update;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700125 atmel,cfg_1 {
126 atmel,family-id = <0xa2>;
127 atmel,variant-id = <0x00>;
128 atmel,version = <0x11>;
129 atmel,build = <0xaa>;
130 atmel,config = [
131 /* Object 6, Instance = 0 */
132 00 00 00 00 00 00
133 /* Object 38, Instance = 0 */
134 16 00 00 14 09 0C 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 00 00 00 00 00 00
139 00 00 00 00 00 00 00 00 00 00
140 00 00 00 00
141 /* Object 7, Instance = 0 */
142 FF FF 0A 03
143 /* Object 8, Instance = 0 */
144 5F 00 14 14 00 00 00 01 00 00
145 /* Object 9, Instance = 0 */
146 8F 00 00 20 34 00 87 3C 08 03
147 00 05 03 80 0A 14 14 0A 80 07
148 38 04 00 00 00 00 00 00 00 00
149 0F 0F 2E 33 02 00
150 /* Object 15, Instance = 0 */
151 00 00 00 00 00 00 00 00 00 00
152 00
153 /* Object 18, Instance = 0 */
154 04 00
155 /* Object 24, Instance = 0 */
156 00 00 00 00 00 00 00 00 00 00
157 00 00 00 00 00 00 00 00 00
158 /* Object 25, Instance = 0 */
159 00 00 54 6F F0 55 00 00 00 00
160 00 00 00 00 00
161 /* Object 27, Instance = 0 */
162 00 00 00 00 00 00 00
163 /* Object 40, Instance = 0 */
164 00 14 14 14 14
165 /* Object 42, Instance = 0 */
166 20 14 00 00 00 14 11 00 03 00
167 /* Object 43, Instance = 0 */
168 09 00 01 01 91 00 80 00 00 00
169 00 00
170 /* Object 46, Instance = 0 */
171 00 00 10 10 00 00 01 00 00 0F
172 0A
173 /* Object 47, Instance = 0 */
174 00 14 23 02 05 1E 01 78 03 10
175 00 00 0C 00 00 00 00 00 00 00
176 00 00
177 /* Object 55, Instance = 0 */
178 00 00 00 00 00 00 00
179 /* Object 56, Instance = 0 */
180 02 00 01 30 13 14 14 14 15 15
181 15 15 15 15 15 16 16 16 16 16
182 16 16 16 16 16 15 14 14 14 14
183 15 14 14 14 14 13 00 00 01 02
184 05 05 00 00 00 00 00 00 00 00
185 00
186 /* Object 57, Instance = 0 */
187 00 00 00
188 /* Object 61, Instance = 0 */
189 00 00 00 00 00
190 /* Object 62, Instance = 0 */
191 00 01 03 01 00 00 00 00 00 0A
192 0F 14 19 23 05 00 0A 05 05 69
193 23 23 34 11 64 06 06 04 40 00
194 00 00 00 00 69 4B 02 00 00 80
195 0A 14 14 18 18 10 10 80 00 80
196 00 00 0F 02 00 00 00 00 00 00
197 00 00 00 00 00 00 00 00 00 00
198 00 00 00 00
199 /* Object 63, Instance = 0 */
200 00 00 00 00 00 00 00 00 00 00
201 00 00
202 ];
203 };
204 };
205 };
206
207 ext_5v: regulator-smb210 {
208 compatible = "regulator-fixed";
209 regulator-name = "ext_5v";
210 gpio = <&pm8941_mpps 2 0>;
Eugene Yasman8d2d68d2012-11-13 15:00:58 +0200211 startup-delay-us = <12000>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700212 enable-active-high;
213 };
Tanya Finkelb4fea122012-11-14 14:23:37 +0200214
215 sound {
216 qcom,model = "msm8974-taiko-liquid-snd-card";
217 qcom,ext-spk-amp-supply = <&ext_5v>;
218 qcom,ext-spk-amp-gpio = <&pm8841_mpps 1 0>;
219 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700220};
221
Manu Gautam5ee54032012-11-02 15:17:32 +0530222&usb3 {
223 qcom,charging-disabled;
224};
225
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700226&pm8941_mvs1 {
227 parent-supply = <&ext_5v>;
228};
229
230&pm8941_mvs2 {
231 parent-supply = <&ext_5v>;
232};
233
234&pm8941_gpios {
235 gpio@c000 { /* GPIO 1 */
236 qcom,mode = <0>;
237 qcom,pull = <0>;
238 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700239 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700240 };
241
242 gpio@c100 { /* GPIO 2 */
243 qcom,mode = <0>;
244 qcom,pull = <0>;
245 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700246 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700247 };
248
249 gpio@c200 { /* GPIO 3 */
250 };
251
252 gpio@c300 { /* GPIO 4 */
253 };
254
255 gpio@c400 { /* GPIO 5 */
256 qcom,mode = <0>;
257 qcom,pull = <0>;
258 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700259 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700260 };
261
262 gpio@c500 { /* GPIO 6 */
263 };
264
265 gpio@c600 { /* GPIO 7 */
266 };
267
268 gpio@c700 { /* GPIO 8 */
269 };
270
271 gpio@c800 { /* GPIO 9 */
272 };
273
274 gpio@c900 { /* GPIO 10 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200275 /* SMB350-CHG-EN-N */
276 qcom,mode = <1>; /* DIG_OUT */
277 qcom,output-type = <0>; /* CMOS */
278 qcom,pull = <5>; /* PULL_NO */
279 qcom,vin-sel = <0>; /* VPH */
280 qcom,out-strength = <2>; /* STRENGTH_MED */
281 qcom,src-sel = <0>; /* CONSTANT */
282 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700283 };
284
285 gpio@ca00 { /* GPIO 11 */
286 };
287
288 gpio@cb00 { /* GPIO 12 */
289 };
290
291 gpio@cc00 { /* GPIO 13 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200292 /* SMB350-CHG-SUSP-N */
293 qcom,mode = <1>; /* DIG_OUT */
294 qcom,output-type = <0>; /* CMOS */
295 qcom,pull = <5>; /* PULL_NO */
296 qcom,vin-sel = <0>; /* VPH */
297 qcom,out-strength = <2>; /* STRENGTH_MED */
298 qcom,src-sel = <0>; /* CONSTANT */
299 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700300 };
301
302 gpio@cd00 { /* GPIO 14 */
303 };
304
305 gpio@ce00 { /* GPIO 15 */
306 qcom,mode = <1>;
307 qcom,output-type = <0>;
308 qcom,pull = <5>;
309 qcom,vin-sel = <2>;
310 qcom,out-strength = <3>;
Michael Bohand734fb22012-10-30 14:19:22 -0700311 qcom,src-sel = <2>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700312 qcom,master-en = <1>;
313 };
314
315 gpio@cf00 { /* GPIO 16 */
316 };
317
318 gpio@d000 { /* GPIO 17 */
319 };
320
321 gpio@d100 { /* GPIO 18 */
322 };
323
324 gpio@d200 { /* GPIO 19 */
325 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
326 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
327 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
328 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
329 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
Michael Bohand734fb22012-10-30 14:19:22 -0700330 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700331 qcom,master-en = <1>;
332 };
333
334 gpio@d300 { /* GPIO 20 */
335 };
336
337 gpio@d400 { /* GPIO 21 */
338 };
339
340 gpio@d500 { /* GPIO 22 */
341 };
342
343 gpio@d600 { /* GPIO 23 */
344 };
345
346 gpio@d700 { /* GPIO 24 */
347 };
348
349 gpio@d800 { /* GPIO 25 */
350 };
351
352 gpio@d900 { /* GPIO 26 */
353 };
354
355 gpio@da00 { /* GPIO 27 */
356 };
357
358 gpio@db00 { /* GPIO 28 */
359 };
360
361 gpio@dc00 { /* GPIO 29 */
362 qcom,pull = <0>; /* set to default pull */
363 qcom,master-en = <1>;
364 qcom,vin-sel = <2>; /* select 1.8 V source */
365 };
366
367 gpio@dd00 { /* GPIO 30 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200368 /* SMB350-STAT */
369 qcom,mode = <0>; /* DIG_IN */
370 qcom,pull = <5>; /* PULL_NO */
371 qcom,vin-sel = <2>; /* S3 1.8V */
372 qcom,src-sel = <0>; /* CONSTANT */
373 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700374 };
375
376 gpio@de00 { /* GPIO 31 */
377 };
378
379 gpio@df00 { /* GPIO 32 */
380 };
381
382 gpio@e000 { /* GPIO 33 */
Alexander Lifshitz7cddb5e2012-11-14 15:46:37 +0200383 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
384 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
385 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
386 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
387 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
388 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
389 qcom,invert = <1>;
390 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700391 };
392
393 gpio@e100 { /* GPIO 34 */
Alexander Lifshitz7cddb5e2012-11-14 15:46:37 +0200394 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
395 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
396 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
397 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
398 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
399 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
400 qcom,invert = <0>;
401 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700402 };
403
404 gpio@e200 { /* GPIO 35 */
405 };
406
407 gpio@e300 { /* GPIO 36 */
408 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
409 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
410 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
411 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
412 qcom,out-strength = <3>; /* QPNP_PIN_OUT_STRENGTH_HIGH */
Michael Bohand734fb22012-10-30 14:19:22 -0700413 qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700414 qcom,master-en = <1>;
415 };
416};
417
418&pm8941_mpps {
419
420 mpp@a000 { /* MPP 1 */
421 };
422
423 mpp@a100 { /* MPP 2 */
424 /* ext_5v regulator enable */
425 qcom,mode = <1>; /* Digital output */
426 qcom,invert = <0>; /* Output low initially */
427 qcom,vin-sel = <2>; /* PM8941 S3 = 1.8 V */
Michael Bohand734fb22012-10-30 14:19:22 -0700428 qcom,src-sel = <0>; /* Constant */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700429 qcom,master-en = <1>; /* Enable MPP */
430 };
431
432 mpp@a200 { /* MPP 3 */
433 };
434
435 mpp@a300 { /* MPP 4 */
436 };
437
438 mpp@a400 { /* MPP 5 */
439 /* SPI_ETH config */
440 qcom,mode = <1>; /* DIG_OUT */
441 qcom,output-type = <0>; /* CMOS */
442 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700443 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700444 qcom,master-en = <1>; /* ENABLE MPP */
445 };
446
447 mpp@a500 { /* MPP 6 */
448 /* SPI_ETH_RST config */
449 qcom,mode = <1>; /* DIG_OUT */
450 qcom,output-type = <0>; /* CMOS */
451 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700452 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700453 qcom,master-en = <1>; /* ENABLE MPP */
454 };
455
456 mpp@a600 { /* MPP 7 */
457 };
458
459 mpp@a700 { /* MPP 8 */
460 };
461};
462
463&pm8841_mpps {
464
465 mpp@a000 { /* MPP 1 */
Tanya Finkelb4fea122012-11-14 14:23:37 +0200466 /* CLASS_D_EN speakers PA */
467 qcom,mode = <1>; /* DIG_OUT */
468 qcom,output-type = <0>; /* PNP_PIN_OUT_BUF_CMOS */
469 qcom,vin-sel = <2>; /* S3A 1.8v */
470 qcom,src-select = <0>; /* CONSTANT */
471 qcom,master-en = <1>; /* ENABLE MPP */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700472 };
473
474 mpp@a100 { /* MPP 2 */
475 };
476
477 mpp@a200 { /* HDMI_MUX_SEL MPP 3*/
478 status = "ok";
479 qcom,mode = <1>; /* DIG_OUT */
480 qcom,output-type = <0>; /* CMOS */
481 qcom,vin-sel = <2>; /* PM8841_S3A 1.8V */
Michael Bohand734fb22012-10-30 14:19:22 -0700482 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700483 qcom,master-en = <1>; /* ENABLE MPP */
484 };
485
486 mpp@a300 { /* HDMI_MUX_EN MPP 4*/
487 status = "ok";
488 qcom,mode = <1>; /* DIG_OUT */
489 qcom,output-type = <0>; /* CMOS */
490 qcom,vin-sel = <0>; /* PM8841_VPH 3.4V */
Michael Bohand734fb22012-10-30 14:19:22 -0700491 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700492 qcom,master-en = <1>; /* ENABLE MPP */
493 };
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530494};