blob: d1bf471958883abfe355756299a2ac25207896c2 [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
29/include/ "msm8610.dtsi"
30
31&soc {
32 i2c@f9923000{
33 focaltech@38{
34 compatible = "focaltech,5x06";
35 reg = <0x38>;
36 interrupt-parent = <&msmgpio>;
37 interrupts = <1 0x2>;
38 vdd-supply = <&pm8110_l19>;
39 vcc_i2c-supply = <&pm8110_l14>;
40 focaltech,family-id = <0x06>;
41 focaltech,reset-gpio = <&msmgpio 0 0x00>;
42 focaltech,irq-gpio = <&msmgpio 1 0x00>;
43 focaltech,display-coords = <0 0 480 800>;
44 focaltech,panel-coords = <0 0 480 800>;
45 focaltech,button-map= <139 102 158>;
46 focaltech,no-force-update;
47 focaltech,i2c-pull-up;
48 };
49 };
50
51 gen-vkeys {
52 compatible = "qcom,gen-vkeys";
53 label = "ft5x06_ts";
54 qcom,disp-maxx = <480>;
55 qcom,disp-maxy = <800>;
56 qcom,panel-maxx = <481>;
57 qcom,panel-maxy = <940>;
58 qcom,key-codes = <139 0 102 158 0 0 0>;
59 qcom,y-offset = <0>;
60 };
61 serial@f991e000 {
62 status = "ok";
63 };
64
65 i2c@f9925000 { /* BLSP-1 QUP-3 */
66 kionix@f {
67 compatible = "kionix,kxtj9";
68 reg = <0x0f>;
69 interrupt-parent = <&msmgpio>;
70 interrupts = <81 0x2>;
71 vdd-supply = <&pm8110_l19>;
72 vio-supply = <&pm8110_l14>;
73 kionix,min-interval = <5>;
74 kionix,init-interval = <200>;
75 kionix,axis-map-x = <1>;
76 kionix,axis-map-y = <0>;
77 kionix,axis-map-z = <2>;
78 kionix,g-range = <2>;
79 kionix,negate-x;
80 kionix,negate-y;
81 kionix,negate-z;
82 kionix,res-12bit;
83 };
84 };
85
86 flashlight {
87 compatible = "qcom,leds-gpio-flash";
88 status = "okay";
89 qcom,flash-en = <&msmgpio 18 0>;
90 qcom,flash-now = <&msmgpio 19 0>;
91 linux,name = "flashlight";
92 linux,default-trigger = "flashlight-trigger";
93 };
94
95 gpio_keys {
96 compatible = "gpio-keys";
97 input-name = "gpio-keys";
98
99 camera_snapshot {
100 label = "camera_snapshot";
101 gpios = <&msmgpio 73 0x1>;
102 linux,input-type = <1>;
103 linux,code = <0x2fe>;
104 gpio-key,wakeup;
105 debounce-interval = <15>;
106 };
107
108 camera_focus {
109 label = "camera_focus";
110 gpios = <&msmgpio 74 0x1>;
111 linux,input-type = <1>;
112 linux,code = <0x210>;
113 gpio-key,wakeup;
114 debounce-interval = <15>;
115 };
116
117 vol_up {
118 label = "volume_up";
119 gpios = <&msmgpio 72 0x1>;
120 linux,input-type = <1>;
121 linux,code = <115>;
122 gpio-key,wakeup;
123 debounce-interval = <15>;
124 };
125 };
126
Maria Yudce95612013-06-19 12:25:47 +0800127 sound {
128 qcom,audio-routing =
129 "RX_BIAS", "MCLK",
130 "INT_LDO_H", "MCLK",
131 "MIC BIAS Internal1", "Handset Mic",
132 "MIC BIAS Internal2", "Headset Mic",
133 "AMIC1", "MIC BIAS Internal1",
134 "AMIC2", "MIC BIAS Internal2";
135 };
136};
137
Walter Yang83b63872013-07-08 11:48:40 +0800138&i2c_cdc {
139 msm8x10_wcd_codec@0d{
140 compatible = "qcom,msm8x10-wcd-i2c";
141 reg = <0x0d>;
142 cdc-vdda-cp-supply = <&pm8110_s4>;
143 qcom,cdc-vdda-cp-voltage = <1800000 2150000>;
144 qcom,cdc-vdda-cp-current = <650000>;
145
146 cdc-vdda-h-supply = <&pm8110_l6>;
147 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
148 qcom,cdc-vdda-h-current = <25000>;
149
150 cdc-vdd-px-supply = <&pm8110_l6>;
151 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
152 qcom,cdc-vdd-px-current = <10000>;
153
154 cdc-vdd-1p2v-supply = <&pm8110_l4>;
155 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
156 qcom,cdc-vdd-1p2v-current = <5000>;
157
158 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
159 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
160 qcom,cdc-vdd-mic-bias-current = <25000>;
161
162 qcom,cdc-micbias-cfilt-sel = <0x0>;
163 qcom,cdc-micbias-cfilt-mv = <1800000>;
164 qcom,cdc-mclk-clk-rate = <12288000>;
165
166 qcom,cdc-static-supplies = "cdc-vdda-h",
167 "cdc-vdd-px",
168 "cdc-vdd-1p2v";
169
170 qcom,cdc-on-demand-supplies = "cdc-vdda-cp",
171 "cdc-vdd-mic-bias";
172 };
173
174 msm8x10_wcd_codec@77{
175 compatible = "qcom,msm8x10-wcd-i2c";
176 reg = <0x77>;
177 };
178
179 msm8x10_wcd_codec@66{
180 compatible = "qcom,msm8x10-wcd-i2c";
181 reg = <0x66>;
182 };
183
184 msm8x10_wcd_codec@55{
185 compatible = "qcom,msm8x10-wcd-i2c";
186 reg = <0x55>;
187 };
188};
189
Maria Yudce95612013-06-19 12:25:47 +0800190&spmi_bus {
191 qcom,pm8110@0 {
192 qcom,leds@a100 {
193 status = "okay";
194 qcom,led_mpp_2 {
195 label = "mpp";
196 linux,name = "wled-homerow";
197 linux-default-trigger = "hr-trigger";
198 qcom,default-state = "off";
199 qcom,max-current = <40>;
200 qcom,id = <6>;
201 qcom,source-sel = <1>;
202 qcom,mode-ctrl = <0x61>;
203 qcom,mode = "manual";
204 };
205 };
206
207 qcom,leds@a200 {
208 status = "okay";
209 qcom,led_mpp_3 {
210 label = "mpp";
211 linux,name = "wled-backlight";
212 linux,default-trigger = "bkl-trigger";
213 qcom,default-state = "on";
214 qcom,max-current = <40>;
215 qcom,id = <6>;
Chun Zhang578e4152013-07-08 17:19:15 -0700216 qcom,source-sel = <8>;
Maria Yudce95612013-06-19 12:25:47 +0800217 qcom,mode-ctrl = <0x10>;
Chun Zhang578e4152013-07-08 17:19:15 -0700218 qcom,pwm-channel = <0>;
219 qcom,pwm-us = <14>;
220 qcom,vin-ctrl = <0x03>;
221 qcom,mode = "pwm";
222 qcom,min-brightness = <19>;
Maria Yudce95612013-06-19 12:25:47 +0800223 };
224 };
225 };
226};
227
228&spmi_bus {
229 qcom,pm8110@1 {
230 qcom,vibrator@c000 {
231 status = "okay";
232 qcom,vib-timeout-ms = <15000>;
233 qcom,vib-vtg-level-mV = <3100>;
234 };
235 };
236};
237
238&sdhc_1 {
239 vdd-supply = <&pm8110_l17>;
Sujit Reddy Thumma9ba1ec42013-07-25 07:47:39 -0700240 qcom,vdd-always-on;
241 qcom,vdd-lpm-sup;
Maria Yudce95612013-06-19 12:25:47 +0800242 qcom,vdd-voltage-level = <2900000 2900000>;
243 qcom,vdd-current-level = <200 400000>;
244
245 vdd-io-supply = <&pm8110_l6>;
246 qcom,vdd-io-always-on;
247 qcom,vdd-io-voltage-level = <1800000 1800000>;
248 qcom,vdd-io-current-level = <200 60000>;
249
250 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
251 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
252 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
253 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
254
255 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
256 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
257 qcom,nonremovable;
258
259 status = "ok";
260};
261
262&sdhc_2 {
263 vdd-supply = <&pm8110_l18>;
264 qcom,vdd-voltage-level = <2950000 2950000>;
265 qcom,vdd-current-level = <15000 400000>;
266
267 vdd-io-supply = <&pm8110_l21>;
268 qcom,vdd-io-always-on;
269 qcom,vdd-io-lpm-sup;
270 qcom,vdd-io-voltage-level = <1800000 2950000>;
271 qcom,vdd-io-current-level = <200 50000>;
272
273 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
274 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
275 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
276 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
277
278 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
279
280 #address-cells = <0>;
281 interrupt-parent = <&sdhc_2>;
282 interrupts = <0 1 2>;
283 #interrupt-cells = <1>;
284 interrupt-map-mask = <0xffffffff>;
285 interrupt-map = <0 &intc 0 125 0
286 1 &intc 0 221 0
287 2 &msmgpio 42 0x3>;
288 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
289 cd-gpios = <&msmgpio 42 0x1>;
290
291 status = "ok";
292};
293
294&pm8110_chg {
295 status = "ok";
296
297 qcom,chgr@1000 {
298 status = "ok";
299 };
300
301 qcom,buck@1100 {
302 status = "ok";
303 };
304
305 qcom,bat-if@1200 {
306 status = "ok";
307 };
308
309 qcom,usb-chgpth@1300 {
310 status = "ok";
311 };
312
313 qcom,chg-misc@1600 {
314 status = "ok";
315 };
316};
317
318&pm8110_gpios {
319 gpio@c000 { /* GPIO 1 */
320 };
321
322 gpio@c100 { /* GPIO 2 */
323 };
324
325 gpio@c200 { /* GPIO 3 */
326 };
327
328 gpio@c300 { /* GPIO 4 */
329 };
330};
331
332&pm8110_mpps {
333 mpp@a000 { /* MPP 1 */
334 };
335
336 mpp@a100 { /* MPP 2 */
337 status = "disabled";
338 };
339
340 mpp@a200 { /* MPP 3 */
341 status = "disabled";
342 };
343
344 mpp@a300 { /* MPP 4 */
345 };
346};
Xu Kaib1fc1b32013-08-02 13:11:24 +0800347
348&pm8110_vadc {
349 chan@30 {
350 label = "batt_therm";
351 qcom,scale-function = <6>;
352 };
353};