blob: 3c703687ce897d59d0bdc7c49a1ef9fb7d3fd62b [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
13/include/ "dsi-panel-nt35590-720p-video.dtsi"
14/include/ "msm8226-camera-sensor-qrd.dtsi"
15
16&soc {
17 serial@f991f000 {
18 status = "ok";
19 };
20
21 qcom,mdss_dsi_nt35590_720p_video {
22 status = "ok";
23 };
24
25 i2c@f9927000 { /* BLSP1 QUP5 */
26 synaptics@20 {
27 compatible = "synaptics,rmi4";
28 reg = <0x20>;
29 interrupt-parent = <&msmgpio>;
30 interrupts = <17 0x2008>;
31 vdd-supply = <&pm8226_l19>;
32 vcc_i2c-supply = <&pm8226_lvs1>;
33 synaptics,reset-gpio = <&msmgpio 16 0x00>;
34 synaptics,irq-gpio = <&msmgpio 17 0x2008>;
35 synaptics,button-map = <139 102 158>;
36 synaptics,i2c-pull-up;
37 synaptics,reg-en;
38 };
39 };
40
41 gpio_keys {
42 compatible = "gpio-keys";
43 input-name = "gpio-keys";
44
45 camera_focus {
46 label = "camera_focus";
47 gpios = <&msmgpio 108 0x1>;
48 linux,input-type = <1>;
49 linux,code = <0x210>;
50 gpio-key,wakeup;
51 debounce-interval = <15>;
52 };
53
54 camera_snapshot {
55 label = "camera_snapshot";
56 gpios = <&msmgpio 107 0x1>;
57 linux,input-type = <1>;
58 linux,code = <0x2fe>;
59 gpio-key,wakeup;
60 debounce-interval = <15>;
61 };
62
63 vol_up {
64 label = "volume_up";
65 gpios = <&msmgpio 106 0x1>;
66 linux,input-type = <1>;
67 linux,code = <115>;
68 gpio-key,wakeup;
69 debounce-interval = <15>;
70 };
71 };
72
73 spi@f9923000 {
74 ethernet-switch@3 {
75 compatible = "micrel,ks8851";
76 reg = <3>;
77 interrupt-parent = <&msmgpio>;
78 interrupts = <0 115 0>;
79 spi-max-frequency = <4800000>;
80 rst-gpio = <&msmgpio 114 0>;
81 vdd-io-supply = <&pm8226_lvs1>;
82 vdd-phy-supply = <&pm8226_lvs1>;
83 };
84 };
85
86 sound {
87 qcom,audio-routing =
88 "RX_BIAS", "MCLK",
89 "LDO_H", "MCLK",
90 "SPK_OUT", "MCLK",
91 "SPK_OUT", "EXT_VDD_SPKR",
92 "AMIC1", "MIC BIAS1 External",
93 "MIC BIAS1 External", "Handset Mic",
94 "AMIC2", "MIC BIAS2 External",
95 "MIC BIAS2 External", "Headset Mic",
96 "AMIC3", "MIC BIAS1 External",
97 "MIC BIAS1 External", "ANCRight Headset Mic",
98 "AMIC4", "MIC BIAS2 External",
99 "MIC BIAS2 External", "ANCLeft Headset Mic";
100
101 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
102 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
103 };
104};
105
106&sdcc1 {
107 vdd-supply = <&pm8226_l17>;
108 qcom,vdd-always-on;
109 qcom,vdd-lpm-sup;
110 qcom,vdd-voltage-level = <2950000 2950000>;
111 qcom,vdd-current-level = <800 500000>;
112
113 vdd-io-supply = <&pm8226_l6>;
114 qcom,vdd-io-always-on;
115 qcom,vdd-io-voltage-level = <1800000 1800000>;
116 qcom,vdd-io-current-level = <250 154000>;
117
118 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
119 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
120 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
121 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
122
123 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
124 qcom,sup-voltages = <2950 2950>;
125
126 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
127 qcom,nonremovable;
128
129 status = "disabled";
130};
131
132&sdhc_1 {
133 vdd-supply = <&pm8226_l17>;
134 qcom,vdd-always-on;
135 qcom,vdd-lpm-sup;
136 qcom,vdd-voltage-level = <2950000 2950000>;
137 qcom,vdd-current-level = <800 500000>;
138
139 vdd-io-supply = <&pm8226_l6>;
140 qcom,vdd-io-always-on;
141 qcom,vdd-io-voltage-level = <1800000 1800000>;
142 qcom,vdd-io-current-level = <250 154000>;
143
144 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
145 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
146 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
147 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
148
149 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
150 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
151 qcom,nonremovable;
152
153 status = "ok";
154};
155
156&sdcc2 {
157 vdd-supply = <&pm8226_l18>;
158 qcom,vdd-voltage-level = <2950000 2950000>;
159 qcom,vdd-current-level = <9000 800000>;
160
161 vdd-io-supply = <&pm8226_l21>;
162 qcom,vdd-io-always-on;
163 qcom,vdd-io-lpm-sup;
164 qcom,vdd-io-voltage-level = <1800000 2950000>;
165 qcom,vdd-io-current-level = <6 22000>;
166
167 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
168 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
169 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
170 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
171
172 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
173 qcom,sup-voltages = <2950 2950>;
174
175 qcom,xpc;
176 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
177 qcom,current-limit = <600>;
178
179 #address-cells = <0>;
180 interrupt-parent = <&sdcc2>;
181 interrupts = <0 1 2>;
182 #interrupt-cells = <1>;
183 interrupt-map-mask = <0xffffffff>;
184 interrupt-map = <0 &intc 0 125 0
185 1 &intc 0 220 0
186 2 &msmgpio 38 0x3>;
187 interrupt-names = "core_irq", "bam_irq", "status_irq";
188 cd-gpios = <&msmgpio 38 0x1>;
189
190 status = "disabled";
191};
192
193&sdhc_2 {
194 vdd-supply = <&pm8226_l18>;
195 qcom,vdd-voltage-level = <2950000 2950000>;
196 qcom,vdd-current-level = <9000 800000>;
197
198 vdd-io-supply = <&pm8226_l21>;
199 qcom,vdd-io-always-on;
200 qcom,vdd-io-lpm-sup;
201 qcom,vdd-io-voltage-level = <1800000 2950000>;
202 qcom,vdd-io-current-level = <6 22000>;
203
204 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
205 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
206 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
207 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
208
209 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
210
211 #address-cells = <0>;
212 interrupt-parent = <&sdhc_2>;
213 interrupts = <0 1 2>;
214 #interrupt-cells = <1>;
215 interrupt-map-mask = <0xffffffff>;
216 interrupt-map = <0 &intc 0 125 0
217 1 &intc 0 221 0
218 2 &msmgpio 38 0x3>;
219 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
220 cd-gpios = <&msmgpio 38 0x1>;
221
222 status = "ok";
223};
224
225&spmi_bus {
226 qcom,pm8226@0 {
227 qcom,leds@a100 {
228 status = "okay";
229 qcom,led_mpp_2 {
230 label = "mpp";
231 linux,name = "button-backlight";
232 linux,default-trigger = "none";
233 qcom,default-state = "off";
234 qcom,max-current = <40>;
235 qcom,current-setting = <5>;
236 qcom,id = <6>;
237 qcom,mode = "manual";
238 qcom,source-sel = <1>;
239 qcom,mode-ctrl = <0x60>;
240 };
241 };
242
243 qcom,leds@a300 {
244 status = "okay";
245 qcom,led_mpp_4 {
246 label = "mpp";
247 linux,name = "green";
248 linux,default-trigger = "none";
249 qcom,default-state = "off";
250 qcom,max-current = <40>;
251 qcom,current-setting = <5>;
252 qcom,id = <6>;
253 qcom,mode = "lpg";
254 qcom,source-sel = <8>;
255 qcom,mode-ctrl = <0x60>;
256 qcom,pwm-channel = <0>;
257 qcom,start-idx = <1>;
258 qcom,duty-pcts = [00 00 00 00 64
259 64 00 00 00 00];
260 };
261 };
262
263 qcom,leds@a500 {
264 status = "okay";
265 qcom,led_mpp_6 {
266 label = "mpp";
267 linux,name = "red";
268 linux,default-trigger = "none";
269 qcom,default-state = "off";
270 qcom,max-current = <40>;
271 qcom,current-setting = <5>;
272 qcom,id = <6>;
273 qcom,mode-ctrl = <0x60>;
274 qcom,source-sel = <10>;
275 qcom,mode = "lpg";
276 qcom,pwm-channel = <5>;
277 qcom,start-idx = <1>;
278 qcom,duty-pcts = [00 00 00 00 64
279 64 00 00 00 00];
280 };
281 };
282 };
283
284 qcom,pm8226@1 {
285 qcom,leds@d300 {
286 status = "okay";
287 };
288
289 qcom,leds@d800 {
290 status = "okay";
291 qcom,wled_0 {
292 label = "wled";
293 linux,name = "wled:backlight";
294 linux,default-trigger = "bkl-trigger";
295 qcom,cs-out-en;
296 qcom,op-fdbck = <1>;
297 qcom,default-state = "on";
298 qcom,max-current = <25>;
299 qcom,ctrl-delay-us = <0>;
300 qcom,boost-curr-lim = <3>;
301 qcom,cp-sel = <0>;
302 qcom,switch-freq = <2>;
303 qcom,ovp-val = <0>;
304 qcom,num-strings = <1>;
305 qcom,id = <0>;
306 };
307 };
308
309 qcom,vibrator@c000 {
310 status = "okay";
311 qcom,vib-timeout-ms = <15000>;
312 qcom,vib-vtg-level-mV = <3100>;
313 };
314
315 };
316};
317
318&pm8226_bms {
319 status = "okay";
320 qcom,batt-type = <4>;
321 qcom,max-voltage-uv = <4350000>;
322};
323
324&pm8226_chg {
325 status = "okay";
326 qcom,chg-vddmax-mv = <4350>;
327 qcom,chg-vddsafe-mv = <4350>;
328};
329
330&pm8226_gpios {
331 gpio@c000 { /* GPIO 1 */
332 /* XO_PMIC_CDC_MCLK enable for tapan codec */
333 qcom,mode = <1>; /* Digital output */
334 qcom,output-type = <0>; /* CMOS logic */
335 qcom,pull = <5>; /* QPNP_PIN_PULL_NO*/
336 qcom,vin-sel = <3>; /* QPNP_PIN_VIN3 */
337 qcom,out-strength = <3>;/* QPNP_PIN_OUT_STRENGTH_HIGH */
338 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
339 qcom,master-en = <1>; /* Enable GPIO */
340 };
341
342 gpio@c100 { /* GPIO 2 */
343 qcom,mode = <1>;
344 qcom,output-type = <0>;
345 qcom,pull = <5>;
346 qcom,vin-sel = <3>;
347 qcom,out-strength = <3>;
348 qcom,src-sel = <2>;
349 qcom,master-en = <1>;
350 };
351
352 gpio@c200 { /* GPIO 3 */
353 };
354
355 gpio@c300 { /* GPIO 4 */
356 };
357
358 gpio@c400 { /* GPIO 5 */
359 };
360
361 gpio@c500 { /* GPIO 6 */
362 };
363
364 gpio@c600 { /* GPIO 7 */
365 };
366
367 gpio@c700 { /* GPIO 8 */
368 };
369};
370
371&pm8226_mpps {
372 mpp@a000 { /* MPP 1 */
373 };
374
375 mpp@a100 { /* MPP 2 */
376 };
377
378 mpp@a200 { /* MPP 3 */
379 };
380
381 mpp@a300 { /* MPP 4 */
382 };
383
384 mpp@a400 { /* MPP 5 */
385 };
386
387 mpp@a500 { /* MPP 6 */
388 };
389
390 mpp@a600 { /* MPP 7 */
391 };
392
393 mpp@a700 { /* MPP 8 */
394 };
395};
396
397&slim_msm {
398 tapan_codec {
399 qcom,cdc-micbias1-ext-cap;
400 };
401
402};