blob: 7e80d19499adae110aad31ba9b4318158cb15710 [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
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070013&soc {
David Ng1ecb8a12013-04-22 14:39:52 -070014 serial@f991e000 {
Hanumant Singhce222232013-03-19 14:19:59 -070015 status = "ok";
16 };
Chun Zhangf39a0652013-05-01 15:57:54 -070017
18 i2c@f9923000{
19 atmel_mxt_ts@4a {
20 compatible = "atmel,mxt-ts";
21 reg = <0x4a>;
22 interrupt-parent = <&msmgpio>;
23 interrupts = <1 0x2>;
24 vdd_ana-supply = <&pm8110_l19>;
25 vcc_i2c-supply = <&pm8110_l14>;
26 atmel,reset-gpio = <&msmgpio 0 0x00>;
27 atmel,irq-gpio = <&msmgpio 1 0x00>;
28 atmel,panel-coords = <0 0 508 880>;
29 atmel,display-coords = <0 0 480 800>;
30 atmel,i2c-pull-up;
31 atmel,no-force-update;
Mohan Pallakadcda1c72013-07-09 16:41:06 +053032 atmel,no-lpm-support;
Chun Zhangf39a0652013-05-01 15:57:54 -070033 atmel,cfg_1 {
34 atmel,family-id = <0x81>;
35 atmel,variant-id = <0x15>;
36 atmel,version = <0x11>;
37 atmel,build = <0xaa>;
38 atmel,config = [
39 /* Object 6, Instance = 0 */
40 00 00 00 00 00 00
41 /* Object 38, Instance = 0 */
Sarada Prasanna Garnayak03853f52013-07-30 13:44:40 +053042 1D 03 00 1E 07 0D 00 00
Chun Zhangf39a0652013-05-01 15:57:54 -070043 /* Object 7, Instance = 0 */
44 20 08 32
45 /* Object 8, Instance = 0 */
46 19 00 14 14 FF 00 FF 00 00 00
47 /* Object 9, Instance = 0 */
48 83 00 00 13 0B 00 20 32 01 03
49 00 32 05 30 0A 05 0A 00 70 03
Sarada Prasanna Garnayak03853f52013-07-30 13:44:40 +053050 FC 01 04 2F F8 DC 00 00 40 00
Chun Zhangf39a0652013-05-01 15:57:54 -070051 00 0A 00 00 02
52 /* Object 18, Instance = 0 */
53 00 00
54 /* Object 19, Instance = 0 */
55 00 00 00 00 00 00
56 /* Object 25, Instance = 0 */
57 03 00 18 79 A8 61
58 /* Object 58, Instance = 0 */
59 00 00 00 00 00 00 00 00 00 00
60 00
61 /* Object 42, Instance = 0 */
62 00 00 00 00 00 00 00 00
63 /* Object 46, Instance = 0 */
64 04 03 08 10 00 00 00 00 00
65 /* Object 47, Instance = 0 */
66 00 00 00 00 00 00 00 00 00 00
67 /* Object 48, Instance = 0 */
68 00 00 00 00 00 00 00 00 00 00
69 00 00 00 00 00 00 00 00 00 00
70 00 00 00 00 00 00 00 00 00 00
71 00 00 00 00 00 00 00 00 00 00
72 00 00 00 00 00 00 00 00 00 00
73 00 00 00 00
74 /* Object 55, Instance = 0 */
75 00 00 00 00
76 ];
77 };
78 };
79 };
Chun Zhanga9508d82013-05-08 13:33:55 -070080
Xiaocheng Li4d832682013-06-30 17:17:22 -070081 i2c@f9925000 {
82 mpu3050@68 {
83 #address-cells = <1>;
84 #size-cells = <0>;
85 status = "okay";
86 reg = <0x68>;
87 compatible = "invn,mpu3050";
88 interrupt-parent = <&msmgpio>;
89 interrupts = <84 0x2>;
90 vlogic-supply = <&pm8110_l14>;
91 vdd-supply = <&pm8110_l19>;
92 invn,gpio-int = <&msmgpio 84 0x2>;
93 invn,gpio-en = <&pm8110_gpios 2 0x2>;
94 invn,poll-interval = <200>;
95 };
Xiaocheng Li6a954782013-06-30 18:31:33 -070096
97 bmp180@77 {
98 reg = <0x77>;
99 compatible = "bosch,bmp18x";
100 vdd-supply = <&pm8110_l19>;
101 vddio-supply = <&pm8110_l14>;
102 bosch,chip-id = <0x55>;
103 bosch,oversample = <3>;
104 bosch,period = <1000>;
105 };
Xiaocheng Li3fe43b32013-06-30 22:58:18 -0700106
107 mma8x5x@1d {
108 reg = <0x1d>;
109 compatible = "fsl,mma8x5x";
110 interrupt-parent = <&msmgpio>;
111 interrupts = <81 0x2>;
112 vdd-supply = <&pm8110_l19>;
113 vio-supply = <&pm8110_l14>;
114 fsl,irq-gpio = <&msmgpio 81 0x00>;
115 fsl,sensors-position = <5>;
116 };
Xiaocheng Li4d832682013-06-30 17:17:22 -0700117 };
118
Chun Zhanga9508d82013-05-08 13:33:55 -0700119 gen-vkeys {
120 compatible = "qcom,gen-vkeys";
121 label = "atmel_mxt_ts";
122 qcom,disp-maxx = <480>;
123 qcom,disp-maxy = <800>;
124 qcom,panel-maxx = <508>;
125 qcom,panel-maxy = <880>;
126 qcom,key-codes = <158 102 139>;
127 qcom,y-offset = <35>;
128 };
Chun Zhang59621fc2013-05-08 13:48:31 -0700129
130 gpio_keys {
131 compatible = "gpio-keys";
132 input-name = "gpio-keys";
133
134 camera_snapshot {
135 label = "camera_snapshot";
136 gpios = <&msmgpio 73 0x1>;
137 linux,input-type = <1>;
138 linux,code = <0x2fe>;
139 gpio-key,wakeup;
140 debounce-interval = <15>;
141 };
142
143 camera_focus {
144 label = "camera_focus";
145 gpios = <&msmgpio 74 0x1>;
146 linux,input-type = <1>;
147 linux,code = <0x210>;
148 gpio-key,wakeup;
149 debounce-interval = <15>;
150 };
151
152 vol_up {
153 label = "volume_up";
154 gpios = <&msmgpio 72 0x1>;
155 linux,input-type = <1>;
156 linux,code = <115>;
157 gpio-key,wakeup;
158 debounce-interval = <15>;
159 };
160 };
quic_yandongyd6d0bf22013-05-16 22:13:11 +0800161
162 sound {
163 qcom,audio-routing =
164 "RX_BIAS", "MCLK",
165 "INT_LDO_H", "MCLK",
166 "MIC BIAS External", "Handset Mic",
167 "MIC BIAS Internal2", "Headset Mic",
168 "AMIC1", "MIC BIAS External",
169 "AMIC2", "MIC BIAS Internal2";
170 };
Terence Hampson78e82662013-07-09 17:29:21 -0400171
172 qcom,dsi_v2_truly_wvga_video {
173 qcom,cont-splash-enabled;
174 };
Hanumant Singhce222232013-03-19 14:19:59 -0700175};
176
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800177&i2c_cdc {
178 msm8x10_wcd_codec@0d{
179 compatible = "qcom,msm8x10-wcd-i2c";
180 reg = <0x0d>;
Bhalchandra Gajare8d1f1b82013-07-11 16:37:19 -0700181
182 interrupt-parent = <&wcd9xxx_intc>;
183 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
184 17 18 19 20 21 22 23>;
185
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800186 cdc-vdda-cp-supply = <&pm8110_s4>;
Kuirong Wang237eca72013-05-22 16:53:32 -0700187 qcom,cdc-vdda-cp-voltage = <1800000 2150000>;
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800188 qcom,cdc-vdda-cp-current = <650000>;
189
190 cdc-vdda-h-supply = <&pm8110_l6>;
191 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
Walter Yang83b63872013-07-08 11:48:40 +0800192 qcom,cdc-vdda-h-current = <25000>;
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800193
194 cdc-vdd-px-supply = <&pm8110_l6>;
195 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
196 qcom,cdc-vdd-px-current = <10000>;
197
198 cdc-vdd-1p2v-supply = <&pm8110_l4>;
199 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
200 qcom,cdc-vdd-1p2v-current = <5000>;
201
202 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
203 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
204 qcom,cdc-vdd-mic-bias-current = <25000>;
205
206 qcom,cdc-micbias-cfilt-sel = <0x0>;
207 qcom,cdc-micbias-cfilt-mv = <1800000>;
208 qcom,cdc-mclk-clk-rate = <12288000>;
Kuirong Wang237eca72013-05-22 16:53:32 -0700209
210 qcom,cdc-static-supplies = "cdc-vdda-h",
211 "cdc-vdd-px",
212 "cdc-vdd-1p2v";
213
214 qcom,cdc-on-demand-supplies = "cdc-vdda-cp",
215 "cdc-vdd-mic-bias";
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800216 };
217
218 msm8x10_wcd_codec@77{
219 compatible = "qcom,msm8x10-wcd-i2c";
220 reg = <0x77>;
221 };
222
223 msm8x10_wcd_codec@66{
224 compatible = "qcom,msm8x10-wcd-i2c";
225 reg = <0x66>;
226 };
227
228 msm8x10_wcd_codec@55{
229 compatible = "qcom,msm8x10-wcd-i2c";
230 reg = <0x55>;
231 };
232};
233
Amy Maloche9a113c12013-04-11 19:46:20 -0700234&spmi_bus {
235 qcom,pm8110@0 {
Chun Zhang9e808b82013-04-18 15:38:18 -0700236 qcom,leds@a100 {
237 status = "okay";
238 qcom,led_mpp_2 {
239 label = "mpp";
240 linux,name = "button-backlight";
241 linux-default-trigger = "hr-trigger";
242 qcom,default-state = "off";
243 qcom,max-current = <40>;
244 qcom,id = <6>;
245 qcom,source-sel = <1>;
246 qcom,mode-ctrl = <0x60>;
Amy Maloche33b42382013-05-29 16:13:51 -0700247 qcom,mode = "manual";
Chun Zhang9e808b82013-04-18 15:38:18 -0700248 };
249 };
250
Amy Maloche9a113c12013-04-11 19:46:20 -0700251 qcom,leds@a200 {
252 status = "okay";
253 qcom,led_mpp_3 {
254 label = "mpp";
255 linux,name = "wled-backlight";
Chun Zhang970bf5d2013-04-23 13:58:25 -0700256 linux,default-trigger = "bkl-trigger";
Amy Maloche9a113c12013-04-11 19:46:20 -0700257 qcom,default-state = "on";
258 qcom,max-current = <40>;
259 qcom,id = <6>;
Chun Zhang578e4152013-07-08 17:19:15 -0700260 qcom,source-sel = <8>;
Amy Maloche9a113c12013-04-11 19:46:20 -0700261 qcom,mode-ctrl = <0x10>;
Chun Zhang578e4152013-07-08 17:19:15 -0700262 qcom,pwm-channel = <0>;
Prasad Sodagudi1a6430c2013-08-15 21:09:52 +0530263 qcom,pwm-us = <27>;
Chun Zhang578e4152013-07-08 17:19:15 -0700264 qcom,vin-ctrl = <0x03>;
265 qcom,mode = "pwm";
Amy Maloche9a113c12013-04-11 19:46:20 -0700266 };
267 };
268 };
269};
270
Linux Build Service Accountc9771c62013-05-02 14:18:17 -0700271&spmi_bus {
Chun Zhang3450f832013-04-15 11:46:29 -0700272 qcom,pm8110@1 {
273 qcom,vibrator@c000 {
274 status = "okay";
275 qcom,vib-timeout-ms = <15000>;
276 qcom,vib-vtg-level-mV = <3100>;
277 };
278 };
279};
280
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700281&sdhc_1 {
282 vdd-supply = <&pm8110_l17>;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700283 qcom,vdd-voltage-level = <2900000 2900000>;
284 qcom,vdd-current-level = <200 400000>;
285
286 vdd-io-supply = <&pm8110_l6>;
287 qcom,vdd-io-always-on;
Venkat Gopalakrishnan7636d142013-05-17 12:34:45 -0700288 qcom,vdd-io-lpm-sup;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700289 qcom,vdd-io-voltage-level = <1800000 1800000>;
290 qcom,vdd-io-current-level = <200 60000>;
291
292 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
293 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
294 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
295 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
296
297 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
298 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
299 qcom,nonremovable;
300
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700301 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700302};
303
304&sdhc_2 {
305 vdd-supply = <&pm8110_l18>;
306 qcom,vdd-voltage-level = <2950000 2950000>;
307 qcom,vdd-current-level = <15000 400000>;
308
309 vdd-io-supply = <&pm8110_l21>;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700310 qcom,vdd-io-voltage-level = <1800000 2950000>;
311 qcom,vdd-io-current-level = <200 50000>;
312
313 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
314 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
315 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
316 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
317
318 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
319
320 #address-cells = <0>;
321 interrupt-parent = <&sdhc_2>;
322 interrupts = <0 1 2>;
323 #interrupt-cells = <1>;
324 interrupt-map-mask = <0xffffffff>;
325 interrupt-map = <0 &intc 0 125 0
326 1 &intc 0 221 0
327 2 &msmgpio 42 0x3>;
328 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
329 cd-gpios = <&msmgpio 42 0x1>;
330
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700331 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700332};
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700333
334&pm8110_chg {
335 status = "ok";
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700336 qcom,charging-disabled;
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700337
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700338 qcom,chgr@1000 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700339 status = "ok";
340 };
341
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700342 qcom,buck@1100 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700343 status = "ok";
344 };
345
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700346 qcom,bat-if@1200 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700347 status = "ok";
348 };
349
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700350 qcom,usb-chgpth@1300 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700351 status = "ok";
352 };
353
354 qcom,chg-misc@1600 {
355 status = "ok";
356 };
357};
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700358
359&pm8110_gpios {
360 gpio@c000 { /* GPIO 1 */
361 };
362
363 gpio@c100 { /* GPIO 2 */
364 };
365
366 gpio@c200 { /* GPIO 3 */
367 };
368
369 gpio@c300 { /* GPIO 4 */
370 };
371};
372
373&pm8110_mpps {
374 mpp@a000 { /* MPP 1 */
375 };
376
377 mpp@a100 { /* MPP 2 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700378 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700379 };
380
381 mpp@a200 { /* MPP 3 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700382 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700383 };
384
385 mpp@a300 { /* MPP 4 */
Siddartha Mohanadoss6ef34562013-05-31 17:54:23 -0700386 /* PA_THERM config */
387 qcom,mode = <4>; /* AIN input */
388 qcom,invert = <1>; /* Enable MPP */
389 qcom,ain-route = <3>; /* AMUX 8 */
390 qcom,master-en = <1>;
391 qcom,src-sel = <0>; /* Function constant */
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700392 };
393};
Xiaozhe Shi294c7e22013-04-17 14:59:15 -0700394
395&pm8110_bms {
396 status = "ok";
397};