blob: f4f744200e198ee3d2541c24400e848d4affd8fd [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>;
31 synaptics,i2c-pull-up;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070032 };
33 };
34
Madan Mohan Koyyalamudi2d7c6f52013-06-19 17:49:45 -070035 i2c@f9925000 { /* BLSP1 QUP3 */
36 nfc-nci@0e {
37 compatible = "qcom,nfc-nci";
38 reg = <0x0e>;
39 qcom,irq-gpio = <&msmgpio 21 0x00>;
40 qcom,dis-gpio = <&msmgpio 20 0x00>;
41 interrupt-parent = <&msmgpio>;
42 interrupts = <21 0>;
43 qcom,clk-gpio = <&pm8226_gpios 3 0>;
44 };
45 };
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070046 gpio_keys {
47 compatible = "gpio-keys";
48 input-name = "gpio-keys";
49
50 camera_focus {
51 label = "camera_focus";
52 gpios = <&msmgpio 108 0x1>;
53 linux,input-type = <1>;
54 linux,code = <0x210>;
55 gpio-key,wakeup;
56 debounce-interval = <15>;
57 };
58
59 camera_snapshot {
60 label = "camera_snapshot";
61 gpios = <&msmgpio 107 0x1>;
62 linux,input-type = <1>;
63 linux,code = <0x2fe>;
64 gpio-key,wakeup;
65 debounce-interval = <15>;
66 };
67
68 vol_up {
69 label = "volume_up";
70 gpios = <&msmgpio 106 0x1>;
71 linux,input-type = <1>;
72 linux,code = <115>;
73 gpio-key,wakeup;
74 debounce-interval = <15>;
75 };
76 };
77
78 spi@f9923000 {
79 ethernet-switch@3 {
80 compatible = "micrel,ks8851";
81 reg = <3>;
82 interrupt-parent = <&msmgpio>;
fangpanf6f96072013-07-17 16:10:34 -070083 interrupts = <115 0x8>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -070084 spi-max-frequency = <4800000>;
85 rst-gpio = <&msmgpio 114 0>;
86 vdd-io-supply = <&pm8226_lvs1>;
87 vdd-phy-supply = <&pm8226_lvs1>;
88 };
89 };
90
91 sound {
92 qcom,audio-routing =
93 "RX_BIAS", "MCLK",
94 "LDO_H", "MCLK",
95 "SPK_OUT", "MCLK",
96 "SPK_OUT", "EXT_VDD_SPKR",
97 "AMIC1", "MIC BIAS1 External",
98 "MIC BIAS1 External", "Handset Mic",
99 "AMIC2", "MIC BIAS2 External",
100 "MIC BIAS2 External", "Headset Mic",
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700101 "AMIC4", "MIC BIAS2 External",
Phani Kumar Uppalapatic2f9c222013-05-09 19:17:58 -0700102 "MIC BIAS2 External", "ANCRight Headset Mic",
103 "AMIC5", "MIC BIAS2 External",
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700104 "MIC BIAS2 External", "ANCLeft Headset Mic";
105
106 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
107 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
108 };
Phani Kumar Uppalapatic2f9c222013-05-09 19:17:58 -0700109
110 sound-9302 {
111 qcom,audio-routing =
112 "RX_BIAS", "MCLK",
113 "LDO_H", "MCLK",
114 "SPK_OUT", "MCLK",
115 "SPK_OUT", "EXT_VDD_SPKR",
116 "AMIC1", "MIC BIAS1 Internal1",
117 "MIC BIAS1 Internal1", "Handset Mic",
118 "AMIC2", "MIC BIAS2 External",
119 "MIC BIAS2 External", "Headset Mic",
120 "AMIC3", "MIC BIAS1 External",
121 "MIC BIAS1 External", "Handset Mic";
122
123 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
124 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
125 };
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700126};
127
Manu Gautam41334e92013-06-04 17:49:25 +0530128&usb_otg {
129 #address-cells = <0>;
130 interrupt-parent = <&usb_otg>;
131 interrupts = <0 1 2>;
132 #interrupt-cells = <1>;
133 interrupt-map-mask = <0xffffffff>;
134 interrupt-map = <0 &intc 0 134 0
135 1 &intc 0 140 0
136 2 &spmi_bus 0x0 0x0 0x9 0x0>;
137 interrupt-names = "core_irq", "async_irq", "pmic_id_irq";
138
139 qcom,hsusb-otg-mode = <3>;
David Keitel3bdfa5d2013-07-10 17:36:07 -0700140 vbus_otg-supply = <&pm8226_chg_otg>;
Manu Gautam41334e92013-06-04 17:49:25 +0530141};
142
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700143&sdcc1 {
144 vdd-supply = <&pm8226_l17>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700145 qcom,vdd-voltage-level = <2950000 2950000>;
146 qcom,vdd-current-level = <800 500000>;
147
148 vdd-io-supply = <&pm8226_l6>;
149 qcom,vdd-io-always-on;
150 qcom,vdd-io-voltage-level = <1800000 1800000>;
151 qcom,vdd-io-current-level = <250 154000>;
152
153 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
154 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
155 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
156 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
157
158 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
159 qcom,sup-voltages = <2950 2950>;
160
161 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
162 qcom,nonremovable;
163
164 status = "disabled";
165};
166
167&sdhc_1 {
168 vdd-supply = <&pm8226_l17>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700169 qcom,vdd-voltage-level = <2950000 2950000>;
170 qcom,vdd-current-level = <800 500000>;
171
172 vdd-io-supply = <&pm8226_l6>;
173 qcom,vdd-io-always-on;
174 qcom,vdd-io-voltage-level = <1800000 1800000>;
175 qcom,vdd-io-current-level = <250 154000>;
176
177 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
178 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
179 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
180 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
181
182 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
183 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
184 qcom,nonremovable;
185
186 status = "ok";
187};
188
189&sdcc2 {
190 vdd-supply = <&pm8226_l18>;
191 qcom,vdd-voltage-level = <2950000 2950000>;
192 qcom,vdd-current-level = <9000 800000>;
193
194 vdd-io-supply = <&pm8226_l21>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700195 qcom,vdd-io-voltage-level = <1800000 2950000>;
196 qcom,vdd-io-current-level = <6 22000>;
197
198 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
199 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
200 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
201 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
202
203 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
204 qcom,sup-voltages = <2950 2950>;
205
206 qcom,xpc;
207 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
208 qcom,current-limit = <600>; #address-cells = <0>; interrupt-parent = <&sdcc2>;
209 interrupts = <0 1 2>;
210 #interrupt-cells = <1>;
211 interrupt-map-mask = <0xffffffff>;
212 interrupt-map = <0 &intc 0 125 0
213 1 &intc 0 220 0
214 2 &msmgpio 38 0x3>;
215 interrupt-names = "core_irq", "bam_irq", "status_irq";
216 cd-gpios = <&msmgpio 38 0x1>;
217
218 status = "disabled";
219};
220
221&sdhc_2 {
222 vdd-supply = <&pm8226_l18>;
223 qcom,vdd-voltage-level = <2950000 2950000>;
224 qcom,vdd-current-level = <9000 800000>;
225
226 vdd-io-supply = <&pm8226_l21>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700227 qcom,vdd-io-voltage-level = <1800000 2950000>;
228 qcom,vdd-io-current-level = <6 22000>;
229
230 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
231 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
232 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
233 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
234
235 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
236
237 #address-cells = <0>;
238 interrupt-parent = <&sdhc_2>;
239 interrupts = <0 1 2>;
240 #interrupt-cells = <1>;
241 interrupt-map-mask = <0xffffffff>;
242 interrupt-map = <0 &intc 0 125 0
243 1 &intc 0 221 0
244 2 &msmgpio 38 0x3>;
245 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
246 cd-gpios = <&msmgpio 38 0x1>;
247
248 status = "ok";
249};
250
251&spmi_bus {
252 qcom,pm8226@0 {
253 qcom,leds@a100 {
254 status = "okay";
255 qcom,led_mpp_2 {
256 label = "mpp";
257 linux,name = "button-backlight";
258 linux,default-trigger = "none";
259 qcom,default-state = "off";
260 qcom,max-current = <40>;
261 qcom,current-setting = <5>;
262 qcom,id = <6>;
263 qcom,mode = "manual";
264 qcom,source-sel = <1>;
265 qcom,mode-ctrl = <0x60>;
266 };
267 };
268
269 qcom,leds@a300 {
270 status = "okay";
271 qcom,led_mpp_4 {
272 label = "mpp";
273 linux,name = "green";
Shantanu Jain997a42a2013-08-22 16:55:59 +0530274 linux,default-trigger = "battery-full";
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700275 qcom,default-state = "off";
276 qcom,max-current = <40>;
277 qcom,current-setting = <5>;
278 qcom,id = <6>;
Amy Malocheba8aa742013-06-05 11:08:40 -0700279 qcom,mode = "pwm";
280 qcom,pwm-us = <1000>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700281 qcom,source-sel = <8>;
282 qcom,mode-ctrl = <0x60>;
283 qcom,pwm-channel = <0>;
284 qcom,start-idx = <1>;
Amy Maloched70ffba2013-06-25 14:04:29 -0700285 qcom,ramp-step-ms = <120>;
286 qcom,duty-pcts = [00 00 00 00 00
287 00 00 00 00 00
288 50 00 00 00 00
289 00 00 00 00 00
290 00];
Amy Malocheba8aa742013-06-05 11:08:40 -0700291 qcom,use-blink;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700292 };
293 };
294
295 qcom,leds@a500 {
296 status = "okay";
297 qcom,led_mpp_6 {
298 label = "mpp";
299 linux,name = "red";
Shantanu Jain997a42a2013-08-22 16:55:59 +0530300 linux,default-trigger = "battery-charging";
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700301 qcom,default-state = "off";
302 qcom,max-current = <40>;
303 qcom,current-setting = <5>;
304 qcom,id = <6>;
Amy Malocheba8aa742013-06-05 11:08:40 -0700305 qcom,mode = "pwm";
306 qcom,pwm-us = <1000>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700307 qcom,mode-ctrl = <0x60>;
308 qcom,source-sel = <10>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700309 qcom,pwm-channel = <5>;
310 qcom,start-idx = <1>;
Amy Maloched70ffba2013-06-25 14:04:29 -0700311 qcom,ramp-step-ms = <120>;
312 qcom,duty-pcts = [00 00 00 00 00
313 00 00 00 00 00
314 50 00 00 00 00
315 00 00 00 00 00
316 00];
Amy Malocheba8aa742013-06-05 11:08:40 -0700317 qcom,use-blink;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700318 };
319 };
320 };
321
322 qcom,pm8226@1 {
323 qcom,leds@d300 {
324 status = "okay";
325 };
326
327 qcom,leds@d800 {
328 status = "okay";
329 qcom,wled_0 {
330 label = "wled";
331 linux,name = "wled:backlight";
332 linux,default-trigger = "bkl-trigger";
333 qcom,cs-out-en;
334 qcom,op-fdbck = <1>;
335 qcom,default-state = "on";
Wu Fenglin2e57afc2013-06-05 18:07:13 +0800336 qcom,max-current = <20>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700337 qcom,ctrl-delay-us = <0>;
338 qcom,boost-curr-lim = <3>;
339 qcom,cp-sel = <0>;
Amy Maloche9eccb4c2013-07-12 14:31:56 -0700340 qcom,switch-freq = <11>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700341 qcom,ovp-val = <0>;
342 qcom,num-strings = <1>;
343 qcom,id = <0>;
344 };
345 };
Shantanu Jainab582d82013-08-22 17:00:27 +0530346
347 qcom,vibrator@c000 {
348 status = "okay";
349 qcom,vib-timeout-ms = <15000>;
350 qcom,vib-vtg-level-mV = <3100>;
351 };
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700352 };
353};
354
355&pm8226_gpios {
356 gpio@c000 { /* GPIO 1 */
357 /* XO_PMIC_CDC_MCLK enable for tapan codec */
358 qcom,mode = <1>; /* Digital output */
359 qcom,output-type = <0>; /* CMOS logic */
360 qcom,pull = <5>; /* QPNP_PIN_PULL_NO*/
361 qcom,vin-sel = <3>; /* QPNP_PIN_VIN3 */
362 qcom,out-strength = <3>;/* QPNP_PIN_OUT_STRENGTH_HIGH */
363 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
364 qcom,master-en = <1>; /* Enable GPIO */
365 };
366
367 gpio@c100 { /* GPIO 2 */
368 qcom,mode = <1>;
369 qcom,output-type = <0>;
370 qcom,pull = <5>;
371 qcom,vin-sel = <3>;
372 qcom,out-strength = <3>;
373 qcom,src-sel = <2>;
374 qcom,master-en = <1>;
375 };
376
377 gpio@c200 { /* GPIO 3 */
Madan Mohan Koyyalamudi2d7c6f52013-06-19 17:49:45 -0700378 qcom,mode = <0>; /* QPNP_PIN_MODE_DIG_IN */
379 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
380 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
381 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
382 qcom,master-en = <1>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700383 };
384
385 gpio@c300 { /* GPIO 4 */
386 };
387
388 gpio@c400 { /* GPIO 5 */
389 };
390
391 gpio@c500 { /* GPIO 6 */
392 };
393
394 gpio@c600 { /* GPIO 7 */
395 };
396
397 gpio@c700 { /* GPIO 8 */
398 };
399};
400
401&pm8226_mpps {
402 mpp@a000 { /* MPP 1 */
403 };
404
405 mpp@a100 { /* MPP 2 */
406 };
407
408 mpp@a200 { /* MPP 3 */
409 };
410
411 mpp@a300 { /* MPP 4 */
412 };
413
414 mpp@a400 { /* MPP 5 */
415 /* PA_THERM0 config */
416 qcom,mode = <4>; /* AIN input */
417 qcom,invert = <1>; /* Enable MPP */
418 qcom,ain-route = <0>; /* AMUX 5 */
419 qcom,master-en = <1>;
420 qcom,src-sel = <0>; /* Function constant */
421 };
422
423 mpp@a500 { /* MPP 6 */
424 };
425
426 mpp@a600 { /* MPP 7 */
427 };
428
429 mpp@a700 { /* MPP 8 */
430 /* PA_THERM1 config */
431 qcom,mode = <4>; /* AIN input */
432 qcom,invert = <1>; /* Enable MPP */
433 qcom,ain-route = <3>; /* AMUX 8 */
434 qcom,master-en = <1>;
435 qcom,src-sel = <0>; /* Function constant */
436 };
437};
438
439&pm8226_vadc {
440 chan@14 {
441 label = "pa_therm0";
442 reg = <0x14>;
443 qcom,decimation = <0>;
444 qcom,pre-div-channel-scaling = <0>;
445 qcom,calibration-type = "ratiometric";
446 qcom,scale-function = <2>;
447 qcom,hw-settle-time = <2>;
448 qcom,fast-avg-setup = <0>;
449 };
450
451 chan@17 {
452 label = "pa_therm1";
453 reg = <0x17>;
454 qcom,decimation = <0>;
455 qcom,pre-div-channel-scaling = <0>;
456 qcom,calibration-type = "ratiometric";
457 qcom,scale-function = <2>;
458 qcom,hw-settle-time = <2>;
459 qcom,fast-avg-setup = <0>;
460 };
461};
462
463&pm8226_bms {
464 status = "ok";
Anirudh Ghayalc11af952013-08-14 20:44:51 +0530465 qcom,enable-fcc-learning;
466 qcom,min-fcc-learning-soc = <20>;
467 qcom,min-fcc-ocv-pc = <30>;
468 qcom,min-fcc-learning-samples = <5>;
469 qcom,fcc-resolution = <10>;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700470};
471
472&pm8226_chg {
473 qcom,charging-disabled;
474};
475
476&slim_msm {
477 tapan_codec {
478 qcom,cdc-micbias1-ext-cap;
Syed Rameez Mustafa8f192fb2013-05-24 12:02:43 -0700479 };
480};
Manoj Raoee91bed2013-06-19 18:49:47 -0700481
482&mdss_mdp {
483 qcom,mdss-pref-prim-intf = "dsi";
484};
485
486&mdss_dsi0 {
487 qcom,dsi-pref-prim-pan = <&dsi_nt35590_720_vid>;
488};
489
490&dsi_nt35590_720_vid {
491 qcom,cont-splash-enabled;
492};