blob: f90599a20853fb2dae08b0902f7e3584ff6e00d0 [file] [log] [blame]
Amy Maloche71880c52013-01-04 11:56:23 -08001/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -07002 *
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
Amy Maloche24de28b2012-09-17 12:09:56 -070013/include/ "msm8974-leds.dtsi"
Sreesudhan Ramakrish Ramkumardee14bc2012-11-14 14:24:19 -080014/include/ "msm8974-camera-sensor-liquid.dtsi"
Sreesudhan Ramakrish Ramkumar39074612012-10-11 20:48:51 -070015
Stepan Moskovchenko4dd8bab2013-07-15 20:38:12 -070016/ {
17 aliases {
18 serial0 = &blsp1_uart1;
19 };
20};
21
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070022&soc {
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070023 serial@f991e000 {
24 status = "ok";
25 };
26
27 qcom,mdss_edp@fd923400 {
28 status = "ok";
29 };
30
31 i2c@f9967000 {
32 battery@b {
33 compatible = "ti,bq28400-battery";
34 reg = <0xb>;
Eugene Yasmand72132d2013-01-20 13:00:52 +020035 ti,temp-cold = <2>; /* degree celsius */
36 ti,temp-hot = <43>; /* degree celsius */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070037 };
Amir Samuelov6b72fc62012-11-01 20:05:04 +020038
39 charger@2b {
40 compatible = "summit,smb350-charger";
41 reg = <0x2b>; /* 0x56/0x57 */
42 summit,stat-gpio = <&pm8941_gpios 30 0x00>;
43 summit,chg-en-n-gpio = <&pm8941_gpios 10 0x00>;
44 summit,chg-susp-n-gpio = <&pm8941_gpios 13 0x00>;
45 summit,chg-current-ma = <1600>;
46 summit,term-current-ma = <300>;
47 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070048 };
49
50 gpio_keys {
51 compatible = "gpio-keys";
52 input-name = "gpio-keys";
53
54 home {
55 label = "home";
56 gpios = <&pm8941_gpios 1 0x1>;
57 linux,input-type = <1>;
58 linux,code = <102>;
59 gpio-key,wakeup;
60 debounce-interval = <15>;
61 };
62
63 vol_down {
64 label = "volume_down";
65 gpios = <&pm8941_gpios 2 0x1>;
66 linux,input-type = <1>;
67 linux,code = <114>;
68 gpio-key,wakeup;
69 debounce-interval = <15>;
70 };
71
72 vol_up {
73 label = "volume_up";
74 gpios = <&pm8941_gpios 5 0x1>;
75 linux,input-type = <1>;
76 linux,code = <115>;
77 gpio-key,wakeup;
78 debounce-interval = <15>;
79 };
80 };
81
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070082 qcom,hdmi_tx@fd922100 {
83 status = "ok";
Ujwal Patel1a835132012-11-14 22:11:59 -080084
85 qcom,hdmi-tx-mux-sel = <&pm8841_mpps 3 0>;
86 qcom,hdmi-tx-mux-en = <&pm8841_mpps 4 0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -070087 };
88
Mohan Pallaka8cc86d62012-11-09 11:29:47 +053089 drv2667_vreg: drv2667_vdd_vreg {
90 compatible = "regulator-fixed";
91 regulator-name = "vdd_drv2667";
92 };
93
Mohan Pallaka28f9fb42012-09-17 15:25:23 +053094 i2c@f9967000 {
95 ti-drv2667@59 {
96 compatible = "ti,drv2667";
97 reg = <0x59>;
98 vdd-supply = <&drv2667_vreg>;
99 vdd-i2c-supply = <&pm8941_s3>;
100 ti,label = "vibrator";
101 ti,gain = <2>;
102 ti,idle-timeout-ms = <20>;
103 ti,max-runtime-ms = <15000>;
104 ti,mode = <2>;
105 ti,wav-seq = [
106 /* wave form id */
107 01
108 /* header size, start and stop bytes */
109 05 80 06 00 09
110 /* repeat, amp, freq, duration, envelope */
111 01 ff 19 02 00];
112 };
113 };
114
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700115 i2c@f9924000 {
116 atmel_mxt_ts@4a {
117 compatible = "atmel,mxt-ts";
118 reg = <0x4a>;
119 interrupt-parent = <&msmgpio>;
120 interrupts = <61 0x2>;
121 vdd_ana-supply = <&pm8941_l22>;
122 vcc_i2c-supply = <&pm8941_s3>;
123 atmel,reset-gpio = <&msmgpio 60 0x00>;
124 atmel,irq-gpio = <&msmgpio 61 0x00>;
125 atmel,panel-coords = <0 0 1080 1920>;
126 atmel,display-coords = <0 0 1080 1920>;
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530127 atmel,i2c-pull-up;
Amy Maloche71880c52013-01-04 11:56:23 -0800128 atmel,no-force-update;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700129 atmel,cfg_1 {
130 atmel,family-id = <0xa2>;
131 atmel,variant-id = <0x00>;
132 atmel,version = <0x11>;
133 atmel,build = <0xaa>;
134 atmel,config = [
135 /* Object 6, Instance = 0 */
136 00 00 00 00 00 00
137 /* Object 38, Instance = 0 */
138 16 00 00 14 09 0C 00 00 00 00
139 00 00 00 00 00 00 00 00 00 00
140 00 00 00 00 00 00 00 00 00 00
141 00 00 00 00 00 00 00 00 00 00
142 00 00 00 00 00 00 00 00 00 00
143 00 00 00 00 00 00 00 00 00 00
144 00 00 00 00
145 /* Object 7, Instance = 0 */
146 FF FF 0A 03
147 /* Object 8, Instance = 0 */
148 5F 00 14 14 00 00 00 01 00 00
149 /* Object 9, Instance = 0 */
150 8F 00 00 20 34 00 87 3C 08 03
151 00 05 03 80 0A 14 14 0A 80 07
152 38 04 00 00 00 00 00 00 00 00
153 0F 0F 2E 33 02 00
154 /* Object 15, Instance = 0 */
155 00 00 00 00 00 00 00 00 00 00
156 00
157 /* Object 18, Instance = 0 */
158 04 00
159 /* Object 24, Instance = 0 */
160 00 00 00 00 00 00 00 00 00 00
161 00 00 00 00 00 00 00 00 00
162 /* Object 25, Instance = 0 */
163 00 00 54 6F F0 55 00 00 00 00
164 00 00 00 00 00
165 /* Object 27, Instance = 0 */
166 00 00 00 00 00 00 00
167 /* Object 40, Instance = 0 */
168 00 14 14 14 14
169 /* Object 42, Instance = 0 */
170 20 14 00 00 00 14 11 00 03 00
171 /* Object 43, Instance = 0 */
172 09 00 01 01 91 00 80 00 00 00
173 00 00
174 /* Object 46, Instance = 0 */
175 00 00 10 10 00 00 01 00 00 0F
176 0A
177 /* Object 47, Instance = 0 */
178 00 14 23 02 05 1E 01 78 03 10
179 00 00 0C 00 00 00 00 00 00 00
180 00 00
181 /* Object 55, Instance = 0 */
182 00 00 00 00 00 00 00
183 /* Object 56, Instance = 0 */
184 02 00 01 30 13 14 14 14 15 15
185 15 15 15 15 15 16 16 16 16 16
186 16 16 16 16 16 15 14 14 14 14
187 15 14 14 14 14 13 00 00 01 02
188 05 05 00 00 00 00 00 00 00 00
189 00
190 /* Object 57, Instance = 0 */
191 00 00 00
192 /* Object 61, Instance = 0 */
193 00 00 00 00 00
194 /* Object 62, Instance = 0 */
195 00 01 03 01 00 00 00 00 00 0A
196 0F 14 19 23 05 00 0A 05 05 69
197 23 23 34 11 64 06 06 04 40 00
198 00 00 00 00 69 4B 02 00 00 80
199 0A 14 14 18 18 10 10 80 00 80
200 00 00 0F 02 00 00 00 00 00 00
201 00 00 00 00 00 00 00 00 00 00
202 00 00 00 00
203 /* Object 63, Instance = 0 */
204 00 00 00 00 00 00 00 00 00 00
205 00 00
206 ];
207 };
Amy Malochef78eacc2013-02-25 19:30:00 -0800208 atmel,cfg_2 {
209 atmel,family-id = <0xa2>;
210 atmel,variant-id = <0x00>;
211 atmel,version = <0x11>;
212 atmel,build = <0xaa>;
213 atmel,config = [
214 /* Object 6, Instance = 0 */
215 00 00 00 00 00 00
216 /* Object 38, Instance = 0 */
Amy Maloche77b64f92013-05-29 15:51:17 -0700217 19 03 00 1E 05 0D 00 00 00 00
Amy Malochef78eacc2013-02-25 19:30:00 -0800218 00 00 00 00 00 00 00 00 00 00
219 00 00 00 00 00 00 00 00 00 00
220 00 00 00 00 00 00 00 00 00 00
221 00 00 00 00 00 00 00 00 00 00
222 00 00 00 00 00 00 00 00 00 00
223 00 00 00 00
224 /* Object 7, Instance = 0 */
225 20 08 32 C3
226 /* Object 8, Instance = 0 */
227 41 00 14 14 00 00 00 01 00 00
228 /* Object 9, Instance = 0 */
229 8F 00 00 20 34 00 87 4B 02 03
Amy Maloche77b64f92013-05-29 15:51:17 -0700230 00 05 03 41 0A 14 14 0A 80 07
231 38 04 00 00 03 03 08 28 02 3C
Amy Malochef78eacc2013-02-25 19:30:00 -0800232 0F 0F 2E 33 01 00
233 /* Object 15, Instance = 0 */
234 00 00 00 00 00 00 00 00 00 00
235 00
236 /* Object 18, Instance = 0 */
237 04 00
238 /* Object 24, Instance = 0 */
239 00 00 00 00 00 00 00 00 00 00
240 00 00 00 00 00 00 00 00 00
241 /* Object 25, Instance = 0 */
242 00 00 54 6F F0 55 00 00 00 00
243 00 00 00 00 00
244 /* Object 27, Instance = 0 */
245 00 00 00 00 00 00 00
246 /* Object 40, Instance = 0 */
247 00 14 14 14 14
248 /* Object 42, Instance = 0 */
249 23 32 14 14 80 00 0A 00 05 05
250 /* Object 43, Instance = 0 */
251 08 00 01 01 91 00 80 00 00 00
252 00 00
253 /* Object 46, Instance = 0 */
254 00 00 18 18 00 00 01 00 00 0F
255 0A
256 /* Object 47, Instance = 0 */
257 00 14 28 02 05 28 01 78 03 10
258 00 00 0C 00 00 00 00 00 00 00
259 00 00
260 /* Object 55, Instance = 0 */
261 00 00 00 00 00 00 00
262 /* Object 56, Instance = 0 */
263 01 00 00 30 13 14 14 14 15 15
264 15 15 15 15 15 16 16 16 16 16
265 16 16 16 16 16 15 14 14 14 14
266 15 14 14 14 14 13 03 20 03 01
267 0A 04 00 00 00 00 00 00 00 00
268 1A
269 /* Object 57, Instance = 0 */
270 00 00 00
271 /* Object 61, Instance = 0 */
272 00 00 00 00 00
273 /* Object 62, Instance = 0 */
274 00 03 00 07 02 00 00 00 00 00
275 0F 17 23 2D 05 00 05 03 03 69
276 14 14 34 11 64 06 06 04 40 00
277 00 00 00 00 69 3C 02 04 01 00
278 0A 14 14 03 03 03 03 00 00 00
279 00 64 1E 01 00 00 00 00 00 00
280 00 00 00 00 00 00 00 00 00 00
281 00 00 00 00
282 /* Object 63, Instance = 0 */
283 00 00 00 00 00 00 00 00 00 00
284 00 00
285 /* Object 65, Instance = 0 */
286 00 00 00 00 00 00 00 00 00 00
287 00 00 00 00 00 00 00
288 /* Object 66, Instance = 0 */
289 00 00 00 00 00
290 ];
291 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700292 };
293 };
294
295 ext_5v: regulator-smb210 {
296 compatible = "regulator-fixed";
297 regulator-name = "ext_5v";
298 gpio = <&pm8941_mpps 2 0>;
Eugene Yasman8d2d68d2012-11-13 15:00:58 +0200299 startup-delay-us = <12000>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700300 enable-active-high;
301 };
Tanya Finkelb4fea122012-11-14 14:23:37 +0200302
Ram Mohan Korukonda55839202013-04-20 23:39:17 -0700303 ath_chip_pwd_l: ath_chip_reset {
304 compatible = "regulator-fixed";
305 regulator-name = "ath_chip_pwd_l";
306 gpio = <&pm8941_gpios 33 0>;
307 enable-active-high;
308 };
309
Pradeep Panigrahic2a86fe2013-02-22 10:49:01 +0530310 bt_ar3002 {
311 compatible = "qca,ar3002";
312 qca,bt-reset-gpio = <&pm8941_gpios 34 0>;
Ram Mohan Korukonda55839202013-04-20 23:39:17 -0700313 qca,bt-chip-pwd-supply = <&ath_chip_pwd_l>;
314 qca,bt-vdd-io-supply = <&pm8941_s3>;
315 qca,bt-vdd-pa-supply = <&pm8941_l19>;
Pradeep Panigrahic2a86fe2013-02-22 10:49:01 +0530316 };
317
Ram Mohan Korukondae7baad92013-03-13 02:23:45 +0530318 bt_ar3002_sleep {
319 compatible = "qca,ar3002_bluesleep";
320 host-wake-gpio = <&msmgpio 79 0>;
321 ext-wake-gpio = <&msmgpio 51 0>;
322 interrupt-parent = <&msmgpio>;
323 interrupts = <79 2>;
324 interrupt-names = "host_wake";
325 };
326
Tanya Finkelb4fea122012-11-14 14:23:37 +0200327 sound {
328 qcom,model = "msm8974-taiko-liquid-snd-card";
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200329
330 qcom,audio-routing =
331 "RX_BIAS", "MCLK",
332 "LDO_H", "MCLK",
333 "Lineout_1 amp", "LINEOUT1",
334 "Lineout_3 amp", "LINEOUT3",
335 "Lineout_2 amp", "LINEOUT2",
336 "Lineout_4 amp", "LINEOUT4",
Baruch Eruchimovitch212b1ac2013-04-17 20:28:54 +0300337 "SPK_ultrasound amp", "SPK_OUT",
Tanya Finkel88340112013-01-21 15:38:55 +0200338 "AMIC1", "MIC BIAS4 External",
339 "MIC BIAS4 External", "Analog Mic4",
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200340 "AMIC2", "MIC BIAS2 External",
341 "MIC BIAS2 External", "Headset Mic",
342 "AMIC3", "MIC BIAS2 External",
343 "MIC BIAS2 External", "ANCRight Headset Mic",
344 "AMIC4", "MIC BIAS2 External",
345 "MIC BIAS2 External", "ANCLeft Headset Mic",
Tanya Finkel88340112013-01-21 15:38:55 +0200346 "AMIC5", "MIC BIAS1 External",
347 "MIC BIAS1 External", "Analog Mic6",
348 "AMIC6", "MIC BIAS1 External",
349 "MIC BIAS1 External", "Analog Mic7",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200350 "DMIC1", "MIC BIAS3 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200351 "MIC BIAS3 External", "Digital Mic1",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200352 "DMIC2", "MIC BIAS3 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200353 "MIC BIAS3 External", "Digital Mic2",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200354 "DMIC3", "MIC BIAS2 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200355 "MIC BIAS2 External", "Digital Mic3",
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200356 "DMIC4", "MIC BIAS3 External",
357 "MIC BIAS3 External", "Digital Mic4",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200358 "DMIC5", "MIC BIAS2 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200359 "MIC BIAS2 External", "Digital Mic5",
Tanya Finkel70e29ed2012-12-06 21:51:16 +0200360 "DMIC6", "MIC BIAS2 External",
Tanya Finkel88340112013-01-21 15:38:55 +0200361 "MIC BIAS2 External", "Digital Mic6";
Tanya Finkel4ecb6a02012-11-30 22:04:42 +0200362
Tanya Finkelb4fea122012-11-14 14:23:37 +0200363 qcom,ext-spk-amp-supply = <&ext_5v>;
364 qcom,ext-spk-amp-gpio = <&pm8841_mpps 1 0>;
Tanya Finkelca619322013-01-20 15:43:58 +0200365 qcom,dock-plug-det-irq = <&pm8841_mpps 2 0>;
Baruch Eruchimovitch212b1ac2013-04-17 20:28:54 +0300366 qcom,ext-ult-spk-amp-gpio = <&pm8941_gpios 6 0>;
Kiran Kandi52650322012-12-11 15:49:39 -0800367 qcom,hdmi-audio-rx;
Banajit Goswamif8ce89a2013-04-09 18:02:15 -0700368
369 qcom,prim-auxpcm-gpio-clk = <&msmgpio 74 0>;
370 qcom,prim-auxpcm-gpio-sync = <&msmgpio 75 0>;
371 qcom,prim-auxpcm-gpio-din = <&msmgpio 76 0>;
372 qcom,prim-auxpcm-gpio-dout = <&msmgpio 77 0>;
373 qcom,prim-auxpcm-gpio-set = "prim-gpio-tert";
Tanya Finkelb4fea122012-11-14 14:23:37 +0200374 };
Eugene Yasman588351a2012-12-10 11:37:17 +0200375
376 hsic_hub {
377 compatible = "qcom,hsic-smsc-hub";
378 #address-cells = <1>;
379 #size-cells = <1>;
380 ranges;
381 smsc,reset-gpio = <&pm8941_gpios 8 0x00>;
382 smsc,refclk-gpio = <&pm8941_gpios 16 0x00>;
383 smsc,int-gpio = <&msmgpio 50 0x00>;
384 hub_int-supply = <&pm8941_l10>;
385 hub_vbus-supply = <&ext_5v>;
386
Manu Gautam0df3d132013-03-13 07:21:22 +0530387 hsic_host: hsic@f9a00000 {
Eugene Yasman588351a2012-12-10 11:37:17 +0200388 compatible = "qcom,hsic-host";
389 reg = <0xf9a00000 0x400>;
Manu Gautam0df3d132013-03-13 07:21:22 +0530390 #address-cells = <0>;
391 interrupt-parent = <&hsic_host>;
392 interrupts = <0 1 2>;
393 #interrupt-cells = <1>;
394 interrupt-map-mask = <0xffffffff>;
395 interrupt-map = <0 &intc 0 136 0
396 1 &intc 0 148 0
397 2 &msmgpio 144 0x8>;
398 interrupt-names = "core_irq", "async_irq", "wakeup";
Eugene Yasman588351a2012-12-10 11:37:17 +0200399 HSIC_VDDCX-supply = <&pm8841_s2>;
400 HSIC_GDSC-supply = <&gdsc_usb_hsic>;
401 hsic,strobe-gpio = <&msmgpio 144 0x00>;
402 hsic,data-gpio = <&msmgpio 145 0x00>;
403 hsic,ignore-cal-pad-config;
404 hsic,strobe-pad-offset = <0x2050>;
405 hsic,data-pad-offset = <0x2054>;
Manu Gautam8efa9d12013-07-25 12:29:40 +0530406 qcom,phy-susp-sof-workaround;
Manu Gautamcb7e9632013-03-18 12:44:08 +0530407
408 qcom,msm-bus,name = "hsic";
409 qcom,msm-bus,num-cases = <2>;
Manu Gautamcb7e9632013-03-18 12:44:08 +0530410 qcom,msm-bus,num-paths = <1>;
411 qcom,msm-bus,vectors-KBps =
412 <85 512 0 0>,
413 <85 512 40000 160000>;
Eugene Yasman588351a2012-12-10 11:37:17 +0200414 };
415 };
Ming-yi Linefc79902013-05-27 15:48:14 +0800416
417 wlan0: qca,wlan {
418 compatible = "qca,ar6004-hsic";
419 qcom,msm-bus,name = "wlan";
420 qca,wifi-chip-pwd-supply = <&ath_chip_pwd_l>;
421 qca,wifi-vddpa-supply = <&pm8941_l19>;
422 qca,wifi-vddio-supply = <&pm8941_l10>;
423 qcom,msm-bus,num-cases = <5>;
424 qcom,msm-bus,active-only = <0>;
425 qcom,msm-bus,num-paths = <1>;
426 qcom,msm-bus,vectors-KBps =
427 <85 512 0 0>,
428 <85 512 40000 160000>,
429 <85 512 40000 320000>,
430 <85 512 40000 480000>,
431 <85 512 40000 800000>;
432 };
433
434 wlan_sdio:qca,wlan_sdio {
435 compatible = "qca,ar6004-sdio";
436 qcom,msm-bus,name = "wlan_sdio";
437 qca,wifi-chip-pwd-supply = <&ath_chip_pwd_l>;
438 };
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700439};
440
Adrian Salido-Moreno9954ca62013-01-30 14:39:04 -0800441&mdss_fb0 {
442 qcom,memory-reservation-size = <0x1000000>; /* size 16MB */
443};
444
Mayank Rana35f27802013-02-14 18:22:50 +0530445&uart7 {
446 status = "ok";
447 qcom,tx-gpio = <&msmgpio 41 0x00>;
448 qcom,rx-gpio = <&msmgpio 42 0x00>;
449 qcom,cts-gpio = <&msmgpio 43 0x00>;
450 qcom,rfr-gpio = <&msmgpio 44 0x00>;
451};
452
Manu Gautam5ee54032012-11-02 15:17:32 +0530453&usb3 {
David Keitelf2170cc2013-02-20 17:49:03 -0800454 qcom,otg-capability;
Manu Gautam5ee54032012-11-02 15:17:32 +0530455};
456
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700457&pm8941_mvs2 {
458 parent-supply = <&ext_5v>;
459};
460
461&pm8941_gpios {
462 gpio@c000 { /* GPIO 1 */
463 qcom,mode = <0>;
464 qcom,pull = <0>;
465 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700466 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700467 };
468
469 gpio@c100 { /* GPIO 2 */
470 qcom,mode = <0>;
471 qcom,pull = <0>;
472 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700473 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700474 };
475
476 gpio@c200 { /* GPIO 3 */
477 };
478
479 gpio@c300 { /* GPIO 4 */
480 };
481
482 gpio@c400 { /* GPIO 5 */
483 qcom,mode = <0>;
484 qcom,pull = <0>;
485 qcom,vin-sel = <2>;
Michael Bohand734fb22012-10-30 14:19:22 -0700486 qcom,src-sel = <0>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700487 };
488
489 gpio@c500 { /* GPIO 6 */
Baruch Eruchimovitch212b1ac2013-04-17 20:28:54 +0300490 /* ULTRASOUND_EN_1 PA AB enable */
491 qcom,mode = <1>; /* DIG_OUT */
492 qcom,output-type = <0>; /* CMOS */
493 qcom,pull = <4>; /* PULL_DOWN */
494 qcom,vin-sel = <0>; /* VPH */
495 qcom,out-strength = <2>; /* STRENGTH_MED */
496 qcom,src-sel = <0>; /* CONSTANT */
497 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700498 };
499
500 gpio@c600 { /* GPIO 7 */
501 };
502
503 gpio@c700 { /* GPIO 8 */
Eugene Yasman588351a2012-12-10 11:37:17 +0200504 /* HSIC_HUB-RESET */
505 qcom,mode = <1>; /* DIG_OUT */
506 qcom,pull = <5>; /* PULL_NO */
507 qcom,out-strength = <2>; /* STRENGTH_MED */
508 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700509 };
510
511 gpio@c800 { /* GPIO 9 */
512 };
513
514 gpio@c900 { /* GPIO 10 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200515 /* SMB350-CHG-EN-N */
516 qcom,mode = <1>; /* DIG_OUT */
517 qcom,output-type = <0>; /* CMOS */
518 qcom,pull = <5>; /* PULL_NO */
519 qcom,vin-sel = <0>; /* VPH */
520 qcom,out-strength = <2>; /* STRENGTH_MED */
521 qcom,src-sel = <0>; /* CONSTANT */
522 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700523 };
524
525 gpio@ca00 { /* GPIO 11 */
526 };
527
528 gpio@cb00 { /* GPIO 12 */
529 };
530
531 gpio@cc00 { /* GPIO 13 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200532 /* SMB350-CHG-SUSP-N */
533 qcom,mode = <1>; /* DIG_OUT */
534 qcom,output-type = <0>; /* CMOS */
535 qcom,pull = <5>; /* PULL_NO */
536 qcom,vin-sel = <0>; /* VPH */
537 qcom,out-strength = <2>; /* STRENGTH_MED */
538 qcom,src-sel = <0>; /* CONSTANT */
539 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700540 };
541
542 gpio@cd00 { /* GPIO 14 */
543 };
544
545 gpio@ce00 { /* GPIO 15 */
546 qcom,mode = <1>;
547 qcom,output-type = <0>;
548 qcom,pull = <5>;
549 qcom,vin-sel = <2>;
Kiran Kandi1a35a222013-05-02 16:53:53 -0700550 qcom,out-strength = <1>;
Michael Bohand734fb22012-10-30 14:19:22 -0700551 qcom,src-sel = <2>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700552 qcom,master-en = <1>;
553 };
554
555 gpio@cf00 { /* GPIO 16 */
Eugene Yasman588351a2012-12-10 11:37:17 +0200556 /* HSIC_HUB-INT_N */
557 qcom,mode = <1>;
558 qcom,output-type = <0>;
559 qcom,pull = <5>;
560 qcom,vin-sel = <2>;
561 qcom,out-strength = <3>;
562 qcom,src-sel = <2>;
563 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700564 };
565
566 gpio@d000 { /* GPIO 17 */
567 };
568
569 gpio@d100 { /* GPIO 18 */
570 };
571
572 gpio@d200 { /* GPIO 19 */
573 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
574 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
575 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
576 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
577 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
Michael Bohand734fb22012-10-30 14:19:22 -0700578 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700579 qcom,master-en = <1>;
580 };
581
582 gpio@d300 { /* GPIO 20 */
583 };
584
585 gpio@d400 { /* GPIO 21 */
586 };
587
588 gpio@d500 { /* GPIO 22 */
589 };
590
591 gpio@d600 { /* GPIO 23 */
592 };
593
594 gpio@d700 { /* GPIO 24 */
595 };
596
597 gpio@d800 { /* GPIO 25 */
598 };
599
600 gpio@d900 { /* GPIO 26 */
601 };
602
603 gpio@da00 { /* GPIO 27 */
604 };
605
606 gpio@db00 { /* GPIO 28 */
607 };
608
609 gpio@dc00 { /* GPIO 29 */
610 qcom,pull = <0>; /* set to default pull */
611 qcom,master-en = <1>;
612 qcom,vin-sel = <2>; /* select 1.8 V source */
613 };
614
615 gpio@dd00 { /* GPIO 30 */
Amir Samuelov6b72fc62012-11-01 20:05:04 +0200616 /* SMB350-STAT */
617 qcom,mode = <0>; /* DIG_IN */
618 qcom,pull = <5>; /* PULL_NO */
619 qcom,vin-sel = <2>; /* S3 1.8V */
620 qcom,src-sel = <0>; /* CONSTANT */
621 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700622 };
623
624 gpio@de00 { /* GPIO 31 */
625 };
626
627 gpio@df00 { /* GPIO 32 */
628 };
629
630 gpio@e000 { /* GPIO 33 */
Alexander Lifshitz7cddb5e2012-11-14 15:46:37 +0200631 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
632 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
633 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
634 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
635 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
636 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
637 qcom,invert = <1>;
638 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700639 };
640
641 gpio@e100 { /* GPIO 34 */
Alexander Lifshitz7cddb5e2012-11-14 15:46:37 +0200642 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
643 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
644 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
645 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
646 qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */
647 qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */
648 qcom,invert = <0>;
649 qcom,master-en = <1>;
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700650 };
651
652 gpio@e200 { /* GPIO 35 */
653 };
654
655 gpio@e300 { /* GPIO 36 */
656 qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */
657 qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */
658 qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
659 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
660 qcom,out-strength = <3>; /* QPNP_PIN_OUT_STRENGTH_HIGH */
Michael Bohand734fb22012-10-30 14:19:22 -0700661 qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700662 qcom,master-en = <1>;
663 };
664};
665
666&pm8941_mpps {
667
668 mpp@a000 { /* MPP 1 */
Michael Bohanbea1f582013-03-21 17:29:49 -0700669 status = "disabled";
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700670 };
671
672 mpp@a100 { /* MPP 2 */
673 /* ext_5v regulator enable */
674 qcom,mode = <1>; /* Digital output */
675 qcom,invert = <0>; /* Output low initially */
676 qcom,vin-sel = <2>; /* PM8941 S3 = 1.8 V */
Michael Bohand734fb22012-10-30 14:19:22 -0700677 qcom,src-sel = <0>; /* Constant */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700678 qcom,master-en = <1>; /* Enable MPP */
679 };
680
681 mpp@a200 { /* MPP 3 */
682 };
683
684 mpp@a300 { /* MPP 4 */
685 };
686
687 mpp@a400 { /* MPP 5 */
688 /* SPI_ETH config */
689 qcom,mode = <1>; /* DIG_OUT */
690 qcom,output-type = <0>; /* CMOS */
691 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700692 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700693 qcom,master-en = <1>; /* ENABLE MPP */
694 };
695
696 mpp@a500 { /* MPP 6 */
697 /* SPI_ETH_RST config */
698 qcom,mode = <1>; /* DIG_OUT */
699 qcom,output-type = <0>; /* CMOS */
700 qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */
Michael Bohand734fb22012-10-30 14:19:22 -0700701 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700702 qcom,master-en = <1>; /* ENABLE MPP */
703 };
704
705 mpp@a600 { /* MPP 7 */
706 };
707
708 mpp@a700 { /* MPP 8 */
709 };
710};
711
712&pm8841_mpps {
713
714 mpp@a000 { /* MPP 1 */
Tanya Finkelb4fea122012-11-14 14:23:37 +0200715 /* CLASS_D_EN speakers PA */
716 qcom,mode = <1>; /* DIG_OUT */
717 qcom,output-type = <0>; /* PNP_PIN_OUT_BUF_CMOS */
718 qcom,vin-sel = <2>; /* S3A 1.8v */
719 qcom,src-select = <0>; /* CONSTANT */
720 qcom,master-en = <1>; /* ENABLE MPP */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700721 };
722
723 mpp@a100 { /* MPP 2 */
Tanya Finkelca619322013-01-20 15:43:58 +0200724 /* DOCK_PLUG_DET speakers+docking detect irq*/
725 qcom,mode = <0>; /* DIG_IN */
726 qcom,vin-sel = <2>; /* S3A 1.8v */
727 qcom,src-sel = <0>; /* CONSTANT */
728 qcom,master-en = <1>; /* ENABLE MPP */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700729 };
730
731 mpp@a200 { /* HDMI_MUX_SEL MPP 3*/
732 status = "ok";
733 qcom,mode = <1>; /* DIG_OUT */
734 qcom,output-type = <0>; /* CMOS */
735 qcom,vin-sel = <2>; /* PM8841_S3A 1.8V */
Michael Bohand734fb22012-10-30 14:19:22 -0700736 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700737 qcom,master-en = <1>; /* ENABLE MPP */
738 };
739
740 mpp@a300 { /* HDMI_MUX_EN MPP 4*/
741 status = "ok";
742 qcom,mode = <1>; /* DIG_OUT */
743 qcom,output-type = <0>; /* CMOS */
744 qcom,vin-sel = <0>; /* PM8841_VPH 3.4V */
Michael Bohand734fb22012-10-30 14:19:22 -0700745 qcom,src-sel = <0>; /* CONSTANT */
Stepan Moskovchenko7731cd12012-10-23 14:44:15 -0700746 qcom,master-en = <1>; /* ENABLE MPP */
747 };
Sreenivasulu Chalam Charlabf7f6212012-10-17 22:10:24 +0530748};
Siddartha Mohanadosse9f24de2012-11-02 17:13:18 -0700749
Joonwoo Parkdf0d5a92012-12-12 14:08:32 -0800750&vph_pwr_vreg {
751 status = "ok";
752};
753
Tanya Finkel5f9a3d12013-01-05 01:25:17 +0200754&slim_msm {
755 taiko_codec {
Kiran Kandi294fc322013-05-15 13:10:18 -0700756 qcom,cdc-micbias1-ext-cap;
Tanya Finkel5f9a3d12013-01-05 01:25:17 +0200757 qcom,cdc-micbias2-ext-cap;
Kiran Kandi4041f7f2013-02-07 23:17:18 -0800758 qcom,cdc-micbias3-ext-cap;
Kiran Kandi294fc322013-05-15 13:10:18 -0700759 qcom,cdc-micbias4-ext-cap;
Joonwoo Parkdf0d5a92012-12-12 14:08:32 -0800760
761 /*
762 * Liquid has external spkrdrv supply. Give a dummy supply to
763 * make codec driver's happy.
764 */
765 cdc-vdd-spkdrv-supply = <&vph_pwr_vreg>;
766 qcom,cdc-vdd-spkdrv-voltage = <0 0>;
767 qcom,cdc-vdd-spkdrv-current = <0>;
768
769 qcom,cdc-on-demand-supplies = "cdc-vdd-spkdrv";
Tanya Finkel5f9a3d12013-01-05 01:25:17 +0200770 };
771};
772
Siddartha Mohanadosse9f24de2012-11-02 17:13:18 -0700773&spi_epm {
774 epm-adc@0 {
775 compatible = "cy,epm-adc-cy8c5568lti-114";
776 reg = <0>;
777 interrupt-parent = <&msmgpio>;
778 spi-max-frequency = <960000>;
779 qcom,channels = <31>;
Siddartha Mohanadossc4ae9c22013-06-24 17:11:25 -0700780 qcom,gain = <50 50 50 50 50 100 50 100 50 50
781 100 50 50 50 50 50 50 50 50 50
Siddartha Mohanadosse9f24de2012-11-02 17:13:18 -0700782 50 50 50 100 50 50 50 1 1 1
783 1>;
Siddartha Mohanadossc4ae9c22013-06-24 17:11:25 -0700784 qcom,rsense = <50 100 500 10 25 1000 40 200 200 5
785 500 500 75 10 5 25 33 75 25 200
786 10 25 33 100 10 10 3 1000 1000 1000
787 1000>;
Siddartha Mohanadosse9f24de2012-11-02 17:13:18 -0700788 qcom,channel-type = <0xf0000000>;
789 };
790};
Asaf Penso001cc3a2013-01-21 21:15:10 +0200791
David Collins73cdb632013-06-17 17:24:45 -0700792&pm8941_lsid1 {
793 qcom,leds@d000 {
794 qcom,rgb_2 {
795 status = "ok";
796 qcom,default-state = "on";
797 qcom,turn-off-delay-ms = <1000>;
Asaf Penso001cc3a2013-01-21 21:15:10 +0200798 };
799 };
800};
David Keitelf2170cc2013-02-20 17:49:03 -0800801
802&pm8941_chg {
803 status = "ok";
David Keitela2f8ef9a2013-05-16 19:32:52 -0700804 otg-parent-supply = <&ext_5v>;
David Keitelf2170cc2013-02-20 17:49:03 -0800805
David Keitele89d4782013-03-27 11:29:59 -0700806 qcom,charging-disabled;
David Keitelf2170cc2013-02-20 17:49:03 -0800807
David Keitele89d4782013-03-27 11:29:59 -0700808 qcom,chgr@1000 {
David Keitelf2170cc2013-02-20 17:49:03 -0800809 status = "ok";
810 };
811
David Keitele89d4782013-03-27 11:29:59 -0700812 qcom,buck@1100 {
David Keitelf2170cc2013-02-20 17:49:03 -0800813 status = "ok";
814 };
815
David Keitele89d4782013-03-27 11:29:59 -0700816 qcom,usb-chgpth@1300 {
David Keitelf2170cc2013-02-20 17:49:03 -0800817 status = "ok";
818 };
819
David Keitele89d4782013-03-27 11:29:59 -0700820 qcom,dc-chgpth@1400 {
Eugene Yasmanfc8ffd22013-06-27 13:21:15 +0300821 status = "disabled";
David Keitelf2170cc2013-02-20 17:49:03 -0800822 };
823
David Keitele89d4782013-03-27 11:29:59 -0700824 qcom,boost@1500 {
David Keitelf2170cc2013-02-20 17:49:03 -0800825 status = "ok";
826 };
827
828 qcom,chg-misc@1600 {
829 status = "ok";
830 };
831};
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700832
Venkat Gopalakrishnand446a122012-11-05 14:10:44 -0800833&sdcc1 {
834 status = "disabled";
835};
836
837&sdcc2 {
838 status = "disabled";
839};
840
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700841&sdhc_1 {
842 vdd-supply = <&pm8941_l20>;
843 vdd-io-supply = <&pm8941_s3>;
844
Sahitya Tummalad0fc2dd2013-03-27 10:34:35 +0530845 qcom,vdd-always-on;
846 qcom,vdd-lpm-sup;
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700847 qcom,vdd-voltage-level = <2950000 2950000>;
848 qcom,vdd-current-level = <800 500000>;
849
850 qcom,vdd-io-always-on;
851 qcom,vdd-io-voltage-level = <1800000 1800000>;
852 qcom,vdd-io-current-level = <250 154000>;
853
854 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
855 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
Krishna Konda6c5d0f42013-04-12 16:44:26 -0700856 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700857 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
858
859 qcom,nonremovable;
Venkat Gopalakrishnand446a122012-11-05 14:10:44 -0800860 status = "ok";
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700861};
862
863&sdhc_2 {
864 vdd-supply = <&pm8941_l21>;
865 vdd-io-supply = <&pm8941_l13>;
866
867 qcom,vdd-voltage-level = <2950000 2950000>;
868 qcom,vdd-current-level = <9000 800000>;
869
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700870 qcom,vdd-io-voltage-level = <1800000 2950000>;
871 qcom,vdd-io-current-level = <6 22000>;
872
873 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
874 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
Krishna Konda6c5d0f42013-04-12 16:44:26 -0700875 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700876 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
Venkat Gopalakrishnand446a122012-11-05 14:10:44 -0800877 status = "ok";
Venkat Gopalakrishnan9855edd2012-09-17 15:05:13 -0700878};
Krishna Konda6c5d0f42013-04-12 16:44:26 -0700879
880/* Drive strength recommendations for clock line from hardware team is 10 mA.
881 * But since the driver has been been using the below values from the start
882 * without any problems, continue to use those.
883 */
884&sdcc1 {
885 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
886};
887
888&sdcc2 {
889 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
890};
891
892&sdhc_1 {
893 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
894};
895
896&sdhc_2 {
897 qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */
898};