blob: 01677ff417a18db208cd230416ad30027ea84fb4 [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-cdp.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 Internal1",
93 "MIC BIAS1 Internal1", "Handset Mic",
94 "AMIC2", "MIC BIAS2 External",
95 "MIC BIAS2 External", "Headset Mic",
96 "AMIC4", "MIC BIAS2 External",
97 "MIC BIAS2 External", "ANCRight Headset Mic",
98 "AMIC5", "MIC BIAS2 External",
99 "MIC BIAS2 External", "ANCLeft Headset Mic",
100 "DMIC1", "MIC BIAS1 External",
101 "MIC BIAS1 External", "Digital Mic1",
102 "DMIC2", "MIC BIAS1 External",
103 "MIC BIAS1 External", "Digital Mic2",
104 "DMIC3", "MIC BIAS3 External",
105 "MIC BIAS3 External", "Digital Mic3",
106 "DMIC4", "MIC BIAS3 External",
107 "MIC BIAS3 External", "Digital Mic4";
108
109 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
110 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
111 qcom,headset-jack-type-NO;
112 };
113};
114
115&sdcc1 {
116 vdd-supply = <&pm8226_l17>;
117 qcom,vdd-always-on;
118 qcom,vdd-lpm-sup;
119 qcom,vdd-voltage-level = <2950000 2950000>;
120 qcom,vdd-current-level = <800 500000>;
121
122 vdd-io-supply = <&pm8226_l6>;
123 qcom,vdd-io-always-on;
124 qcom,vdd-io-voltage-level = <1800000 1800000>;
125 qcom,vdd-io-current-level = <250 154000>;
126
127 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
128 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
129 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
130 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
131
132 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
133 qcom,sup-voltages = <2950 2950>;
134
135 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
136 qcom,nonremovable;
137
138 status = "disabled";
139};
140
141&sdhc_1 {
142 vdd-supply = <&pm8226_l17>;
143 qcom,vdd-always-on;
144 qcom,vdd-lpm-sup;
145 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,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
160 qcom,nonremovable;
161
162 status = "ok";
163};
164
165&sdcc2 {
166 vdd-supply = <&pm8226_l18>;
167 qcom,vdd-voltage-level = <2950000 2950000>;
168 qcom,vdd-current-level = <9000 800000>;
169
170 vdd-io-supply = <&pm8226_l21>;
171 qcom,vdd-io-always-on;
172 qcom,vdd-io-lpm-sup;
173 qcom,vdd-io-voltage-level = <1800000 2950000>;
174 qcom,vdd-io-current-level = <6 22000>;
175
176 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
177 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
178 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
179 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
180
181 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
182 qcom,sup-voltages = <2950 2950>;
183
184 qcom,xpc;
185 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
186 qcom,current-limit = <600>;
187
188 #address-cells = <0>;
189 interrupt-parent = <&sdcc2>;
190 interrupts = <0 1 2>;
191 #interrupt-cells = <1>;
192 interrupt-map-mask = <0xffffffff>;
193 interrupt-map = <0 &intc 0 125 0
194 1 &intc 0 220 0
195 2 &msmgpio 38 0x3>;
196 interrupt-names = "core_irq", "bam_irq", "status_irq";
197 cd-gpios = <&msmgpio 38 0x1>;
198
199 status = "disabled";
200};
201
202&sdhc_2 {
203 vdd-supply = <&pm8226_l18>;
204 qcom,vdd-voltage-level = <2950000 2950000>;
205 qcom,vdd-current-level = <9000 800000>;
206
207 vdd-io-supply = <&pm8226_l21>;
208 qcom,vdd-io-always-on;
209 qcom,vdd-io-lpm-sup;
210 qcom,vdd-io-voltage-level = <1800000 2950000>;
211 qcom,vdd-io-current-level = <6 22000>;
212
213 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
214 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
215 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
216 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
217
218 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
219
220 #address-cells = <0>;
221 interrupt-parent = <&sdhc_2>;
222 interrupts = <0 1 2>;
223 #interrupt-cells = <1>;
224 interrupt-map-mask = <0xffffffff>;
225 interrupt-map = <0 &intc 0 125 0
226 1 &intc 0 221 0
227 2 &msmgpio 38 0x3>;
228 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
229 cd-gpios = <&msmgpio 38 0x1>;
230
231 status = "ok";
232};
233
234&spmi_bus {
235 qcom,pm8226@0 {
236 qcom,leds@a100 {
237 status = "okay";
238 qcom,led_mpp_2 {
239 label = "mpp";
240 linux,name = "button-backlight";
241 linux,default-trigger = "none";
242 qcom,default-state = "off";
243 qcom,max-current = <40>;
244 qcom,current-setting = <5>;
245 qcom,id = <6>;
246 qcom,mode = "manual";
247 qcom,source-sel = <1>;
248 qcom,mode-ctrl = <0x60>;
249 };
250 };
251
252 qcom,leds@a300 {
253 status = "okay";
254 qcom,led_mpp_4 {
255 label = "mpp";
256 linux,name = "green";
257 linux,default-trigger = "none";
258 qcom,default-state = "off";
259 qcom,max-current = <40>;
260 qcom,current-setting = <5>;
261 qcom,id = <6>;
262 qcom,mode = "lpg";
263 qcom,source-sel = <8>;
264 qcom,mode-ctrl = <0x60>;
265 qcom,pwm-channel = <0>;
266 qcom,start-idx = <1>;
267 qcom,duty-pcts = [00 00 00 00 64
268 64 00 00 00 00];
269 };
270 };
271
272 qcom,leds@a500 {
273 status = "okay";
274 qcom,led_mpp_6 {
275 label = "mpp";
276 linux,name = "red";
277 linux,default-trigger = "none";
278 qcom,default-state = "off";
279 qcom,max-current = <40>;
280 qcom,current-setting = <5>;
281 qcom,id = <6>;
282 qcom,mode-ctrl = <0x60>;
283 qcom,source-sel = <10>;
284 qcom,mode = "lpg";
285 qcom,pwm-channel = <5>;
286 qcom,start-idx = <1>;
287 qcom,duty-pcts = [00 00 00 00 64
288 64 00 00 00 00];
289 };
290 };
291 };
292
293 qcom,pm8226@1 {
294 qcom,leds@d800 {
295 status = "okay";
296 qcom,wled_0 {
297 label = "wled";
298 linux,name = "wled:backlight";
299 linux,default-trigger = "bkl-trigger";
300 qcom,cs-out-en;
301 qcom,op-fdbck = <1>;
302 qcom,default-state = "on";
303 qcom,max-current = <25>;
304 qcom,ctrl-delay-us = <0>;
305 qcom,boost-curr-lim = <3>;
306 qcom,cp-sel = <0>;
307 qcom,switch-freq = <2>;
308 qcom,ovp-val = <0>;
309 qcom,num-strings = <1>;
310 qcom,id = <0>;
311 };
312 };
313 };
314};
315
316&pm8226_gpios {
317 gpio@c000 { /* GPIO 1 */
318 /* XO_PMIC_CDC_MCLK enable for tapan codec */
319 qcom,mode = <1>; /* Digital output */
320 qcom,output-type = <0>; /* CMOS logic */
321 qcom,pull = <5>; /* QPNP_PIN_PULL_NO*/
322 qcom,vin-sel = <3>; /* QPNP_PIN_VIN3 */
323 qcom,out-strength = <3>;/* QPNP_PIN_OUT_STRENGTH_HIGH */
324 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
325 qcom,master-en = <1>; /* Enable GPIO */
326 };
327
328 gpio@c100 { /* GPIO 2 */
329 qcom,mode = <1>;
330 qcom,output-type = <0>;
331 qcom,pull = <5>;
332 qcom,vin-sel = <3>;
333 qcom,out-strength = <3>;
334 qcom,src-sel = <2>;
335 qcom,master-en = <1>;
336 };
337
338 gpio@c200 { /* GPIO 3 */
339 };
340
341 gpio@c300 { /* GPIO 4 */
342 };
343
344 gpio@c400 { /* GPIO 5 */
345 };
346
347 gpio@c500 { /* GPIO 6 */
348 };
349
350 gpio@c600 { /* GPIO 7 */
351 };
352
353 gpio@c700 { /* GPIO 8 */
354 };
355};
356
357&pm8226_mpps {
358 mpp@a000 { /* MPP 1 */
359 };
360
361 mpp@a100 { /* MPP 2 */
362 };
363
364 mpp@a200 { /* MPP 3 */
365 };
366
367 mpp@a300 { /* MPP 4 */
368 };
369
370 mpp@a400 { /* MPP 5 */
371 };
372
373 mpp@a500 { /* MPP 6 */
374 };
375
376 mpp@a600 { /* MPP 7 */
377 };
378
379 mpp@a700 { /* MPP 8 */
380 };
381};
382
383&pm8226_chg {
384 qcom,charging-disabled;
385 qcom,use-default-batt-values;
386};