blob: 8ed6ae2ddaf6acb2409d7c1cefd8cf26051b2530 [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 };
Oliver Wange7878c12013-08-15 14:45:17 +0800117 capella@60 {
118 compatible = "capella,cm36283";
119 reg = <0x60>;
120 interrupt-parent = <&msmgpio>;
121 interrupts = <80 0x2>;
122 vdd-supply = <&pm8110_l19>;
123 vio-supply = <&pm8110_l14>;
124 capella,use-polling;
125 capella,interrupt-gpio = <&msmgpio 80 0x2>;
126 capella,levels = <0x0A 0xA0 0xE1 0x140 0x280 0x500 0xA28 0x16A8 0x1F40
127 0x2800>;
128 capella,ps_close_thd_set = <0xa>;
129 capella,ps_away_thd_set = <0x5>;
130 capella,ls_cmd = <0x44>; /* PS_IT=160ms, INT_PERS=2*/
131 capella,ps_conf1_val = <0x0006>;
132 capella,ps_conf3_val = <0x3010>;
133 };
Xiaocheng Li4d832682013-06-30 17:17:22 -0700134 };
135
Chun Zhanga9508d82013-05-08 13:33:55 -0700136 gen-vkeys {
137 compatible = "qcom,gen-vkeys";
138 label = "atmel_mxt_ts";
139 qcom,disp-maxx = <480>;
140 qcom,disp-maxy = <800>;
141 qcom,panel-maxx = <508>;
142 qcom,panel-maxy = <880>;
143 qcom,key-codes = <158 102 139>;
144 qcom,y-offset = <35>;
145 };
Chun Zhang59621fc2013-05-08 13:48:31 -0700146
147 gpio_keys {
148 compatible = "gpio-keys";
149 input-name = "gpio-keys";
150
151 camera_snapshot {
152 label = "camera_snapshot";
153 gpios = <&msmgpio 73 0x1>;
154 linux,input-type = <1>;
155 linux,code = <0x2fe>;
156 gpio-key,wakeup;
157 debounce-interval = <15>;
158 };
159
160 camera_focus {
161 label = "camera_focus";
162 gpios = <&msmgpio 74 0x1>;
163 linux,input-type = <1>;
164 linux,code = <0x210>;
165 gpio-key,wakeup;
166 debounce-interval = <15>;
167 };
168
169 vol_up {
170 label = "volume_up";
171 gpios = <&msmgpio 72 0x1>;
172 linux,input-type = <1>;
173 linux,code = <115>;
174 gpio-key,wakeup;
175 debounce-interval = <15>;
176 };
177 };
quic_yandongyd6d0bf22013-05-16 22:13:11 +0800178
179 sound {
180 qcom,audio-routing =
181 "RX_BIAS", "MCLK",
182 "INT_LDO_H", "MCLK",
183 "MIC BIAS External", "Handset Mic",
184 "MIC BIAS Internal2", "Headset Mic",
185 "AMIC1", "MIC BIAS External",
186 "AMIC2", "MIC BIAS Internal2";
187 };
Terence Hampson78e82662013-07-09 17:29:21 -0400188
189 qcom,dsi_v2_truly_wvga_video {
190 qcom,cont-splash-enabled;
191 };
Hanumant Singhce222232013-03-19 14:19:59 -0700192};
193
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800194&i2c_cdc {
195 msm8x10_wcd_codec@0d{
196 compatible = "qcom,msm8x10-wcd-i2c";
197 reg = <0x0d>;
Bhalchandra Gajare8d1f1b82013-07-11 16:37:19 -0700198
199 interrupt-parent = <&wcd9xxx_intc>;
200 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
201 17 18 19 20 21 22 23>;
202
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800203 cdc-vdda-cp-supply = <&pm8110_s4>;
Kuirong Wang237eca72013-05-22 16:53:32 -0700204 qcom,cdc-vdda-cp-voltage = <1800000 2150000>;
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800205 qcom,cdc-vdda-cp-current = <650000>;
206
207 cdc-vdda-h-supply = <&pm8110_l6>;
208 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
Walter Yang83b63872013-07-08 11:48:40 +0800209 qcom,cdc-vdda-h-current = <25000>;
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800210
211 cdc-vdd-px-supply = <&pm8110_l6>;
212 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
213 qcom,cdc-vdd-px-current = <10000>;
214
215 cdc-vdd-1p2v-supply = <&pm8110_l4>;
216 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
217 qcom,cdc-vdd-1p2v-current = <5000>;
218
219 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
220 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
221 qcom,cdc-vdd-mic-bias-current = <25000>;
222
223 qcom,cdc-micbias-cfilt-sel = <0x0>;
224 qcom,cdc-micbias-cfilt-mv = <1800000>;
225 qcom,cdc-mclk-clk-rate = <12288000>;
Kuirong Wang237eca72013-05-22 16:53:32 -0700226
227 qcom,cdc-static-supplies = "cdc-vdda-h",
228 "cdc-vdd-px",
229 "cdc-vdd-1p2v";
230
231 qcom,cdc-on-demand-supplies = "cdc-vdda-cp",
232 "cdc-vdd-mic-bias";
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800233 };
234
235 msm8x10_wcd_codec@77{
236 compatible = "qcom,msm8x10-wcd-i2c";
237 reg = <0x77>;
238 };
239
240 msm8x10_wcd_codec@66{
241 compatible = "qcom,msm8x10-wcd-i2c";
242 reg = <0x66>;
243 };
244
245 msm8x10_wcd_codec@55{
246 compatible = "qcom,msm8x10-wcd-i2c";
247 reg = <0x55>;
248 };
249};
250
Amy Maloche9a113c12013-04-11 19:46:20 -0700251&spmi_bus {
252 qcom,pm8110@0 {
Chun Zhang9e808b82013-04-18 15:38:18 -0700253 qcom,leds@a100 {
254 status = "okay";
255 qcom,led_mpp_2 {
256 label = "mpp";
257 linux,name = "button-backlight";
258 linux-default-trigger = "hr-trigger";
259 qcom,default-state = "off";
260 qcom,max-current = <40>;
261 qcom,id = <6>;
262 qcom,source-sel = <1>;
263 qcom,mode-ctrl = <0x60>;
Amy Maloche33b42382013-05-29 16:13:51 -0700264 qcom,mode = "manual";
Chun Zhang9e808b82013-04-18 15:38:18 -0700265 };
266 };
267
Amy Maloche9a113c12013-04-11 19:46:20 -0700268 qcom,leds@a200 {
269 status = "okay";
270 qcom,led_mpp_3 {
271 label = "mpp";
272 linux,name = "wled-backlight";
Chun Zhang970bf5d2013-04-23 13:58:25 -0700273 linux,default-trigger = "bkl-trigger";
Amy Maloche9a113c12013-04-11 19:46:20 -0700274 qcom,default-state = "on";
275 qcom,max-current = <40>;
276 qcom,id = <6>;
Chun Zhang578e4152013-07-08 17:19:15 -0700277 qcom,source-sel = <8>;
Amy Maloche9a113c12013-04-11 19:46:20 -0700278 qcom,mode-ctrl = <0x10>;
Chun Zhang578e4152013-07-08 17:19:15 -0700279 qcom,pwm-channel = <0>;
Prasad Sodagudi1a6430c2013-08-15 21:09:52 +0530280 qcom,pwm-us = <27>;
Chun Zhang578e4152013-07-08 17:19:15 -0700281 qcom,vin-ctrl = <0x03>;
282 qcom,mode = "pwm";
Amy Maloche9a113c12013-04-11 19:46:20 -0700283 };
284 };
285 };
286};
287
Linux Build Service Accountc9771c62013-05-02 14:18:17 -0700288&spmi_bus {
Chun Zhang3450f832013-04-15 11:46:29 -0700289 qcom,pm8110@1 {
290 qcom,vibrator@c000 {
291 status = "okay";
292 qcom,vib-timeout-ms = <15000>;
293 qcom,vib-vtg-level-mV = <3100>;
294 };
295 };
296};
297
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700298&sdhc_1 {
299 vdd-supply = <&pm8110_l17>;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700300 qcom,vdd-voltage-level = <2900000 2900000>;
301 qcom,vdd-current-level = <200 400000>;
302
303 vdd-io-supply = <&pm8110_l6>;
304 qcom,vdd-io-always-on;
Venkat Gopalakrishnan7636d142013-05-17 12:34:45 -0700305 qcom,vdd-io-lpm-sup;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700306 qcom,vdd-io-voltage-level = <1800000 1800000>;
307 qcom,vdd-io-current-level = <200 60000>;
308
309 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
310 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
311 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
312 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
313
314 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
315 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
316 qcom,nonremovable;
317
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700318 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700319};
320
321&sdhc_2 {
322 vdd-supply = <&pm8110_l18>;
323 qcom,vdd-voltage-level = <2950000 2950000>;
324 qcom,vdd-current-level = <15000 400000>;
325
326 vdd-io-supply = <&pm8110_l21>;
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700327 qcom,vdd-io-voltage-level = <1800000 2950000>;
328 qcom,vdd-io-current-level = <200 50000>;
329
330 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
331 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
332 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
333 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
334
335 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
336
337 #address-cells = <0>;
338 interrupt-parent = <&sdhc_2>;
339 interrupts = <0 1 2>;
340 #interrupt-cells = <1>;
341 interrupt-map-mask = <0xffffffff>;
342 interrupt-map = <0 &intc 0 125 0
343 1 &intc 0 221 0
344 2 &msmgpio 42 0x3>;
345 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
346 cd-gpios = <&msmgpio 42 0x1>;
347
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700348 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700349};
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700350
351&pm8110_chg {
352 status = "ok";
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700353 qcom,charging-disabled;
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700354
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700355 qcom,chgr@1000 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700356 status = "ok";
357 };
358
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700359 qcom,buck@1100 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700360 status = "ok";
361 };
362
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700363 qcom,bat-if@1200 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700364 status = "ok";
365 };
366
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700367 qcom,usb-chgpth@1300 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700368 status = "ok";
369 };
370
371 qcom,chg-misc@1600 {
372 status = "ok";
373 };
374};
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700375
376&pm8110_gpios {
377 gpio@c000 { /* GPIO 1 */
378 };
379
380 gpio@c100 { /* GPIO 2 */
381 };
382
383 gpio@c200 { /* GPIO 3 */
384 };
385
386 gpio@c300 { /* GPIO 4 */
387 };
388};
389
390&pm8110_mpps {
391 mpp@a000 { /* MPP 1 */
392 };
393
394 mpp@a100 { /* MPP 2 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700395 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700396 };
397
398 mpp@a200 { /* MPP 3 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700399 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700400 };
401
402 mpp@a300 { /* MPP 4 */
Siddartha Mohanadoss6ef34562013-05-31 17:54:23 -0700403 /* PA_THERM config */
404 qcom,mode = <4>; /* AIN input */
405 qcom,invert = <1>; /* Enable MPP */
406 qcom,ain-route = <3>; /* AMUX 8 */
407 qcom,master-en = <1>;
408 qcom,src-sel = <0>; /* Function constant */
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700409 };
410};
Xiaozhe Shi294c7e22013-04-17 14:59:15 -0700411
412&pm8110_bms {
413 status = "ok";
414};