blob: 1134ddec57d45cd41649a8e598f635b8f7e690fc [file] [log] [blame]
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -07001/* Copyright (c) 2012, 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/ {
14 serial@f991e000 {
15 status = "ok";
16 };
17
18 qcom,mdss_edp@fd923400 {
19 status = "ok";
20 };
21
22 i2c@f9967000 {
23 battery@b {
24 compatible = "ti,bq28400-battery";
25 reg = <0xb>;
26 };
Amir Samuelov6b72fc62012-11-01 20:05:04 +020027
28 charger@2b {
29 compatible = "summit,smb350-charger";
30 reg = <0x2b>; /* 0x56/0x57 */
31 summit,stat-gpio = <&pm8941_gpios 30 0x00>;
32 summit,chg-en-n-gpio = <&pm8941_gpios 10 0x00>;
33 summit,chg-susp-n-gpio = <&pm8941_gpios 13 0x00>;
34 summit,chg-current-ma = <1600>;
35 summit,term-current-ma = <300>;
36 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070037 };
38
39 gpio_keys {
40 compatible = "gpio-keys";
41 input-name = "gpio-keys";
42
43 home {
44 label = "home";
45 gpios = <&pm8941_gpios 1 0x1>;
46 linux,input-type = <1>;
47 linux,code = <102>;
48 gpio-key,wakeup;
49 debounce-interval = <15>;
50 };
51
52 vol_down {
53 label = "volume_down";
54 gpios = <&pm8941_gpios 2 0x1>;
55 linux,input-type = <1>;
56 linux,code = <114>;
57 gpio-key,wakeup;
58 debounce-interval = <15>;
59 };
60
61 vol_up {
62 label = "volume_up";
63 gpios = <&pm8941_gpios 5 0x1>;
64 linux,input-type = <1>;
65 linux,code = <115>;
66 gpio-key,wakeup;
67 debounce-interval = <15>;
68 };
69 };
70
71 qcom,mdss_mdp@fd900000 {
72 qcom,memory-reservation-size = <0x1000000>; /* size 16MB */
73 };
74
75 qcom,hdmi_tx@fd922100 {
76 status = "ok";
77 };
78
79 i2c@f9924000 {
80 atmel_mxt_ts@4a {
81 compatible = "atmel,mxt-ts";
82 reg = <0x4a>;
83 interrupt-parent = <&msmgpio>;
84 interrupts = <61 0x2>;
85 vdd_ana-supply = <&pm8941_l22>;
86 vcc_i2c-supply = <&pm8941_s3>;
87 atmel,reset-gpio = <&msmgpio 60 0x00>;
88 atmel,irq-gpio = <&msmgpio 61 0x00>;
89 atmel,panel-coords = <0 0 1080 1920>;
90 atmel,display-coords = <0 0 1080 1920>;
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +053091 atmel,i2c-pull-up;
92 atmel,no-force-update;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070093 atmel,cfg_1 {
94 atmel,family-id = <0xa2>;
95 atmel,variant-id = <0x00>;
96 atmel,version = <0x11>;
97 atmel,build = <0xaa>;
98 atmel,config = [
99 /* Object 6, Instance = 0 */
100 00 00 00 00 00 00
101 /* Object 38, Instance = 0 */
102 16 00 00 14 09 0C 00 00 00 00
103 00 00 00 00 00 00 00 00 00 00
104 00 00 00 00 00 00 00 00 00 00
105 00 00 00 00 00 00 00 00 00 00
106 00 00 00 00 00 00 00 00 00 00
107 00 00 00 00 00 00 00 00 00 00
108 00 00 00 00
109 /* Object 7, Instance = 0 */
110 FF FF 0A 03
111 /* Object 8, Instance = 0 */
112 5F 00 14 14 00 00 00 01 00 00
113 /* Object 9, Instance = 0 */
114 8F 00 00 20 34 00 87 3C 08 03
115 00 05 03 80 0A 14 14 0A 80 07
116 38 04 00 00 00 00 00 00 00 00
117 0F 0F 2E 33 02 00
118 /* Object 15, Instance = 0 */
119 00 00 00 00 00 00 00 00 00 00
120 00
121 /* Object 18, Instance = 0 */
122 04 00
123 /* Object 24, Instance = 0 */
124 00 00 00 00 00 00 00 00 00 00
125 00 00 00 00 00 00 00 00 00
126 /* Object 25, Instance = 0 */
127 00 00 54 6F F0 55 00 00 00 00
128 00 00 00 00 00
129 /* Object 27, Instance = 0 */
130 00 00 00 00 00 00 00
131 /* Object 40, Instance = 0 */
132 00 14 14 14 14
133 /* Object 42, Instance = 0 */
134 20 14 00 00 00 14 11 00 03 00
135 /* Object 43, Instance = 0 */
136 09 00 01 01 91 00 80 00 00 00
137 00 00
138 /* Object 46, Instance = 0 */
139 00 00 10 10 00 00 01 00 00 0F
140 0A
141 /* Object 47, Instance = 0 */
142 00 14 23 02 05 1E 01 78 03 10
143 00 00 0C 00 00 00 00 00 00 00
144 00 00
145 /* Object 55, Instance = 0 */
146 00 00 00 00 00 00 00
147 /* Object 56, Instance = 0 */
148 02 00 01 30 13 14 14 14 15 15
149 15 15 15 15 15 16 16 16 16 16
150 16 16 16 16 16 15 14 14 14 14
151 15 14 14 14 14 13 00 00 01 02
152 05 05 00 00 00 00 00 00 00 00
153 00
154 /* Object 57, Instance = 0 */
155 00 00 00
156 /* Object 61, Instance = 0 */
157 00 00 00 00 00
158 /* Object 62, Instance = 0 */
159 00 01 03 01 00 00 00 00 00 0A
160 0F 14 19 23 05 00 0A 05 05 69
161 23 23 34 11 64 06 06 04 40 00
162 00 00 00 00 69 4B 02 00 00 80
163 0A 14 14 18 18 10 10 80 00 80
164 00 00 0F 02 00 00 00 00 00 00
165 00 00 00 00 00 00 00 00 00 00
166 00 00 00 00
167 /* Object 63, Instance = 0 */
168 00 00 00 00 00 00 00 00 00 00
169 00 00
170 ];
171 };
172 };
173 };
174
175 ext_5v: regulator-smb210 {
176 compatible = "regulator-fixed";
177 regulator-name = "ext_5v";
178 gpio = <&pm8941_mpps 2 0>;
Eugene Yasman8d2d68d2012-11-13 15:00:58 +0200179 startup-delay-us = <12000>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700180 enable-active-high;
181 };
182};
183
Manu Gautam5ee54032012-11-02 15:17:32 +0530184&usb3 {
185 qcom,charging-disabled;
186};
187
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700188&pm8941_mvs1 {
189 parent-supply = <&ext_5v>;
190};
191
192&pm8941_mvs2 {
193 parent-supply = <&ext_5v>;
194};
195
196&pm8941_gpios {
197 gpio@c000 { /* GPIO 1 */
198 qcom,mode = <0>;
199 qcom,pull = <0>;
200 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700201 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700202 };
203
204 gpio@c100 { /* GPIO 2 */
205 qcom,mode = <0>;
206 qcom,pull = <0>;
207 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700208 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700209 };
210
211 gpio@c200 { /* GPIO 3 */
212 };
213
214 gpio@c300 { /* GPIO 4 */
215 };
216
217 gpio@c400 { /* GPIO 5 */
218 qcom,mode = <0>;
219 qcom,pull = <0>;
220 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700221 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700222 };
223
224 gpio@c500 { /* GPIO 6 */
225 };
226
227 gpio@c600 { /* GPIO 7 */
228 };
229
230 gpio@c700 { /* GPIO 8 */
231 };
232
233 gpio@c800 { /* GPIO 9 */
234 };
235
236 gpio@c900 { /* GPIO 10 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200237 /* SMB350-CHG-EN-N */
238 qcom,mode = <1>; /* DIG_OUT */
239 qcom,output-type = <0>; /* CMOS */
240 qcom,pull = <5>; /* PULL_NO */
241 qcom,vin-sel = <0>; /* VPH */
242 qcom,out-strength = <2>; /* STRENGTH_MED */
243 qcom,src-sel = <0>; /* CONSTANT */
244 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700245 };
246
247 gpio@ca00 { /* GPIO 11 */
248 };
249
250 gpio@cb00 { /* GPIO 12 */
251 };
252
253 gpio@cc00 { /* GPIO 13 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200254 /* SMB350-CHG-SUSP-N */
255 qcom,mode = <1>; /* DIG_OUT */
256 qcom,output-type = <0>; /* CMOS */
257 qcom,pull = <5>; /* PULL_NO */
258 qcom,vin-sel = <0>; /* VPH */
259 qcom,out-strength = <2>; /* STRENGTH_MED */
260 qcom,src-sel = <0>; /* CONSTANT */
261 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700262 };
263
264 gpio@cd00 { /* GPIO 14 */
265 };
266
267 gpio@ce00 { /* GPIO 15 */
268 qcom,mode = <1>;
269 qcom,output-type = <0>;
270 qcom,pull = <5>;
271 qcom,vin-sel = <2>;
272 qcom,out-strength = <3>;
Michael Bohand734fb22012-10-30 14:19:22 -0700273 qcom,src-sel = <2>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700274 qcom,master-en = <1>;
275 };
276
277 gpio@cf00 { /* GPIO 16 */
278 };
279
280 gpio@d000 { /* GPIO 17 */
281 };
282
283 gpio@d100 { /* GPIO 18 */
284 };
285
286 gpio@d200 { /* GPIO 19 */
287 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
288 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
289 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
290 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
291 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
Michael Bohand734fb22012-10-30 14:19:22 -0700292 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700293 qcom,master-en = <1>;
294 };
295
296 gpio@d300 { /* GPIO 20 */
297 };
298
299 gpio@d400 { /* GPIO 21 */
300 };
301
302 gpio@d500 { /* GPIO 22 */
303 };
304
305 gpio@d600 { /* GPIO 23 */
306 };
307
308 gpio@d700 { /* GPIO 24 */
309 };
310
311 gpio@d800 { /* GPIO 25 */
312 };
313
314 gpio@d900 { /* GPIO 26 */
315 };
316
317 gpio@da00 { /* GPIO 27 */
318 };
319
320 gpio@db00 { /* GPIO 28 */
321 };
322
323 gpio@dc00 { /* GPIO 29 */
324 qcom,pull = <0>; /* set to default pull */
325 qcom,master-en = <1>;
326 qcom,vin-sel = <2>; /* select 1.8 V source */
327 };
328
329 gpio@dd00 { /* GPIO 30 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200330 /* SMB350-STAT */
331 qcom,mode = <0>; /* DIG_IN */
332 qcom,pull = <5>; /* PULL_NO */
333 qcom,vin-sel = <2>; /* S3 1.8V */
334 qcom,src-sel = <0>; /* CONSTANT */
335 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700336 };
337
338 gpio@de00 { /* GPIO 31 */
339 };
340
341 gpio@df00 { /* GPIO 32 */
342 };
343
344 gpio@e000 { /* GPIO 33 */
345 };
346
347 gpio@e100 { /* GPIO 34 */
348 };
349
350 gpio@e200 { /* GPIO 35 */
351 };
352
353 gpio@e300 { /* GPIO 36 */
354 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
355 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
356 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
357 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
358 qcom,out-strength = <3>; /* QPNP_PIN_OUT_STRENGTH_HIGH */
Michael Bohand734fb22012-10-30 14:19:22 -0700359 qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700360 qcom,master-en = <1>;
361 };
362};
363
364&pm8941_mpps {
365
366 mpp@a000 { /* MPP 1 */
367 };
368
369 mpp@a100 { /* MPP 2 */
370 /* ext_5v regulator enable */
371 qcom,mode = <1>; /* Digital output */
372 qcom,invert = <0>; /* Output low initially */
373 qcom,vin-sel = <2>; /* PM8941 S3 = 1.8 V */
Michael Bohand734fb22012-10-30 14:19:22 -0700374 qcom,src-sel = <0>; /* Constant */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700375 qcom,master-en = <1>; /* Enable MPP */
376 };
377
378 mpp@a200 { /* MPP 3 */
379 };
380
381 mpp@a300 { /* MPP 4 */
382 };
383
384 mpp@a400 { /* MPP 5 */
385 /* SPI_ETH config */
386 qcom,mode = <1>; /* DIG_OUT */
387 qcom,output-type = <0>; /* CMOS */
388 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700389 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700390 qcom,master-en = <1>; /* ENABLE MPP */
391 };
392
393 mpp@a500 { /* MPP 6 */
394 /* SPI_ETH_RST config */
395 qcom,mode = <1>; /* DIG_OUT */
396 qcom,output-type = <0>; /* CMOS */
397 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700398 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700399 qcom,master-en = <1>; /* ENABLE MPP */
400 };
401
402 mpp@a600 { /* MPP 7 */
403 };
404
405 mpp@a700 { /* MPP 8 */
406 };
407};
408
409&pm8841_mpps {
410
411 mpp@a000 { /* MPP 1 */
412 };
413
414 mpp@a100 { /* MPP 2 */
415 };
416
417 mpp@a200 { /* HDMI_MUX_SEL MPP 3*/
418 status = "ok";
419 qcom,mode = <1>; /* DIG_OUT */
420 qcom,output-type = <0>; /* CMOS */
421 qcom,vin-sel = <2>; /* PM8841_S3A 1.8V */
Michael Bohand734fb22012-10-30 14:19:22 -0700422 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700423 qcom,master-en = <1>; /* ENABLE MPP */
424 };
425
426 mpp@a300 { /* HDMI_MUX_EN MPP 4*/
427 status = "ok";
428 qcom,mode = <1>; /* DIG_OUT */
429 qcom,output-type = <0>; /* CMOS */
430 qcom,vin-sel = <0>; /* PM8841_VPH 3.4V */
Michael Bohand734fb22012-10-30 14:19:22 -0700431 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700432 qcom,master-en = <1>; /* ENABLE MPP */
433 };
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530434};