blob: 85bd746520111b436bc904cd30dfdf307b859959 [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
105 gpio_keys {
106 compatible = "gpio-keys";
107 input-name = "gpio-keys";
108
109 camera_snapshot {
110 label = "camera_snapshot";
111 gpios = <&msmgpio 73 0x1>;
112 linux,input-type = <1>;
113 linux,code = <0x2fe>;
114 gpio-key,wakeup;
115 debounce-interval = <15>;
116 };
117
118 camera_focus {
119 label = "camera_focus";
120 gpios = <&msmgpio 74 0x1>;
121 linux,input-type = <1>;
122 linux,code = <0x210>;
123 gpio-key,wakeup;
124 debounce-interval = <15>;
125 };
126
127 vol_up {
128 label = "volume_up";
129 gpios = <&msmgpio 72 0x1>;
130 linux,input-type = <1>;
131 linux,code = <115>;
132 gpio-key,wakeup;
133 debounce-interval = <15>;
134 };
135 };
136
Maria Yudce95612013-06-19 12:25:47 +0800137 sound {
Bhalchandra Gajarede11d712013-09-19 15:13:48 -0700138 qcom,audio-routing =
139 "RX_BIAS", "MCLK",
140 "INT_LDO_H", "MCLK",
141 "MIC BIAS Internal1", "Handset Mic",
142 "MIC BIAS Internal2", "Headset Mic",
143 "AMIC1", "MIC BIAS Internal1",
144 "AMIC2", "MIC BIAS Internal2";
145 qcom,mbhc-bias-internal;
Maria Yudce95612013-06-19 12:25:47 +0800146 };
147};
148
Walter Yang83b63872013-07-08 11:48:40 +0800149&i2c_cdc {
150 msm8x10_wcd_codec@0d{
151 compatible = "qcom,msm8x10-wcd-i2c";
152 reg = <0x0d>;
Bhalchandra Gajare8d1f1b82013-07-11 16:37:19 -0700153
154 interrupt-parent = <&wcd9xxx_intc>;
155 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
156 17 18 19 20 21 22 23>;
157
Walter Yang83b63872013-07-08 11:48:40 +0800158 cdc-vdda-cp-supply = <&pm8110_s4>;
159 qcom,cdc-vdda-cp-voltage = <1800000 2150000>;
160 qcom,cdc-vdda-cp-current = <650000>;
161
162 cdc-vdda-h-supply = <&pm8110_l6>;
163 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
164 qcom,cdc-vdda-h-current = <25000>;
165
166 cdc-vdd-px-supply = <&pm8110_l6>;
167 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
168 qcom,cdc-vdd-px-current = <10000>;
169
170 cdc-vdd-1p2v-supply = <&pm8110_l4>;
171 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
172 qcom,cdc-vdd-1p2v-current = <5000>;
173
174 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
175 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
176 qcom,cdc-vdd-mic-bias-current = <25000>;
177
Bhalchandra Gajare8107e4a2013-10-09 18:44:43 -0700178 qcom,cdc-micbias-ldoh-v = <0x3>;
Walter Yang83b63872013-07-08 11:48:40 +0800179 qcom,cdc-micbias-cfilt-sel = <0x0>;
Bhalchandra Gajare8107e4a2013-10-09 18:44:43 -0700180 qcom,cdc-micbias-cfilt-mv = <2700>;
Walter Yang83b63872013-07-08 11:48:40 +0800181 qcom,cdc-mclk-clk-rate = <12288000>;
182
183 qcom,cdc-static-supplies = "cdc-vdda-h",
184 "cdc-vdd-px",
185 "cdc-vdd-1p2v";
186
187 qcom,cdc-on-demand-supplies = "cdc-vdda-cp",
188 "cdc-vdd-mic-bias";
189 };
190
191 msm8x10_wcd_codec@77{
192 compatible = "qcom,msm8x10-wcd-i2c";
193 reg = <0x77>;
194 };
195
196 msm8x10_wcd_codec@66{
197 compatible = "qcom,msm8x10-wcd-i2c";
198 reg = <0x66>;
199 };
200
201 msm8x10_wcd_codec@55{
202 compatible = "qcom,msm8x10-wcd-i2c";
203 reg = <0x55>;
204 };
205};
206
Maria Yudce95612013-06-19 12:25:47 +0800207&spmi_bus {
208 qcom,pm8110@0 {
209 qcom,leds@a100 {
210 status = "okay";
211 qcom,led_mpp_2 {
212 label = "mpp";
Sarada Prasanna Garnayak9aaee822013-10-09 11:00:13 +0530213 linux,name = "button-backlight";
214 linux,default-trigger = "hr-trigger";
215 qcom,current-setting = <20>;
Maria Yudce95612013-06-19 12:25:47 +0800216 qcom,default-state = "off";
217 qcom,max-current = <40>;
218 qcom,id = <6>;
219 qcom,source-sel = <1>;
220 qcom,mode-ctrl = <0x61>;
221 qcom,mode = "manual";
222 };
223 };
224
225 qcom,leds@a200 {
226 status = "okay";
227 qcom,led_mpp_3 {
228 label = "mpp";
229 linux,name = "wled-backlight";
230 linux,default-trigger = "bkl-trigger";
231 qcom,default-state = "on";
232 qcom,max-current = <40>;
233 qcom,id = <6>;
Chun Zhang578e4152013-07-08 17:19:15 -0700234 qcom,source-sel = <8>;
Maria Yudce95612013-06-19 12:25:47 +0800235 qcom,mode-ctrl = <0x10>;
Chun Zhang578e4152013-07-08 17:19:15 -0700236 qcom,pwm-channel = <0>;
Prasad Sodagudi1a6430c2013-08-15 21:09:52 +0530237 qcom,pwm-us = <27>;
Chun Zhang578e4152013-07-08 17:19:15 -0700238 qcom,vin-ctrl = <0x03>;
239 qcom,mode = "pwm";
Maria Yudce95612013-06-19 12:25:47 +0800240 };
241 };
242 };
243};
244
245&spmi_bus {
246 qcom,pm8110@1 {
247 qcom,vibrator@c000 {
248 status = "okay";
249 qcom,vib-timeout-ms = <15000>;
250 qcom,vib-vtg-level-mV = <3100>;
251 };
252 };
253};
254
255&sdhc_1 {
256 vdd-supply = <&pm8110_l17>;
Maria Yudce95612013-06-19 12:25:47 +0800257 qcom,vdd-voltage-level = <2900000 2900000>;
258 qcom,vdd-current-level = <200 400000>;
259
260 vdd-io-supply = <&pm8110_l6>;
261 qcom,vdd-io-always-on;
262 qcom,vdd-io-voltage-level = <1800000 1800000>;
263 qcom,vdd-io-current-level = <200 60000>;
264
265 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
266 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
267 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
268 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
269
270 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
271 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
272 qcom,nonremovable;
273
274 status = "ok";
275};
276
277&sdhc_2 {
278 vdd-supply = <&pm8110_l18>;
279 qcom,vdd-voltage-level = <2950000 2950000>;
280 qcom,vdd-current-level = <15000 400000>;
281
282 vdd-io-supply = <&pm8110_l21>;
Maria Yudce95612013-06-19 12:25:47 +0800283 qcom,vdd-io-voltage-level = <1800000 2950000>;
284 qcom,vdd-io-current-level = <200 50000>;
285
286 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
287 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
288 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
289 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
290
Pratibhasagar Vced3a462013-10-22 17:46:22 +0530291 qcom,clk-rates = <400000 25000000 50000000>;
Maria Yudce95612013-06-19 12:25:47 +0800292
293 #address-cells = <0>;
294 interrupt-parent = <&sdhc_2>;
295 interrupts = <0 1 2>;
296 #interrupt-cells = <1>;
297 interrupt-map-mask = <0xffffffff>;
298 interrupt-map = <0 &intc 0 125 0
299 1 &intc 0 221 0
300 2 &msmgpio 42 0x3>;
301 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
302 cd-gpios = <&msmgpio 42 0x1>;
303
304 status = "ok";
305};
306
307&pm8110_chg {
308 status = "ok";
309
310 qcom,chgr@1000 {
311 status = "ok";
Zhenhua Huangffd598c2013-11-05 12:44:43 +0800312 qcom,tchg-mins = <250>;
Maria Yudce95612013-06-19 12:25:47 +0800313 };
314
315 qcom,buck@1100 {
316 status = "ok";
317 };
318
319 qcom,bat-if@1200 {
320 status = "ok";
321 };
322
323 qcom,usb-chgpth@1300 {
324 status = "ok";
325 };
326
327 qcom,chg-misc@1600 {
328 status = "ok";
329 };
330};
331
332&pm8110_gpios {
333 gpio@c000 { /* GPIO 1 */
334 };
335
336 gpio@c100 { /* GPIO 2 */
337 };
338
339 gpio@c200 { /* GPIO 3 */
340 };
341
342 gpio@c300 { /* GPIO 4 */
343 };
344};
345
346&pm8110_mpps {
347 mpp@a000 { /* MPP 1 */
348 };
349
350 mpp@a100 { /* MPP 2 */
351 status = "disabled";
352 };
353
354 mpp@a200 { /* MPP 3 */
355 status = "disabled";
356 };
357
358 mpp@a300 { /* MPP 4 */
359 };
360};
Xu Kaib1fc1b32013-08-02 13:11:24 +0800361
362&pm8110_vadc {
363 chan@30 {
364 label = "batt_therm";
365 qcom,scale-function = <6>;
366 };
367};
wujin3c6eaab2013-08-23 16:26:30 +0800368
369&android_usb {
370 qcom,android-usb-cdrom;
Xiaogang Cui79844632013-09-19 21:27:10 +0800371 qcom,android-usb-internal-ums;
wujin3c6eaab2013-08-23 16:26:30 +0800372};
Shalabh Jaincae621a2013-09-24 14:44:52 -0700373
374&mdss_mdp {
375 batfet-supply = <&pm8110_chg_batif>;
376};