blob: 221ace4d505018ebd9b9546fdfe56428f388cc4a [file] [log] [blame]
Hanumant Singhce222232013-03-19 14:19:59 -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/dts-v1/;
14
15/include/ "msm8610.dtsi"
Xiaoming Zhou3727c4d2013-03-29 09:24:29 -040016/include/ "dsi-v2-panel-truly-wvga-video.dtsi"
Lokesh Kumar Aakulu25213502013-05-07 17:43:03 -070017/include/ "msm8610-camera-sensor-cdp-mtp.dtsi"
Hanumant Singhce222232013-03-19 14:19:59 -070018
19/ {
20 model = "Qualcomm MSM 8610 MTP";
Stepan Moskovchenkoa971a752013-04-03 16:51:37 -070021 compatible = "qcom,msm8610-mtp", "qcom,msm8610", "qcom,mtp";
Abhimanyu Kapur35bc0842013-04-19 20:02:58 -070022 qcom,msm-id = <147 8 0>, <165 8 0>, <161 8 0>, <162 8 0>,
23 <163 8 0>, <164 8 0>, <166 8 0>;
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070024};
Hanumant Singhce222232013-03-19 14:19:59 -070025
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070026&soc {
David Ng1ecb8a12013-04-22 14:39:52 -070027 serial@f991e000 {
Hanumant Singhce222232013-03-19 14:19:59 -070028 status = "ok";
29 };
Chun Zhangf39a0652013-05-01 15:57:54 -070030
31 i2c@f9923000{
32 atmel_mxt_ts@4a {
33 compatible = "atmel,mxt-ts";
34 reg = <0x4a>;
35 interrupt-parent = <&msmgpio>;
36 interrupts = <1 0x2>;
37 vdd_ana-supply = <&pm8110_l19>;
38 vcc_i2c-supply = <&pm8110_l14>;
39 atmel,reset-gpio = <&msmgpio 0 0x00>;
40 atmel,irq-gpio = <&msmgpio 1 0x00>;
41 atmel,panel-coords = <0 0 508 880>;
42 atmel,display-coords = <0 0 480 800>;
43 atmel,i2c-pull-up;
44 atmel,no-force-update;
Mohan Pallakadcda1c72013-07-09 16:41:06 +053045 atmel,no-lpm-support;
Chun Zhangf39a0652013-05-01 15:57:54 -070046 atmel,cfg_1 {
47 atmel,family-id = <0x81>;
48 atmel,variant-id = <0x15>;
49 atmel,version = <0x11>;
50 atmel,build = <0xaa>;
51 atmel,config = [
52 /* Object 6, Instance = 0 */
53 00 00 00 00 00 00
54 /* Object 38, Instance = 0 */
Chun Zhang0e3245b2013-06-11 11:38:22 -070055 1D 02 00 0A 06 0D 00 00
Chun Zhangf39a0652013-05-01 15:57:54 -070056 /* Object 7, Instance = 0 */
57 20 08 32
58 /* Object 8, Instance = 0 */
59 19 00 14 14 FF 00 FF 00 00 00
60 /* Object 9, Instance = 0 */
61 83 00 00 13 0B 00 20 32 01 03
62 00 32 05 30 0A 05 0A 00 70 03
Chun Zhang0e3245b2013-06-11 11:38:22 -070063 FC 01 00 36 2F D8 00 00 40 00
Chun Zhangf39a0652013-05-01 15:57:54 -070064 00 0A 00 00 02
65 /* Object 18, Instance = 0 */
66 00 00
67 /* Object 19, Instance = 0 */
68 00 00 00 00 00 00
69 /* Object 25, Instance = 0 */
70 03 00 18 79 A8 61
71 /* Object 58, Instance = 0 */
72 00 00 00 00 00 00 00 00 00 00
73 00
74 /* Object 42, Instance = 0 */
75 00 00 00 00 00 00 00 00
76 /* Object 46, Instance = 0 */
77 04 03 08 10 00 00 00 00 00
78 /* Object 47, Instance = 0 */
79 00 00 00 00 00 00 00 00 00 00
80 /* Object 48, Instance = 0 */
81 00 00 00 00 00 00 00 00 00 00
82 00 00 00 00 00 00 00 00 00 00
83 00 00 00 00 00 00 00 00 00 00
84 00 00 00 00 00 00 00 00 00 00
85 00 00 00 00 00 00 00 00 00 00
86 00 00 00 00
87 /* Object 55, Instance = 0 */
88 00 00 00 00
89 ];
90 };
91 };
92 };
Chun Zhanga9508d82013-05-08 13:33:55 -070093
Xiaocheng Li4d832682013-06-30 17:17:22 -070094 i2c@f9925000 {
95 mpu3050@68 {
96 #address-cells = <1>;
97 #size-cells = <0>;
98 status = "okay";
99 reg = <0x68>;
100 compatible = "invn,mpu3050";
101 interrupt-parent = <&msmgpio>;
102 interrupts = <84 0x2>;
103 vlogic-supply = <&pm8110_l14>;
104 vdd-supply = <&pm8110_l19>;
105 invn,gpio-int = <&msmgpio 84 0x2>;
106 invn,gpio-en = <&pm8110_gpios 2 0x2>;
107 invn,poll-interval = <200>;
108 };
Xiaocheng Li6a954782013-06-30 18:31:33 -0700109
110 bmp180@77 {
111 reg = <0x77>;
112 compatible = "bosch,bmp18x";
113 vdd-supply = <&pm8110_l19>;
114 vddio-supply = <&pm8110_l14>;
115 bosch,chip-id = <0x55>;
116 bosch,oversample = <3>;
117 bosch,period = <1000>;
118 };
Xiaocheng Li3fe43b32013-06-30 22:58:18 -0700119
120 mma8x5x@1d {
121 reg = <0x1d>;
122 compatible = "fsl,mma8x5x";
123 interrupt-parent = <&msmgpio>;
124 interrupts = <81 0x2>;
125 vdd-supply = <&pm8110_l19>;
126 vio-supply = <&pm8110_l14>;
127 fsl,irq-gpio = <&msmgpio 81 0x00>;
128 fsl,sensors-position = <5>;
129 };
Xiaocheng Li4d832682013-06-30 17:17:22 -0700130 };
131
Chun Zhanga9508d82013-05-08 13:33:55 -0700132 gen-vkeys {
133 compatible = "qcom,gen-vkeys";
134 label = "atmel_mxt_ts";
135 qcom,disp-maxx = <480>;
136 qcom,disp-maxy = <800>;
137 qcom,panel-maxx = <508>;
138 qcom,panel-maxy = <880>;
139 qcom,key-codes = <158 102 139>;
140 qcom,y-offset = <35>;
141 };
Chun Zhang59621fc2013-05-08 13:48:31 -0700142
143 gpio_keys {
144 compatible = "gpio-keys";
145 input-name = "gpio-keys";
146
147 camera_snapshot {
148 label = "camera_snapshot";
149 gpios = <&msmgpio 73 0x1>;
150 linux,input-type = <1>;
151 linux,code = <0x2fe>;
152 gpio-key,wakeup;
153 debounce-interval = <15>;
154 };
155
156 camera_focus {
157 label = "camera_focus";
158 gpios = <&msmgpio 74 0x1>;
159 linux,input-type = <1>;
160 linux,code = <0x210>;
161 gpio-key,wakeup;
162 debounce-interval = <15>;
163 };
164
165 vol_up {
166 label = "volume_up";
167 gpios = <&msmgpio 72 0x1>;
168 linux,input-type = <1>;
169 linux,code = <115>;
170 gpio-key,wakeup;
171 debounce-interval = <15>;
172 };
173 };
quic_yandongyd6d0bf22013-05-16 22:13:11 +0800174
175 sound {
176 qcom,audio-routing =
177 "RX_BIAS", "MCLK",
178 "INT_LDO_H", "MCLK",
179 "MIC BIAS External", "Handset Mic",
180 "MIC BIAS Internal2", "Headset Mic",
181 "AMIC1", "MIC BIAS External",
182 "AMIC2", "MIC BIAS Internal2";
183 };
Hanumant Singhce222232013-03-19 14:19:59 -0700184};
185
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800186&i2c_cdc {
187 msm8x10_wcd_codec@0d{
188 compatible = "qcom,msm8x10-wcd-i2c";
189 reg = <0x0d>;
190 cdc-vdda-cp-supply = <&pm8110_s4>;
Kuirong Wang237eca72013-05-22 16:53:32 -0700191 qcom,cdc-vdda-cp-voltage = <1800000 2150000>;
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800192 qcom,cdc-vdda-cp-current = <650000>;
193
194 cdc-vdda-h-supply = <&pm8110_l6>;
195 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
Walter Yang83b63872013-07-08 11:48:40 +0800196 qcom,cdc-vdda-h-current = <25000>;
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800197
198 cdc-vdd-px-supply = <&pm8110_l6>;
199 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
200 qcom,cdc-vdd-px-current = <10000>;
201
202 cdc-vdd-1p2v-supply = <&pm8110_l4>;
203 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
204 qcom,cdc-vdd-1p2v-current = <5000>;
205
206 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
207 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
208 qcom,cdc-vdd-mic-bias-current = <25000>;
209
210 qcom,cdc-micbias-cfilt-sel = <0x0>;
211 qcom,cdc-micbias-cfilt-mv = <1800000>;
212 qcom,cdc-mclk-clk-rate = <12288000>;
Kuirong Wang237eca72013-05-22 16:53:32 -0700213
214 qcom,cdc-static-supplies = "cdc-vdda-h",
215 "cdc-vdd-px",
216 "cdc-vdd-1p2v";
217
218 qcom,cdc-on-demand-supplies = "cdc-vdda-cp",
219 "cdc-vdd-mic-bias";
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800220 };
221
222 msm8x10_wcd_codec@77{
223 compatible = "qcom,msm8x10-wcd-i2c";
224 reg = <0x77>;
225 };
226
227 msm8x10_wcd_codec@66{
228 compatible = "qcom,msm8x10-wcd-i2c";
229 reg = <0x66>;
230 };
231
232 msm8x10_wcd_codec@55{
233 compatible = "qcom,msm8x10-wcd-i2c";
234 reg = <0x55>;
235 };
236};
237
Amy Maloche9a113c12013-04-11 19:46:20 -0700238&spmi_bus {
239 qcom,pm8110@0 {
Chun Zhang9e808b82013-04-18 15:38:18 -0700240 qcom,leds@a100 {
241 status = "okay";
242 qcom,led_mpp_2 {
243 label = "mpp";
244 linux,name = "button-backlight";
245 linux-default-trigger = "hr-trigger";
246 qcom,default-state = "off";
247 qcom,max-current = <40>;
248 qcom,id = <6>;
249 qcom,source-sel = <1>;
250 qcom,mode-ctrl = <0x60>;
Amy Maloche33b42382013-05-29 16:13:51 -0700251 qcom,mode = "manual";
Chun Zhang9e808b82013-04-18 15:38:18 -0700252 };
253 };
254
Amy Maloche9a113c12013-04-11 19:46:20 -0700255 qcom,leds@a200 {
256 status = "okay";
257 qcom,led_mpp_3 {
258 label = "mpp";
259 linux,name = "wled-backlight";
Chun Zhang970bf5d2013-04-23 13:58:25 -0700260 linux,default-trigger = "bkl-trigger";
Amy Maloche9a113c12013-04-11 19:46:20 -0700261 qcom,default-state = "on";
262 qcom,max-current = <40>;
263 qcom,id = <6>;
Chun Zhang578e4152013-07-08 17:19:15 -0700264 qcom,source-sel = <8>;
Amy Maloche9a113c12013-04-11 19:46:20 -0700265 qcom,mode-ctrl = <0x10>;
Chun Zhang578e4152013-07-08 17:19:15 -0700266 qcom,pwm-channel = <0>;
267 qcom,pwm-us = <14>;
268 qcom,vin-ctrl = <0x03>;
269 qcom,mode = "pwm";
270 qcom,min-brightness = <19>;
Amy Maloche9a113c12013-04-11 19:46:20 -0700271 };
272 };
273 };
274};
275
Linux Build Service Accountc9771c62013-05-02 14:18:17 -0700276&spmi_bus {
Chun Zhang3450f832013-04-15 11:46:29 -0700277 qcom,pm8110@1 {
278 qcom,vibrator@c000 {
279 status = "okay";
280 qcom,vib-timeout-ms = <15000>;
281 qcom,vib-vtg-level-mV = <3100>;
282 };
283 };
284};
285
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700286&sdhc_1 {
287 vdd-supply = <&pm8110_l17>;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700288 qcom,vdd-voltage-level = <2900000 2900000>;
289 qcom,vdd-current-level = <200 400000>;
290
291 vdd-io-supply = <&pm8110_l6>;
292 qcom,vdd-io-always-on;
Venkat Gopalakrishnan7636d142013-05-17 12:34:45 -0700293 qcom,vdd-io-lpm-sup;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700294 qcom,vdd-io-voltage-level = <1800000 1800000>;
295 qcom,vdd-io-current-level = <200 60000>;
296
297 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
298 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
299 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
300 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
301
302 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
303 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
304 qcom,nonremovable;
305
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700306 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700307};
308
309&sdhc_2 {
310 vdd-supply = <&pm8110_l18>;
311 qcom,vdd-voltage-level = <2950000 2950000>;
312 qcom,vdd-current-level = <15000 400000>;
313
314 vdd-io-supply = <&pm8110_l21>;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700315 qcom,vdd-io-voltage-level = <1800000 2950000>;
316 qcom,vdd-io-current-level = <200 50000>;
317
318 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
319 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
320 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
321 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
322
323 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
324
325 #address-cells = <0>;
326 interrupt-parent = <&sdhc_2>;
327 interrupts = <0 1 2>;
328 #interrupt-cells = <1>;
329 interrupt-map-mask = <0xffffffff>;
330 interrupt-map = <0 &intc 0 125 0
331 1 &intc 0 221 0
332 2 &msmgpio 42 0x3>;
333 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
334 cd-gpios = <&msmgpio 42 0x1>;
335
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700336 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700337};
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700338
339&pm8110_chg {
340 status = "ok";
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700341 qcom,charging-disabled;
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700342
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700343 qcom,chgr@1000 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700344 status = "ok";
345 };
346
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700347 qcom,buck@1100 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700348 status = "ok";
349 };
350
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700351 qcom,bat-if@1200 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700352 status = "ok";
353 };
354
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700355 qcom,usb-chgpth@1300 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700356 status = "ok";
357 };
358
359 qcom,chg-misc@1600 {
360 status = "ok";
361 };
362};
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700363
364&pm8110_gpios {
365 gpio@c000 { /* GPIO 1 */
366 };
367
368 gpio@c100 { /* GPIO 2 */
369 };
370
371 gpio@c200 { /* GPIO 3 */
372 };
373
374 gpio@c300 { /* GPIO 4 */
375 };
376};
377
378&pm8110_mpps {
379 mpp@a000 { /* MPP 1 */
380 };
381
382 mpp@a100 { /* MPP 2 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700383 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700384 };
385
386 mpp@a200 { /* MPP 3 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700387 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700388 };
389
390 mpp@a300 { /* MPP 4 */
Siddartha Mohanadoss6ef34562013-05-31 17:54:23 -0700391 /* PA_THERM config */
392 qcom,mode = <4>; /* AIN input */
393 qcom,invert = <1>; /* Enable MPP */
394 qcom,ain-route = <3>; /* AMUX 8 */
395 qcom,master-en = <1>;
396 qcom,src-sel = <0>; /* Function constant */
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700397 };
398};
Xiaozhe Shi294c7e22013-04-17 14:59:15 -0700399
400&pm8110_bms {
401 status = "ok";
402};