blob: 002332baaf4fca94d688fe8a61c4658477397c08 [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>;
179 enable-active-high;
180 };
181};
182
183&pm8941_mvs1 {
184 parent-supply = <&ext_5v>;
185};
186
187&pm8941_mvs2 {
188 parent-supply = <&ext_5v>;
189};
190
191&pm8941_gpios {
192 gpio@c000 { /* GPIO 1 */
193 qcom,mode = <0>;
194 qcom,pull = <0>;
195 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700196 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700197 };
198
199 gpio@c100 { /* GPIO 2 */
200 qcom,mode = <0>;
201 qcom,pull = <0>;
202 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700203 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700204 };
205
206 gpio@c200 { /* GPIO 3 */
207 };
208
209 gpio@c300 { /* GPIO 4 */
210 };
211
212 gpio@c400 { /* GPIO 5 */
213 qcom,mode = <0>;
214 qcom,pull = <0>;
215 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700216 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700217 };
218
219 gpio@c500 { /* GPIO 6 */
220 };
221
222 gpio@c600 { /* GPIO 7 */
223 };
224
225 gpio@c700 { /* GPIO 8 */
226 };
227
228 gpio@c800 { /* GPIO 9 */
229 };
230
231 gpio@c900 { /* GPIO 10 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200232 /* SMB350-CHG-EN-N */
233 qcom,mode = <1>; /* DIG_OUT */
234 qcom,output-type = <0>; /* CMOS */
235 qcom,pull = <5>; /* PULL_NO */
236 qcom,vin-sel = <0>; /* VPH */
237 qcom,out-strength = <2>; /* STRENGTH_MED */
238 qcom,src-sel = <0>; /* CONSTANT */
239 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700240 };
241
242 gpio@ca00 { /* GPIO 11 */
243 };
244
245 gpio@cb00 { /* GPIO 12 */
246 };
247
248 gpio@cc00 { /* GPIO 13 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200249 /* SMB350-CHG-SUSP-N */
250 qcom,mode = <1>; /* DIG_OUT */
251 qcom,output-type = <0>; /* CMOS */
252 qcom,pull = <5>; /* PULL_NO */
253 qcom,vin-sel = <0>; /* VPH */
254 qcom,out-strength = <2>; /* STRENGTH_MED */
255 qcom,src-sel = <0>; /* CONSTANT */
256 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700257 };
258
259 gpio@cd00 { /* GPIO 14 */
260 };
261
262 gpio@ce00 { /* GPIO 15 */
263 qcom,mode = <1>;
264 qcom,output-type = <0>;
265 qcom,pull = <5>;
266 qcom,vin-sel = <2>;
267 qcom,out-strength = <3>;
Michael Bohand734fb22012-10-30 14:19:22 -0700268 qcom,src-sel = <2>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700269 qcom,master-en = <1>;
270 };
271
272 gpio@cf00 { /* GPIO 16 */
273 };
274
275 gpio@d000 { /* GPIO 17 */
276 };
277
278 gpio@d100 { /* GPIO 18 */
279 };
280
281 gpio@d200 { /* GPIO 19 */
282 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
283 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
284 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
285 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
286 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
Michael Bohand734fb22012-10-30 14:19:22 -0700287 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700288 qcom,master-en = <1>;
289 };
290
291 gpio@d300 { /* GPIO 20 */
292 };
293
294 gpio@d400 { /* GPIO 21 */
295 };
296
297 gpio@d500 { /* GPIO 22 */
298 };
299
300 gpio@d600 { /* GPIO 23 */
301 };
302
303 gpio@d700 { /* GPIO 24 */
304 };
305
306 gpio@d800 { /* GPIO 25 */
307 };
308
309 gpio@d900 { /* GPIO 26 */
310 };
311
312 gpio@da00 { /* GPIO 27 */
313 };
314
315 gpio@db00 { /* GPIO 28 */
316 };
317
318 gpio@dc00 { /* GPIO 29 */
319 qcom,pull = <0>; /* set to default pull */
320 qcom,master-en = <1>;
321 qcom,vin-sel = <2>; /* select 1.8 V source */
322 };
323
324 gpio@dd00 { /* GPIO 30 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200325 /* SMB350-STAT */
326 qcom,mode = <0>; /* DIG_IN */
327 qcom,pull = <5>; /* PULL_NO */
328 qcom,vin-sel = <2>; /* S3 1.8V */
329 qcom,src-sel = <0>; /* CONSTANT */
330 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700331 };
332
333 gpio@de00 { /* GPIO 31 */
334 };
335
336 gpio@df00 { /* GPIO 32 */
337 };
338
339 gpio@e000 { /* GPIO 33 */
340 };
341
342 gpio@e100 { /* GPIO 34 */
343 };
344
345 gpio@e200 { /* GPIO 35 */
346 };
347
348 gpio@e300 { /* GPIO 36 */
349 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
350 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
351 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
352 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
353 qcom,out-strength = <3>; /* QPNP_PIN_OUT_STRENGTH_HIGH */
Michael Bohand734fb22012-10-30 14:19:22 -0700354 qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700355 qcom,master-en = <1>;
356 };
357};
358
359&pm8941_mpps {
360
361 mpp@a000 { /* MPP 1 */
362 };
363
364 mpp@a100 { /* MPP 2 */
365 /* ext_5v regulator enable */
366 qcom,mode = <1>; /* Digital output */
367 qcom,invert = <0>; /* Output low initially */
368 qcom,vin-sel = <2>; /* PM8941 S3 = 1.8 V */
Michael Bohand734fb22012-10-30 14:19:22 -0700369 qcom,src-sel = <0>; /* Constant */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700370 qcom,master-en = <1>; /* Enable MPP */
371 };
372
373 mpp@a200 { /* MPP 3 */
374 };
375
376 mpp@a300 { /* MPP 4 */
377 };
378
379 mpp@a400 { /* MPP 5 */
380 /* SPI_ETH config */
381 qcom,mode = <1>; /* DIG_OUT */
382 qcom,output-type = <0>; /* CMOS */
383 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700384 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700385 qcom,master-en = <1>; /* ENABLE MPP */
386 };
387
388 mpp@a500 { /* MPP 6 */
389 /* SPI_ETH_RST config */
390 qcom,mode = <1>; /* DIG_OUT */
391 qcom,output-type = <0>; /* CMOS */
392 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700393 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700394 qcom,master-en = <1>; /* ENABLE MPP */
395 };
396
397 mpp@a600 { /* MPP 7 */
398 };
399
400 mpp@a700 { /* MPP 8 */
401 };
402};
403
404&pm8841_mpps {
405
406 mpp@a000 { /* MPP 1 */
407 };
408
409 mpp@a100 { /* MPP 2 */
410 };
411
412 mpp@a200 { /* HDMI_MUX_SEL MPP 3*/
413 status = "ok";
414 qcom,mode = <1>; /* DIG_OUT */
415 qcom,output-type = <0>; /* CMOS */
416 qcom,vin-sel = <2>; /* PM8841_S3A 1.8V */
Michael Bohand734fb22012-10-30 14:19:22 -0700417 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700418 qcom,master-en = <1>; /* ENABLE MPP */
419 };
420
421 mpp@a300 { /* HDMI_MUX_EN MPP 4*/
422 status = "ok";
423 qcom,mode = <1>; /* DIG_OUT */
424 qcom,output-type = <0>; /* CMOS */
425 qcom,vin-sel = <0>; /* PM8841_VPH 3.4V */
Michael Bohand734fb22012-10-30 14:19:22 -0700426 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700427 qcom,master-en = <1>; /* ENABLE MPP */
428 };
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530429};