blob: 1cbff2a9370a3037509de55503f79e9c07a2809b [file] [log] [blame]
Eugene Yasmanac6f4632013-05-06 12:02:31 +03001/* Copyright (c) 2013, 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
13/include/ "dsi-panel-sharp-qhd-video.dtsi"
14/include/ "msm8974-leds.dtsi"
15
16/ {
17 serial@f991e000 {
18 status = "ok";
19 };
20
21 qcom,mdss_dsi_sharp_qhd_video {
22 status = "ok";
Asaf Penso7c5deed2013-04-28 12:41:21 +030023 qcom,cont-splash-enabled;
Eugene Yasmanac6f4632013-05-06 12:02:31 +030024 };
25
26 qcom,hdmi_tx@fd922100 {
27 status = "ok";
28 };
29
30 gpio_keys {
31 compatible = "gpio-keys";
32 input-name = "gpio-keys";
33
34 vol_up {
35 label = "volume_up";
36 gpios = <&pm8941_gpios 5 0x1>;
37 linux,input-type = <1>;
38 linux,code = <115>;
39 gpio-key,wakeup;
40 debounce-interval = <15>;
41 };
42
43 general {
44 label = "general";
45 gpios = <&pm8941_gpios 23 0x1>;
46 linux,input-type = <1>;
47 linux,code = <102>;
48 gpio-key,wakeup;
49 debounce-interval = <15>;
50 };
51 };
52
53 bt_ar3002 {
54 compatible = "qca,ar3002";
55 qca,bt-reset-gpio = <&pm8941_gpios 34 0>;
56 };
57
58 hsic_hub {
59 compatible = "qcom,hsic-smsc-hub";
60 #address-cells = <1>;
61 #size-cells = <1>;
62 ranges;
63 smsc,reset-gpio = <&pm8941_gpios 8 0x00>;
64
65 hsic_host: hsic@f9a00000 {
66 compatible = "qcom,hsic-host";
67 reg = <0xf9a00000 0x400>;
68 #address-cells = <0>;
69 interrupt-parent = <&hsic_host>;
70 interrupts = <0 1 2>;
71 #interrupt-cells = <1>;
72 interrupt-map-mask = <0xffffffff>;
73 interrupt-map = <0 &intc 0 136 0
74 1 &intc 0 148 0
75 2 &msmgpio 144 0x8>;
76 interrupt-names = "core_irq", "async_irq", "wakeup";
77 HSIC_VDDCX-supply = <&pm8841_s2>;
78 HSIC_GDSC-supply = <&gdsc_usb_hsic>;
79 hsic,strobe-gpio = <&msmgpio 144 0x00>;
80 hsic,data-gpio = <&msmgpio 145 0x00>;
81 hsic,ignore-cal-pad-config;
82 hsic,strobe-pad-offset = <0x2050>;
83 hsic,data-pad-offset = <0x2054>;
84
85 qcom,msm-bus,name = "hsic";
86 qcom,msm-bus,num-cases = <2>;
87 qcom,msm-bus,active-only = <0>;
88 qcom,msm-bus,num-paths = <1>;
89 qcom,msm-bus,vectors-KBps =
90 <85 512 0 0>,
91 <85 512 40000 160000>;
92 };
93 };
94
95 i2c@f9923000 {
Asaf Pensoc4d97412013-05-16 14:11:20 +030096 status = "ok";
Eugene Yasmanac6f4632013-05-06 12:02:31 +030097 atmel_mxt_ts@4a {
98 compatible = "atmel,mxt-ts";
99 reg = <0x4a>;
100 interrupt-parent = <&msmgpio>;
101 interrupts = <61 0x2>;
102 vdd_ana-supply = <&pm8941_l18>;
103 vcc_i2c-supply = <&pm8941_s3>;
104 atmel,reset-gpio = <&msmgpio 60 0x00>;
105 atmel,irq-gpio = <&msmgpio 61 0x00>;
106 atmel,panel-coords = <0 0 566 1067>;
107 atmel,display-coords = <0 0 540 960>;
108 atmel,i2c-pull-up;
109 atmel,cfg_1 {
110 atmel,family-id = <0x81>;
111 atmel,variant-id = <0x19>;
112 atmel,version = <0x10>;
113 atmel,build = <0xaa>;
114 atmel,config = [
115 /* Object 38, Instance = 0 */
116 0F 02 00 17 04 0C 00 00
117 /* Object 7, Instance = 0 */
118 30 FF 19
119 /* Object 8, Instance = 0 */
120 1B 00 05 01 00 00 08 08 00 00
121 /* Object 9, Instance = 0 */
122 83 00 00 13 0B 00 10 23 01 03
123 0A 0F 01 0B 04 05 28 0A 2B 04
124 36 02 00 00 00 00 8F 28 8F 50
125 12 0F 32 32 02
126 /* Object 15, Instance = 0 */
127 00 00 00 00 00 00 00 00 00 00
128 00
129 /* Object 18, Instance = 0 */
130 00 00
131 /* Object 19, Instance = 0 */
132 00 00 00 00 00 00 00 00 00 00
133 00 00 00 00 00 00
134 /* Object 23, Instance = 0 */
135 00 00 00 00 00 00 00 00 00 00
136 00 00 00 00 00
137 /* Object 25, Instance = 0 */
138 00 00 00 00 00 00 00 00 00 00
139 00 00 00 00
140 /* Object 40, Instance = 0 */
141 00 00 00 00 00
142 /* Object 42, Instance = 0 */
143 00 00 00 00 00 00 00 00
144 /* Object 46, Instance = 0 */
145 00 03 10 30 00 00 01 00 00
146 /* Object 47, Instance = 0 */
147 00 00 00 00 00 00 00 00 00 00
148 /* Object 48, Instance = 0 */
149 00 00 00 00 00 00 00 00 00 00
150 00 00 00 00 00 00 00 00 00 00
151 00 00 00 00 00 00 00 00 00 00
152 00 00 00 00 00 00 00 00 00 00
153 00 00 00 00 00 00 00 00 00 00
154 00 00 00 00
155 ];
156 };
157 };
158 };
159
160 gen-vkeys {
161 compatible = "qcom,gen-vkeys";
162 label = "atmel_mxt_ts";
163 qcom,disp-maxx = <540>;
164 qcom,disp-maxy = <960>;
165 qcom,panel-maxx = <566>;
166 qcom,panel-maxy = <1067>;
167 qcom,key-codes = <158 139 102 217>;
168 };
169
170 sound {
171 qcom,model = "apq8074-taiko-db-snd-card";
172 qcom,hdmi-audio-rx;
173
174 qcom,audio-routing =
175 "RX_BIAS", "MCLK",
176 "LDO_H", "MCLK",
177 "AMIC1", "MIC BIAS1 External",
178 "MIC BIAS1 External", "Analog Mic4",
179 "AMIC2", "MIC BIAS2 External",
180 "MIC BIAS2 External", "Headset Mic",
181 "AMIC3", "MIC BIAS2 External",
182 "MIC BIAS2 External", "ANCRight Headset Mic",
183 "AMIC4", "MIC BIAS2 External",
184 "MIC BIAS2 External", "ANCLeft Headset Mic",
185 "AMIC5", "MIC BIAS1 External",
186 "MIC BIAS1 External", "Analog Mic6",
187 "AMIC6", "MIC BIAS1 External",
188 "MIC BIAS1 External", "Analog Mic7",
189 "DMIC1", "MIC BIAS3 External",
190 "MIC BIAS3 External", "Digital Mic1",
191 "DMIC2", "MIC BIAS3 External",
192 "MIC BIAS3 External", "Digital Mic2",
193 "DMIC3", "MIC BIAS4 External",
194 "MIC BIAS4 External", "Digital Mic3",
195 "DMIC4", "MIC BIAS3 External",
196 "MIC BIAS3 External", "Digital Mic4",
197 "DMIC5", "MIC BIAS4 External",
198 "MIC BIAS4 External", "Digital Mic5",
199 "DMIC6", "MIC BIAS4 External",
200 "MIC BIAS4 External", "Digital Mic6";
201 };
202};
203
204&mdss_fb0 {
205 qcom,memory-reservation-size = <0x1000000>; /* size 16MB */
206};
207
208&sdcc3 {
209 qcom,sup-voltages = <2000 2000>;
210 status = "ok";
211};
212
213&pm8941_l19 {
214 regulator-min-microvolt = <3300000>;
215 regulator-max-microvolt = <3300000>;
216 qcom,init-voltage = <3300000>;
217 regulator-always-on;
218};
219
220&pm8941_l10 {
221 regulator-min-microvolt = <1800000>;
222 regulator-max-microvolt = <1800000>;
223 qcom,init-voltage = <1800000>;
224 regulator-always-on;
225};
226
227&uart7 {
228 status = "ok";
229 qcom,tx-gpio = <&msmgpio 41 0x00>;
230 qcom,rx-gpio = <&msmgpio 42 0x00>;
231 qcom,cts-gpio = <&msmgpio 43 0x00>;
232 qcom,rfr-gpio = <&msmgpio 44 0x00>;
233};
234
Manu Gautam19313912013-04-03 12:14:40 +0530235&usb_otg {
236 status = "ok";
237 qcom,hsusb-otg-otg-control = <2>;
238 qcom,hsusb-otg-mode = <3>;
239 vbus_otg-supply = <&pm8941_mvs1>;
240 qcom,usb2-enable-hsphy2;
241 qcom,dp-manual-pullup;
242
243 #address-cells = <0>;
244 interrupt-parent = <&usb_otg>;
245 interrupts = <0 1 2>;
246 #interrupt-cells = <1>;
247 interrupt-map-mask = <0xffffffff>;
248 interrupt-map = <0 &intc 0 134 0
249 1 &intc 0 140 0
250 2 &spmi_bus 0x0 0x0 0x9 0x0>;
251 interrupt-names = "core_irq", "async_irq", "pmic_id_irq";
252};
253
Eugene Yasmanac6f4632013-05-06 12:02:31 +0300254&usb3 {
255 qcom,charging-disabled;
Manu Gautam19313912013-04-03 12:14:40 +0530256 vbus_dwc3-supply = <0>;
257 dwc3@f9200000 {
258 host-only-mode;
259 };
Eugene Yasmanac6f4632013-05-06 12:02:31 +0300260};
261
262&slim_msm {
263 taiko_codec {
264 qcom,cdc-micbias2-ext-cap;
265 qcom,cdc-micbias3-ext-cap;
266 };
267};
268
269&pm8941_gpios {
270 gpio@c000 { /* GPIO 1 */
271 qcom,mode = <0>;
272 qcom,pull = <0>;
273 qcom,vin-sel = <2>;
274 qcom,src-sel = <0>;
275 };
276
277 gpio@c100 { /* GPIO 2 */
278 qcom,mode = <0>;
279 qcom,pull = <0>;
280 qcom,vin-sel = <2>;
281 qcom,src-sel = <0>;
282 };
283
284 gpio@c200 { /* GPIO 3 */
285 };
286
287 gpio@c300 { /* GPIO 4 */
288 };
289
290 gpio@c400 { /* GPIO 5 */
291 qcom,mode = <0>;
292 qcom,pull = <0>;
293 qcom,vin-sel = <2>;
294 qcom,src-sel = <0>;
295 };
296
297 gpio@c500 { /* GPIO 6 */
298 /* TUSB3_HUB-RESET */
299 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
300 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
301 qcom,pull = <0>; /* QPNP_PIN_PULL_30 */
302 qcom,vin-sel = <0>; /* QPNP_PIN_VIN0 VPH */
303 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
304 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
305 qcom,invert = <1>; /* Keep it out of reset */
306 qcom,master-en = <1>;
307 };
308
309 gpio@c600 { /* GPIO 7 */
310 };
311
312 gpio@c700 { /* GPIO 8 */
313 /* HSIC_HUB-RESET */
314 qcom,mode = <1>; /* DIG_OUT */
315 qcom,pull = <5>; /* PULL_NO */
316 qcom,out-strength = <2>; /* STRENGTH_MED */
317 qcom,master-en = <1>;
318 };
319
320 gpio@c800 { /* GPIO 9 */
321 /* GbE_RST_N */
322 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
323 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
324 qcom,pull = <0>; /* QPNP_PIN_PULL_30 */
325 qcom,vin-sel = <0>; /* QPNP_PIN_VIN0 VPH */
326 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
327 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
328 qcom,invert = <1>; /* Keep it out of reset */
329 qcom,master-en = <1>;
330 };
331
332 gpio@c900 { /* GPIO 10 */
333 /* SATA_RST_N */
334 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
335 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
336 qcom,pull = <0>; /* QPNP_PIN_PULL_30 */
337 qcom,vin-sel = <0>; /* QPNP_PIN_VIN0 VPH */
338 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
339 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
340 qcom,invert = <1>; /* Keep it out of reset */
341 qcom,master-en = <1>;
342 };
343
344 gpio@ca00 { /* GPIO 11 */
345 };
346
347 gpio@cb00 { /* GPIO 12 */
348 };
349
350 gpio@cc00 { /* GPIO 13 */
351 };
352
353 gpio@cd00 { /* GPIO 14 */
354 };
355
356 gpio@ce00 { /* GPIO 15 */
357 qcom,mode = <1>;
358 qcom,output-type = <0>;
359 qcom,pull = <5>;
360 qcom,vin-sel = <2>;
361 qcom,out-strength = <3>;
362 qcom,src-sel = <2>;
363 qcom,master-en = <1>;
364 };
365
366 gpio@cf00 { /* GPIO 16 */
367 };
368
369 gpio@d000 { /* GPIO 17 */
370 };
371
372 gpio@d100 { /* GPIO 18 */
373 };
374
375 gpio@d200 { /* GPIO 19 */
376 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
377 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
378 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
379 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
380 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
381 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
382 qcom,master-en = <1>;
383 };
384
385 gpio@d300 { /* GPIO 20 */
386 };
387
388 gpio@d400 { /* GPIO 21 */
389 };
390
391 gpio@d500 { /* GPIO 22 */
392 };
393
394 gpio@d600 { /* GPIO 23 */
395 };
396
397 gpio@d700 { /* GPIO 24 */
398 };
399
400 gpio@d800 { /* GPIO 25 */
401 };
402
403 gpio@d900 { /* GPIO 26 */
404 };
405
406 gpio@da00 { /* GPIO 27 */
407 };
408
409 gpio@db00 { /* GPIO 28 */
410 };
411
412 gpio@dc00 { /* GPIO 29 */
413 qcom,pull = <0>; /* set to default pull */
414 qcom,master-en = <1>;
415 qcom,vin-sel = <2>; /* select 1.8 V source */
416 };
417
418 gpio@dd00 { /* GPIO 30 */
419 };
420
421 gpio@de00 { /* GPIO 31 */
422 };
423
424 gpio@df00 { /* GPIO 32 */
425 };
426
427 gpio@e000 { /* GPIO 33 */
428 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
429 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
430 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
431 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
432 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
433 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
434 qcom,invert = <1>;
435 qcom,master-en = <1>;
436 };
437
438 gpio@e100 { /* GPIO 34 */
439 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
440 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
441 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
442 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
443 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
444 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
445 qcom,invert = <0>;
446 qcom,master-en = <1>;
447 };
448
449 gpio@e200 { /* GPIO 35 */
450 };
451
452 gpio@e300 { /* GPIO 36 */
453 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
454 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
455 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
456 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
457 qcom,out-strength = <3>; /* QPNP_PIN_OUT_STRENGTH_HIGH */
458 qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */
459 qcom,master-en = <1>;
460 };
461};
462
463&pm8941_mpps {
464
465 mpp@a000 { /* MPP 1 */
466 };
467
468 mpp@a100 { /* MPP 2 */
469 };
470
471 mpp@a200 { /* MPP 3 */
472 };
473
474 mpp@a300 { /* MPP 4 */
475 };
476
477 mpp@a400 { /* MPP 5 */
478 };
479
480 mpp@a500 { /* MPP 6 */
481 };
482
483 mpp@a600 { /* MPP 7 */
484 };
485
486 mpp@a700 { /* MPP 8 */
487 };
488};
489
490&pm8841_mpps {
491
492 mpp@a000 { /* MPP 1 */
493 };
494
495 mpp@a100 { /* MPP 2 */
496 };
497
498 mpp@a200 { /* MPP 3*/
499 };
500
501 mpp@a300 { /* MPP 4*/
502 };
503};
504
505&spi_epm {
506 epm-adc@0 {
507 compatible = "cy,epm-adc-cy8c5568lti-114";
508 reg = <0>;
509 interrupt-parent = <&msmgpio>;
510 spi-max-frequency = <960000>;
511 qcom,channels = <31>;
512 qcom,gain = <50 50 50 50 50 100 50 50 50 50
513 50 50 50 50 100 50 50 50 50 100
514 50 50 50 100 50 50 50 1 1 1
515 1>;
516 qcom,rsense = <40 10 10 25 10 1000 75 25 10 25
517 33 500 200 10 500 100 33 200 25 100
518 75 500 50 200 5 5 3 1 1 1
519 1>;
520 qcom,channel-type = <0xf0000000>;
521 };
522};
523
524&spmi_bus {
525 qcom,pm8941@1 {
526 qcom,leds@d000 {
527 qcom,rgb_2 {
528 status = "ok";
529 qcom,default-state = "on";
530 qcom,turn-off-delay-ms = <1000>;
531 };
532 };
533
534 qcom,leds@d800 {
535 status = "okay";
536 qcom,wled_0 {
537 label = "wled";
538 linux,name = "wled:backlight";
539 linux,default-trigger = "bkl-trigger";
540 qcom,cs-out-en;
541 qcom,op-fdbck = <1>;
542 qcom,default-state = "on";
543 qcom,max-current = <25>;
544 qcom,ctrl-delay-us = <0>;
545 qcom,boost-curr-lim = <3>;
546 qcom,cp-sel = <0>;
547 qcom,switch-freq = <2>;
548 qcom,ovp-val = <2>;
549 qcom,num-strings = <1>;
550 qcom,id = <0>;
551 };
552 };
553 };
554};
555
556&pm8941_chg {
557 status = "ok";
558
559 qcom,chg-charging-disabled;
560
561 qcom,chg-chgr@1000 {
562 status = "ok";
563 };
564
565 qcom,chg-buck@1100 {
566 status = "ok";
567 };
568
569 qcom,chg-usb-chgpth@1300 {
570 status = "ok";
571 };
572
573 qcom,chg-dc-chgpth@1400 {
574 status = "ok";
575 };
576
577 qcom,chg-boost@1500 {
578 status = "ok";
579 };
580
581 qcom,chg-misc@1600 {
582 status = "ok";
583 };
584};
585
586&sdhc_1 {
587 vdd-supply = <&pm8941_l20>;
588 vdd-io-supply = <&pm8941_s3>;
589
590 qcom,vdd-always-on;
591 qcom,vdd-lpm-sup;
592 qcom,vdd-voltage-level = <2950000 2950000>;
593 qcom,vdd-current-level = <800 500000>;
594
595 qcom,vdd-io-always-on;
596 qcom,vdd-io-voltage-level = <1800000 1800000>;
597 qcom,vdd-io-current-level = <250 154000>;
598
599 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
600 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
601 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
602 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
603
604 qcom,nonremovable;
605 status = "ok";
606};
607
608&sdhc_2 {
609 #address-cells = <0>;
610 interrupt-parent = <&sdhc_2>;
611 interrupts = <0 1 2>;
612 #interrupt-cells = <1>;
613 interrupt-map-mask = <0xffffffff>;
614 interrupt-map = <0 &intc 0 125 0
615 1 &intc 0 221 0
616 2 &msmgpio 62 0x3>;
617 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
618 cd-gpios = <&msmgpio 62 0x1>;
619
620 vdd-supply = <&pm8941_l21>;
621 vdd-io-supply = <&pm8941_l13>;
622
623 qcom,vdd-voltage-level = <2950000 2950000>;
624 qcom,vdd-current-level = <9000 800000>;
625
626 qcom,vdd-io-voltage-level = <1800000 2950000>;
627 qcom,vdd-io-current-level = <6 22000>;
628
629 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
630 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
631 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
632 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
633 status = "ok";
634};