blob: 92d1a7727573e60341170d97d2e05a75489ae2ab [file] [log] [blame]
Maria Yudce95612013-06-19 12:25:47 +08001/* 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/* This is a QRD reference design common file. The common device
14 * tree approach would help OEM during development of their extended
15 * device tree. Each new QRD OEM target can select its own include
16 * files and provide board specific overrides in the top level DTS
17 * file.
18 *
19 * For example:
20 * msm8xxx-qrd.dtsi: QRD reference common node
21 * msm8xxx-qrd-skuxx.dts:
22 * /include/ "msm8610-qrd.dtsi"
23 * / {
24 * List skuxx specific node which is different with QRD
25 * reference design.
26 * };
27 */
28
Maria Yudce95612013-06-19 12:25:47 +080029&soc {
30 i2c@f9923000{
31 focaltech@38{
32 compatible = "focaltech,5x06";
33 reg = <0x38>;
34 interrupt-parent = <&msmgpio>;
35 interrupts = <1 0x2>;
36 vdd-supply = <&pm8110_l19>;
37 vcc_i2c-supply = <&pm8110_l14>;
Mohan Pallaka9eb064d2013-08-13 16:11:47 +053038 focaltech,name = "ft6x06";
Maria Yudce95612013-06-19 12:25:47 +080039 focaltech,family-id = <0x06>;
40 focaltech,reset-gpio = <&msmgpio 0 0x00>;
41 focaltech,irq-gpio = <&msmgpio 1 0x00>;
42 focaltech,display-coords = <0 0 480 800>;
43 focaltech,panel-coords = <0 0 480 800>;
44 focaltech,button-map= <139 102 158>;
45 focaltech,no-force-update;
46 focaltech,i2c-pull-up;
Mohan Pallaka9eb064d2013-08-13 16:11:47 +053047 focaltech,group-id = <1>;
48 focaltech,hard-reset-delay-ms = <20>;
49 focaltech,soft-reset-delay-ms = <150>;
50 focaltech,num-max-touches = <2>;
51 focaltech,fw-name = "ft_8610_qrd_fw.bin";
52 focaltech,fw-delay-aa-ms = <100>;
53 focaltech,fw-delay-55-ms = <30>;
54 focaltech,fw-upgrade-id1 = <0x79>;
55 focaltech,fw-upgrade-id2 = <0x08>;
56 focaltech,fw-delay-readid-ms = <10>;
57 focaltech,fw-delay-era-flsh-ms = <2000>;
Maria Yudce95612013-06-19 12:25:47 +080058 };
59 };
60
61 gen-vkeys {
62 compatible = "qcom,gen-vkeys";
63 label = "ft5x06_ts";
64 qcom,disp-maxx = <480>;
65 qcom,disp-maxy = <800>;
66 qcom,panel-maxx = <481>;
67 qcom,panel-maxy = <940>;
68 qcom,key-codes = <139 0 102 158 0 0 0>;
69 qcom,y-offset = <0>;
70 };
71 serial@f991e000 {
72 status = "ok";
73 };
74
75 i2c@f9925000 { /* BLSP-1 QUP-3 */
76 kionix@f {
77 compatible = "kionix,kxtj9";
78 reg = <0x0f>;
79 interrupt-parent = <&msmgpio>;
80 interrupts = <81 0x2>;
81 vdd-supply = <&pm8110_l19>;
82 vio-supply = <&pm8110_l14>;
83 kionix,min-interval = <5>;
84 kionix,init-interval = <200>;
85 kionix,axis-map-x = <1>;
86 kionix,axis-map-y = <0>;
87 kionix,axis-map-z = <2>;
88 kionix,g-range = <2>;
89 kionix,negate-x;
90 kionix,negate-y;
91 kionix,negate-z;
92 kionix,res-12bit;
93 };
94 };
95
96 flashlight {
97 compatible = "qcom,leds-gpio-flash";
98 status = "okay";
99 qcom,flash-en = <&msmgpio 18 0>;
100 qcom,flash-now = <&msmgpio 19 0>;
101 linux,name = "flashlight";
102 linux,default-trigger = "flashlight-trigger";
103 };
104
Pan Fang2c0cf002013-10-28 16:14:36 +0800105 qcom,wdt@f9017000 {
106 qcom,bark-time = <13000>;
107 };
108
Maria Yudce95612013-06-19 12:25:47 +0800109 gpio_keys {
110 compatible = "gpio-keys";
111 input-name = "gpio-keys";
112
113 camera_snapshot {
114 label = "camera_snapshot";
115 gpios = <&msmgpio 73 0x1>;
116 linux,input-type = <1>;
117 linux,code = <0x2fe>;
118 gpio-key,wakeup;
119 debounce-interval = <15>;
120 };
121
122 camera_focus {
123 label = "camera_focus";
124 gpios = <&msmgpio 74 0x1>;
125 linux,input-type = <1>;
126 linux,code = <0x210>;
127 gpio-key,wakeup;
128 debounce-interval = <15>;
129 };
130
131 vol_up {
132 label = "volume_up";
133 gpios = <&msmgpio 72 0x1>;
134 linux,input-type = <1>;
135 linux,code = <115>;
136 gpio-key,wakeup;
137 debounce-interval = <15>;
138 };
139 };
140
Maria Yudce95612013-06-19 12:25:47 +0800141 sound {
Bhalchandra Gajarede11d712013-09-19 15:13:48 -0700142 qcom,audio-routing =
143 "RX_BIAS", "MCLK",
144 "INT_LDO_H", "MCLK",
145 "MIC BIAS Internal1", "Handset Mic",
146 "MIC BIAS Internal2", "Headset Mic",
147 "AMIC1", "MIC BIAS Internal1",
148 "AMIC2", "MIC BIAS Internal2";
149 qcom,mbhc-bias-internal;
Maria Yudce95612013-06-19 12:25:47 +0800150 };
151};
152
Walter Yang83b63872013-07-08 11:48:40 +0800153&i2c_cdc {
154 msm8x10_wcd_codec@0d{
155 compatible = "qcom,msm8x10-wcd-i2c";
156 reg = <0x0d>;
Bhalchandra Gajare8d1f1b82013-07-11 16:37:19 -0700157
158 interrupt-parent = <&wcd9xxx_intc>;
159 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
160 17 18 19 20 21 22 23>;
161
Walter Yang83b63872013-07-08 11:48:40 +0800162 cdc-vdda-cp-supply = <&pm8110_s4>;
163 qcom,cdc-vdda-cp-voltage = <1800000 2150000>;
164 qcom,cdc-vdda-cp-current = <650000>;
165
166 cdc-vdda-h-supply = <&pm8110_l6>;
167 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
168 qcom,cdc-vdda-h-current = <25000>;
169
170 cdc-vdd-px-supply = <&pm8110_l6>;
171 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
172 qcom,cdc-vdd-px-current = <10000>;
173
174 cdc-vdd-1p2v-supply = <&pm8110_l4>;
175 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
176 qcom,cdc-vdd-1p2v-current = <5000>;
177
178 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
179 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
180 qcom,cdc-vdd-mic-bias-current = <25000>;
181
Bhalchandra Gajare8107e4a2013-10-09 18:44:43 -0700182 qcom,cdc-micbias-ldoh-v = <0x3>;
Walter Yang83b63872013-07-08 11:48:40 +0800183 qcom,cdc-micbias-cfilt-sel = <0x0>;
Bhalchandra Gajare8107e4a2013-10-09 18:44:43 -0700184 qcom,cdc-micbias-cfilt-mv = <2700>;
Walter Yang83b63872013-07-08 11:48:40 +0800185 qcom,cdc-mclk-clk-rate = <12288000>;
186
187 qcom,cdc-static-supplies = "cdc-vdda-h",
188 "cdc-vdd-px",
189 "cdc-vdd-1p2v";
190
191 qcom,cdc-on-demand-supplies = "cdc-vdda-cp",
192 "cdc-vdd-mic-bias";
193 };
194
195 msm8x10_wcd_codec@77{
196 compatible = "qcom,msm8x10-wcd-i2c";
197 reg = <0x77>;
198 };
199
200 msm8x10_wcd_codec@66{
201 compatible = "qcom,msm8x10-wcd-i2c";
202 reg = <0x66>;
203 };
204
205 msm8x10_wcd_codec@55{
206 compatible = "qcom,msm8x10-wcd-i2c";
207 reg = <0x55>;
208 };
209};
210
Maria Yudce95612013-06-19 12:25:47 +0800211&spmi_bus {
212 qcom,pm8110@0 {
213 qcom,leds@a100 {
214 status = "okay";
215 qcom,led_mpp_2 {
216 label = "mpp";
Sarada Prasanna Garnayak9aaee822013-10-09 11:00:13 +0530217 linux,name = "button-backlight";
218 linux,default-trigger = "hr-trigger";
219 qcom,current-setting = <20>;
Maria Yudce95612013-06-19 12:25:47 +0800220 qcom,default-state = "off";
221 qcom,max-current = <40>;
222 qcom,id = <6>;
223 qcom,source-sel = <1>;
224 qcom,mode-ctrl = <0x61>;
225 qcom,mode = "manual";
226 };
227 };
228
229 qcom,leds@a200 {
230 status = "okay";
231 qcom,led_mpp_3 {
232 label = "mpp";
233 linux,name = "wled-backlight";
234 linux,default-trigger = "bkl-trigger";
235 qcom,default-state = "on";
236 qcom,max-current = <40>;
237 qcom,id = <6>;
Chun Zhang578e4152013-07-08 17:19:15 -0700238 qcom,source-sel = <8>;
Maria Yudce95612013-06-19 12:25:47 +0800239 qcom,mode-ctrl = <0x10>;
Chun Zhang578e4152013-07-08 17:19:15 -0700240 qcom,pwm-channel = <0>;
Prasad Sodagudi1a6430c2013-08-15 21:09:52 +0530241 qcom,pwm-us = <27>;
Chun Zhang578e4152013-07-08 17:19:15 -0700242 qcom,vin-ctrl = <0x03>;
243 qcom,mode = "pwm";
Maria Yudce95612013-06-19 12:25:47 +0800244 };
245 };
246 };
247};
248
249&spmi_bus {
250 qcom,pm8110@1 {
251 qcom,vibrator@c000 {
252 status = "okay";
253 qcom,vib-timeout-ms = <15000>;
254 qcom,vib-vtg-level-mV = <3100>;
255 };
256 };
257};
258
259&sdhc_1 {
260 vdd-supply = <&pm8110_l17>;
Maria Yudce95612013-06-19 12:25:47 +0800261 qcom,vdd-voltage-level = <2900000 2900000>;
262 qcom,vdd-current-level = <200 400000>;
263
264 vdd-io-supply = <&pm8110_l6>;
265 qcom,vdd-io-always-on;
266 qcom,vdd-io-voltage-level = <1800000 1800000>;
267 qcom,vdd-io-current-level = <200 60000>;
268
269 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
270 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
271 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
272 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
273
274 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
275 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
276 qcom,nonremovable;
277
278 status = "ok";
279};
280
281&sdhc_2 {
282 vdd-supply = <&pm8110_l18>;
283 qcom,vdd-voltage-level = <2950000 2950000>;
284 qcom,vdd-current-level = <15000 400000>;
285
286 vdd-io-supply = <&pm8110_l21>;
Maria Yudce95612013-06-19 12:25:47 +0800287 qcom,vdd-io-voltage-level = <1800000 2950000>;
288 qcom,vdd-io-current-level = <200 50000>;
289
290 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
291 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
292 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
293 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
294
Pratibhasagar Vced3a462013-10-22 17:46:22 +0530295 qcom,clk-rates = <400000 25000000 50000000>;
Maria Yudce95612013-06-19 12:25:47 +0800296
297 #address-cells = <0>;
298 interrupt-parent = <&sdhc_2>;
299 interrupts = <0 1 2>;
300 #interrupt-cells = <1>;
301 interrupt-map-mask = <0xffffffff>;
302 interrupt-map = <0 &intc 0 125 0
303 1 &intc 0 221 0
304 2 &msmgpio 42 0x3>;
305 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
306 cd-gpios = <&msmgpio 42 0x1>;
307
308 status = "ok";
309};
310
311&pm8110_chg {
312 status = "ok";
313
314 qcom,chgr@1000 {
315 status = "ok";
Zhenhua Huangffd598c2013-11-05 12:44:43 +0800316 qcom,tchg-mins = <250>;
Maria Yudce95612013-06-19 12:25:47 +0800317 };
318
319 qcom,buck@1100 {
320 status = "ok";
321 };
322
323 qcom,bat-if@1200 {
324 status = "ok";
325 };
326
327 qcom,usb-chgpth@1300 {
328 status = "ok";
329 };
330
331 qcom,chg-misc@1600 {
332 status = "ok";
333 };
334};
335
336&pm8110_gpios {
337 gpio@c000 { /* GPIO 1 */
338 };
339
340 gpio@c100 { /* GPIO 2 */
341 };
342
343 gpio@c200 { /* GPIO 3 */
344 };
345
346 gpio@c300 { /* GPIO 4 */
347 };
348};
349
350&pm8110_mpps {
351 mpp@a000 { /* MPP 1 */
352 };
353
354 mpp@a100 { /* MPP 2 */
355 status = "disabled";
356 };
357
358 mpp@a200 { /* MPP 3 */
359 status = "disabled";
360 };
361
362 mpp@a300 { /* MPP 4 */
363 };
364};
Xu Kaib1fc1b32013-08-02 13:11:24 +0800365
366&pm8110_vadc {
367 chan@30 {
368 label = "batt_therm";
369 qcom,scale-function = <6>;
370 };
371};
wujin3c6eaab2013-08-23 16:26:30 +0800372
373&android_usb {
374 qcom,android-usb-cdrom;
Xiaogang Cui79844632013-09-19 21:27:10 +0800375 qcom,android-usb-internal-ums;
wujin3c6eaab2013-08-23 16:26:30 +0800376};
Shalabh Jaincae621a2013-09-24 14:44:52 -0700377
378&mdss_mdp {
379 batfet-supply = <&pm8110_chg_batif>;
380};