blob: b4d9139ddd037d569fb3c60a8484b94f03cbc8d6 [file] [log] [blame]
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -07001/* 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
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070013/include/ "msm8226-camera-sensor-mtp.dtsi"
14
15&soc {
16 serial@f991f000 {
17 status = "ok";
18 };
19
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070020 i2c@f9927000 { /* BLSP1 QUP5 */
21 synaptics@20 {
22 compatible = "synaptics,rmi4";
23 reg = <0x20>;
24 interrupt-parent = <&msmgpio>;
25 interrupts = <17 0x2008>;
26 vdd-supply = <&pm8226_l19>;
27 vcc_i2c-supply = <&pm8226_lvs1>;
28 synaptics,reset-gpio = <&msmgpio 16 0x00>;
29 synaptics,irq-gpio = <&msmgpio 17 0x2008>;
30 synaptics,button-map = <139 102 158>;
Sarada Prasanna Garnayak41e2ad82013-11-18 17:21:56 +053031 synaptics,fw-image-name = "PR1468813.img";
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070032 synaptics,i2c-pull-up;
Amy Maloche80c15572013-09-19 15:15:23 -070033 synaptics,power-down;
34 synaptics,disable-gpios;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070035 };
36 };
37
Madan Mohan Koyyalamudi2d7c6f52013-06-19 17:49:45 -070038 i2c@f9925000 { /* BLSP1 QUP3 */
39 nfc-nci@0e {
40 compatible = "qcom,nfc-nci";
41 reg = <0x0e>;
42 qcom,irq-gpio = <&msmgpio 21 0x00>;
43 qcom,dis-gpio = <&msmgpio 20 0x00>;
Bansidhar Gopalacharibe0e4d92013-09-19 19:30:36 +010044 qcom,clk-src = "BBCLK2";
45 qcom,clk-en-gpio = <&msmgpio 0 0x00>;
Madan Mohan Koyyalamudi2d7c6f52013-06-19 17:49:45 -070046 interrupt-parent = <&msmgpio>;
47 interrupts = <21 0>;
48 qcom,clk-gpio = <&pm8226_gpios 3 0>;
49 };
50 };
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070051 gpio_keys {
52 compatible = "gpio-keys";
53 input-name = "gpio-keys";
54
55 camera_focus {
56 label = "camera_focus";
57 gpios = <&msmgpio 108 0x1>;
58 linux,input-type = <1>;
59 linux,code = <0x210>;
60 gpio-key,wakeup;
61 debounce-interval = <15>;
62 };
63
64 camera_snapshot {
65 label = "camera_snapshot";
66 gpios = <&msmgpio 107 0x1>;
67 linux,input-type = <1>;
68 linux,code = <0x2fe>;
69 gpio-key,wakeup;
70 debounce-interval = <15>;
71 };
72
73 vol_up {
74 label = "volume_up";
75 gpios = <&msmgpio 106 0x1>;
76 linux,input-type = <1>;
77 linux,code = <115>;
78 gpio-key,wakeup;
79 debounce-interval = <15>;
80 };
81 };
82
83 spi@f9923000 {
84 ethernet-switch@3 {
85 compatible = "micrel,ks8851";
86 reg = <3>;
87 interrupt-parent = <&msmgpio>;
fangpanf6f96072013-07-17 16:10:34 -070088 interrupts = <115 0x8>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070089 spi-max-frequency = <4800000>;
90 rst-gpio = <&msmgpio 114 0>;
91 vdd-io-supply = <&pm8226_lvs1>;
92 vdd-phy-supply = <&pm8226_lvs1>;
93 };
94 };
95
96 sound {
97 qcom,audio-routing =
98 "RX_BIAS", "MCLK",
99 "LDO_H", "MCLK",
100 "SPK_OUT", "MCLK",
101 "SPK_OUT", "EXT_VDD_SPKR",
102 "AMIC1", "MIC BIAS1 External",
103 "MIC BIAS1 External", "Handset Mic",
104 "AMIC2", "MIC BIAS2 External",
105 "MIC BIAS2 External", "Headset Mic",
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700106 "AMIC4", "MIC BIAS2 External",
Phani Kumar Uppalapatic2f9c222013-05-09 19:17:58 -0700107 "MIC BIAS2 External", "ANCRight Headset Mic",
108 "AMIC5", "MIC BIAS2 External",
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700109 "MIC BIAS2 External", "ANCLeft Headset Mic";
110
111 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
112 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
Laxminath Kasambe661bc2014-02-24 19:19:54 +0530113 qcom,cdc-us-euro-gpios = <&msmgpio 69 0>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700114 };
Phani Kumar Uppalapatic2f9c222013-05-09 19:17:58 -0700115
116 sound-9302 {
117 qcom,audio-routing =
118 "RX_BIAS", "MCLK",
119 "LDO_H", "MCLK",
120 "SPK_OUT", "MCLK",
121 "SPK_OUT", "EXT_VDD_SPKR",
122 "AMIC1", "MIC BIAS1 Internal1",
123 "MIC BIAS1 Internal1", "Handset Mic",
124 "AMIC2", "MIC BIAS2 External",
125 "MIC BIAS2 External", "Headset Mic",
126 "AMIC3", "MIC BIAS1 External",
127 "MIC BIAS1 External", "Handset Mic";
128
129 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
130 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
Laxminath Kasambe661bc2014-02-24 19:19:54 +0530131 qcom,cdc-us-euro-gpios = <&msmgpio 69 0>;
Phani Kumar Uppalapatic2f9c222013-05-09 19:17:58 -0700132 };
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700133};
134
Manu Gautam41334e92013-06-04 17:49:25 +0530135&usb_otg {
136 #address-cells = <0>;
137 interrupt-parent = <&usb_otg>;
138 interrupts = <0 1 2>;
139 #interrupt-cells = <1>;
140 interrupt-map-mask = <0xffffffff>;
141 interrupt-map = <0 &intc 0 134 0
142 1 &intc 0 140 0
143 2 &spmi_bus 0x0 0x0 0x9 0x0>;
144 interrupt-names = "core_irq", "async_irq", "pmic_id_irq";
145
146 qcom,hsusb-otg-mode = <3>;
David Keitel3bdfa5d2013-07-10 17:36:07 -0700147 vbus_otg-supply = <&pm8226_chg_otg>;
Manu Gautam41334e92013-06-04 17:49:25 +0530148};
149
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700150&sdcc1 {
151 vdd-supply = <&pm8226_l17>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700152 qcom,vdd-voltage-level = <2950000 2950000>;
153 qcom,vdd-current-level = <800 500000>;
154
155 vdd-io-supply = <&pm8226_l6>;
156 qcom,vdd-io-always-on;
157 qcom,vdd-io-voltage-level = <1800000 1800000>;
158 qcom,vdd-io-current-level = <250 154000>;
159
160 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
161 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
162 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
163 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
164
165 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
166 qcom,sup-voltages = <2950 2950>;
167
168 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
169 qcom,nonremovable;
170
171 status = "disabled";
172};
173
174&sdhc_1 {
175 vdd-supply = <&pm8226_l17>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700176 qcom,vdd-voltage-level = <2950000 2950000>;
177 qcom,vdd-current-level = <800 500000>;
178
179 vdd-io-supply = <&pm8226_l6>;
180 qcom,vdd-io-always-on;
181 qcom,vdd-io-voltage-level = <1800000 1800000>;
182 qcom,vdd-io-current-level = <250 154000>;
183
184 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
185 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
186 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
187 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
188
189 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
190 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
191 qcom,nonremovable;
192
193 status = "ok";
194};
195
196&sdcc2 {
197 vdd-supply = <&pm8226_l18>;
198 qcom,vdd-voltage-level = <2950000 2950000>;
199 qcom,vdd-current-level = <9000 800000>;
200
201 vdd-io-supply = <&pm8226_l21>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700202 qcom,vdd-io-voltage-level = <1800000 2950000>;
203 qcom,vdd-io-current-level = <6 22000>;
204
205 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
206 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
207 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
208 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
209
210 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
211 qcom,sup-voltages = <2950 2950>;
212
213 qcom,xpc;
214 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
215 qcom,current-limit = <600>; #address-cells = <0>; interrupt-parent = <&sdcc2>;
216 interrupts = <0 1 2>;
217 #interrupt-cells = <1>;
218 interrupt-map-mask = <0xffffffff>;
219 interrupt-map = <0 &intc 0 125 0
220 1 &intc 0 220 0
221 2 &msmgpio 38 0x3>;
222 interrupt-names = "core_irq", "bam_irq", "status_irq";
223 cd-gpios = <&msmgpio 38 0x1>;
224
225 status = "disabled";
226};
227
228&sdhc_2 {
229 vdd-supply = <&pm8226_l18>;
230 qcom,vdd-voltage-level = <2950000 2950000>;
231 qcom,vdd-current-level = <9000 800000>;
232
233 vdd-io-supply = <&pm8226_l21>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700234 qcom,vdd-io-voltage-level = <1800000 2950000>;
235 qcom,vdd-io-current-level = <6 22000>;
236
237 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
238 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
239 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
240 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
241
242 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
243
244 #address-cells = <0>;
245 interrupt-parent = <&sdhc_2>;
246 interrupts = <0 1 2>;
247 #interrupt-cells = <1>;
248 interrupt-map-mask = <0xffffffff>;
249 interrupt-map = <0 &intc 0 125 0
250 1 &intc 0 221 0
251 2 &msmgpio 38 0x3>;
252 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
253 cd-gpios = <&msmgpio 38 0x1>;
254
255 status = "ok";
256};
257
258&spmi_bus {
259 qcom,pm8226@0 {
260 qcom,leds@a100 {
261 status = "okay";
262 qcom,led_mpp_2 {
263 label = "mpp";
264 linux,name = "button-backlight";
265 linux,default-trigger = "none";
266 qcom,default-state = "off";
267 qcom,max-current = <40>;
268 qcom,current-setting = <5>;
269 qcom,id = <6>;
270 qcom,mode = "manual";
271 qcom,source-sel = <1>;
272 qcom,mode-ctrl = <0x60>;
273 };
274 };
275
276 qcom,leds@a300 {
277 status = "okay";
278 qcom,led_mpp_4 {
279 label = "mpp";
280 linux,name = "green";
Shantanu Jain997a42a2013-08-22 16:55:59 +0530281 linux,default-trigger = "battery-full";
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700282 qcom,default-state = "off";
283 qcom,max-current = <40>;
284 qcom,current-setting = <5>;
285 qcom,id = <6>;
Amy Malocheba8aa742013-06-05 11:08:40 -0700286 qcom,mode = "pwm";
287 qcom,pwm-us = <1000>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700288 qcom,source-sel = <8>;
289 qcom,mode-ctrl = <0x60>;
290 qcom,pwm-channel = <0>;
291 qcom,start-idx = <1>;
Amy Maloched70ffba2013-06-25 14:04:29 -0700292 qcom,ramp-step-ms = <120>;
293 qcom,duty-pcts = [00 00 00 00 00
294 00 00 00 00 00
295 50 00 00 00 00
296 00 00 00 00 00
297 00];
Amy Malocheba8aa742013-06-05 11:08:40 -0700298 qcom,use-blink;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700299 };
300 };
301
302 qcom,leds@a500 {
303 status = "okay";
304 qcom,led_mpp_6 {
305 label = "mpp";
306 linux,name = "red";
Shantanu Jain997a42a2013-08-22 16:55:59 +0530307 linux,default-trigger = "battery-charging";
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700308 qcom,default-state = "off";
309 qcom,max-current = <40>;
310 qcom,current-setting = <5>;
311 qcom,id = <6>;
Amy Malocheba8aa742013-06-05 11:08:40 -0700312 qcom,mode = "pwm";
313 qcom,pwm-us = <1000>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700314 qcom,mode-ctrl = <0x60>;
315 qcom,source-sel = <10>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700316 qcom,pwm-channel = <5>;
317 qcom,start-idx = <1>;
Amy Maloched70ffba2013-06-25 14:04:29 -0700318 qcom,ramp-step-ms = <120>;
319 qcom,duty-pcts = [00 00 00 00 00
320 00 00 00 00 00
321 50 00 00 00 00
322 00 00 00 00 00
323 00];
Amy Malocheba8aa742013-06-05 11:08:40 -0700324 qcom,use-blink;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700325 };
326 };
327 };
328
329 qcom,pm8226@1 {
330 qcom,leds@d300 {
331 status = "okay";
332 };
333
334 qcom,leds@d800 {
335 status = "okay";
336 qcom,wled_0 {
337 label = "wled";
338 linux,name = "wled:backlight";
339 linux,default-trigger = "bkl-trigger";
340 qcom,cs-out-en;
341 qcom,op-fdbck = <1>;
342 qcom,default-state = "on";
Wu Fenglin2e57afc2013-06-05 18:07:13 +0800343 qcom,max-current = <20>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700344 qcom,ctrl-delay-us = <0>;
345 qcom,boost-curr-lim = <3>;
346 qcom,cp-sel = <0>;
Amy Maloche9eccb4c2013-07-12 14:31:56 -0700347 qcom,switch-freq = <11>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700348 qcom,ovp-val = <0>;
349 qcom,num-strings = <1>;
350 qcom,id = <0>;
351 };
352 };
Shantanu Jainab582d82013-08-22 17:00:27 +0530353
354 qcom,vibrator@c000 {
355 status = "okay";
356 qcom,vib-timeout-ms = <15000>;
357 qcom,vib-vtg-level-mV = <3100>;
358 };
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700359 };
360};
361
362&pm8226_gpios {
363 gpio@c000 { /* GPIO 1 */
364 /* XO_PMIC_CDC_MCLK enable for tapan codec */
365 qcom,mode = <1>; /* Digital output */
366 qcom,output-type = <0>; /* CMOS logic */
367 qcom,pull = <5>; /* QPNP_PIN_PULL_NO*/
368 qcom,vin-sel = <3>; /* QPNP_PIN_VIN3 */
369 qcom,out-strength = <3>;/* QPNP_PIN_OUT_STRENGTH_HIGH */
370 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
371 qcom,master-en = <1>; /* Enable GPIO */
372 };
373
374 gpio@c100 { /* GPIO 2 */
375 qcom,mode = <1>;
376 qcom,output-type = <0>;
377 qcom,pull = <5>;
378 qcom,vin-sel = <3>;
379 qcom,out-strength = <3>;
380 qcom,src-sel = <2>;
381 qcom,master-en = <1>;
382 };
383
384 gpio@c200 { /* GPIO 3 */
Madan Mohan Koyyalamudi2d7c6f52013-06-19 17:49:45 -0700385 qcom,mode = <0>; /* QPNP_PIN_MODE_DIG_IN */
386 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
387 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
388 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
389 qcom,master-en = <1>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700390 };
391
392 gpio@c300 { /* GPIO 4 */
393 };
394
395 gpio@c400 { /* GPIO 5 */
396 };
397
398 gpio@c500 { /* GPIO 6 */
399 };
400
401 gpio@c600 { /* GPIO 7 */
402 };
403
404 gpio@c700 { /* GPIO 8 */
405 };
406};
407
408&pm8226_mpps {
409 mpp@a000 { /* MPP 1 */
410 };
411
412 mpp@a100 { /* MPP 2 */
413 };
414
415 mpp@a200 { /* MPP 3 */
416 };
417
418 mpp@a300 { /* MPP 4 */
419 };
420
421 mpp@a400 { /* MPP 5 */
422 /* PA_THERM0 config */
423 qcom,mode = <4>; /* AIN input */
424 qcom,invert = <1>; /* Enable MPP */
425 qcom,ain-route = <0>; /* AMUX 5 */
426 qcom,master-en = <1>;
427 qcom,src-sel = <0>; /* Function constant */
428 };
429
430 mpp@a500 { /* MPP 6 */
431 };
432
433 mpp@a600 { /* MPP 7 */
434 };
435
436 mpp@a700 { /* MPP 8 */
437 /* PA_THERM1 config */
438 qcom,mode = <4>; /* AIN input */
439 qcom,invert = <1>; /* Enable MPP */
440 qcom,ain-route = <3>; /* AMUX 8 */
441 qcom,master-en = <1>;
442 qcom,src-sel = <0>; /* Function constant */
443 };
444};
445
446&pm8226_vadc {
447 chan@14 {
448 label = "pa_therm0";
449 reg = <0x14>;
450 qcom,decimation = <0>;
451 qcom,pre-div-channel-scaling = <0>;
452 qcom,calibration-type = "ratiometric";
453 qcom,scale-function = <2>;
454 qcom,hw-settle-time = <2>;
455 qcom,fast-avg-setup = <0>;
456 };
457
458 chan@17 {
459 label = "pa_therm1";
460 reg = <0x17>;
461 qcom,decimation = <0>;
462 qcom,pre-div-channel-scaling = <0>;
463 qcom,calibration-type = "ratiometric";
464 qcom,scale-function = <2>;
465 qcom,hw-settle-time = <2>;
466 qcom,fast-avg-setup = <0>;
467 };
468};
469
Xiaozhe Shi98f08f32013-06-19 12:02:13 -0700470/ {
471 mtp_batterydata: qcom,battery-data {
472 qcom,rpull-up-kohm = <100>;
473 qcom,vref-batt-therm = <1800000>;
474
475 /include/ "batterydata-palladium.dtsi"
476 /include/ "batterydata-mtp-3000mah.dtsi"
477 };
478};
479
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700480&pm8226_bms {
481 status = "ok";
Anirudh Ghayalc11af952013-08-14 20:44:51 +0530482 qcom,enable-fcc-learning;
483 qcom,min-fcc-learning-soc = <20>;
484 qcom,min-fcc-ocv-pc = <30>;
485 qcom,min-fcc-learning-samples = <5>;
486 qcom,fcc-resolution = <10>;
Xiaozhe Shi98f08f32013-06-19 12:02:13 -0700487 qcom,battery-data = <&mtp_batterydata>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700488};
489
490&pm8226_chg {
491 qcom,charging-disabled;
Xiaozhe Shi98f08f32013-06-19 12:02:13 -0700492 qcom,battery-data = <&mtp_batterydata>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700493};
494
495&slim_msm {
496 tapan_codec {
497 qcom,cdc-micbias1-ext-cap;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700498 };
499};
Manoj Raoee91bed2013-06-19 18:49:47 -0700500
501&mdss_mdp {
502 qcom,mdss-pref-prim-intf = "dsi";
Shalabh Jaincae621a2013-09-24 14:44:52 -0700503 batfet-supply = <&pm8226_chg_batif>;
Manoj Raoee91bed2013-06-19 18:49:47 -0700504};
505
506&mdss_dsi0 {
507 qcom,dsi-pref-prim-pan = <&dsi_nt35590_720_vid>;
508};
509
510&dsi_nt35590_720_vid {
511 qcom,cont-splash-enabled;
512};