blob: e1fe66aae9eae7a7e65ca3b8609569f11426f23e [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
13/dts-v1/;
14
15/include/ "msm8610.dtsi"
Xiaoming Zhou3727c4d2013-03-29 09:24:29 -040016/include/ "dsi-v2-panel-truly-wvga-video.dtsi"
Hanumant Singhce222232013-03-19 14:19:59 -070017
18/ {
19 model = "Qualcomm MSM 8610 MTP";
Stepan Moskovchenkoa971a752013-04-03 16:51:37 -070020 compatible = "qcom,msm8610-mtp", "qcom,msm8610", "qcom,mtp";
Abhimanyu Kapur35bc0842013-04-19 20:02:58 -070021 qcom,msm-id = <147 8 0>, <165 8 0>, <161 8 0>, <162 8 0>,
22 <163 8 0>, <164 8 0>, <166 8 0>;
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070023};
Hanumant Singhce222232013-03-19 14:19:59 -070024
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070025&soc {
David Ng1ecb8a12013-04-22 14:39:52 -070026 serial@f991e000 {
Hanumant Singhce222232013-03-19 14:19:59 -070027 status = "ok";
28 };
Chun Zhangf39a0652013-05-01 15:57:54 -070029
30 i2c@f9923000{
31 atmel_mxt_ts@4a {
32 compatible = "atmel,mxt-ts";
33 reg = <0x4a>;
34 interrupt-parent = <&msmgpio>;
35 interrupts = <1 0x2>;
36 vdd_ana-supply = <&pm8110_l19>;
37 vcc_i2c-supply = <&pm8110_l14>;
38 atmel,reset-gpio = <&msmgpio 0 0x00>;
39 atmel,irq-gpio = <&msmgpio 1 0x00>;
40 atmel,panel-coords = <0 0 508 880>;
41 atmel,display-coords = <0 0 480 800>;
42 atmel,i2c-pull-up;
43 atmel,no-force-update;
44 atmel,cfg_1 {
45 atmel,family-id = <0x81>;
46 atmel,variant-id = <0x15>;
47 atmel,version = <0x11>;
48 atmel,build = <0xaa>;
49 atmel,config = [
50 /* Object 6, Instance = 0 */
51 00 00 00 00 00 00
52 /* Object 38, Instance = 0 */
53 1D 01 00 0C 04 0D 00 00
54 /* Object 7, Instance = 0 */
55 20 08 32
56 /* Object 8, Instance = 0 */
57 19 00 14 14 FF 00 FF 00 00 00
58 /* Object 9, Instance = 0 */
59 83 00 00 13 0B 00 20 32 01 03
60 00 32 05 30 0A 05 0A 00 70 03
61 FC 01 00 36 2F 2C 00 00 40 00
62 00 0A 00 00 02
63 /* Object 18, Instance = 0 */
64 00 00
65 /* Object 19, Instance = 0 */
66 00 00 00 00 00 00
67 /* Object 25, Instance = 0 */
68 03 00 18 79 A8 61
69 /* Object 58, Instance = 0 */
70 00 00 00 00 00 00 00 00 00 00
71 00
72 /* Object 42, Instance = 0 */
73 00 00 00 00 00 00 00 00
74 /* Object 46, Instance = 0 */
75 04 03 08 10 00 00 00 00 00
76 /* Object 47, Instance = 0 */
77 00 00 00 00 00 00 00 00 00 00
78 /* Object 48, Instance = 0 */
79 00 00 00 00 00 00 00 00 00 00
80 00 00 00 00 00 00 00 00 00 00
81 00 00 00 00 00 00 00 00 00 00
82 00 00 00 00 00 00 00 00 00 00
83 00 00 00 00 00 00 00 00 00 00
84 00 00 00 00
85 /* Object 55, Instance = 0 */
86 00 00 00 00
87 ];
88 };
89 };
90 };
Chun Zhanga9508d82013-05-08 13:33:55 -070091
92 gen-vkeys {
93 compatible = "qcom,gen-vkeys";
94 label = "atmel_mxt_ts";
95 qcom,disp-maxx = <480>;
96 qcom,disp-maxy = <800>;
97 qcom,panel-maxx = <508>;
98 qcom,panel-maxy = <880>;
99 qcom,key-codes = <158 102 139>;
100 qcom,y-offset = <35>;
101 };
Chun Zhang59621fc2013-05-08 13:48:31 -0700102
103 gpio_keys {
104 compatible = "gpio-keys";
105 input-name = "gpio-keys";
106
107 camera_snapshot {
108 label = "camera_snapshot";
109 gpios = <&msmgpio 73 0x1>;
110 linux,input-type = <1>;
111 linux,code = <0x2fe>;
112 gpio-key,wakeup;
113 debounce-interval = <15>;
114 };
115
116 camera_focus {
117 label = "camera_focus";
118 gpios = <&msmgpio 74 0x1>;
119 linux,input-type = <1>;
120 linux,code = <0x210>;
121 gpio-key,wakeup;
122 debounce-interval = <15>;
123 };
124
125 vol_up {
126 label = "volume_up";
127 gpios = <&msmgpio 72 0x1>;
128 linux,input-type = <1>;
129 linux,code = <115>;
130 gpio-key,wakeup;
131 debounce-interval = <15>;
132 };
133 };
Hanumant Singhce222232013-03-19 14:19:59 -0700134};
135
Kuirong Wangc6d072c2013-01-29 10:33:03 -0800136&i2c_cdc {
137 msm8x10_wcd_codec@0d{
138 compatible = "qcom,msm8x10-wcd-i2c";
139 reg = <0x0d>;
140 cdc-vdda-cp-supply = <&pm8110_s4>;
141 qcom,cdc-vdda-cp-voltage = <2150000 2150000>;
142 qcom,cdc-vdda-cp-current = <650000>;
143
144 cdc-vdda-h-supply = <&pm8110_l6>;
145 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
146 qcom,cdc-vdda-h-current = <250000>;
147
148 cdc-vdd-px-supply = <&pm8110_l6>;
149 qcom,cdc-vdd-px-voltage = <1800000 1800000>;
150 qcom,cdc-vdd-px-current = <10000>;
151
152 cdc-vdd-1p2v-supply = <&pm8110_l4>;
153 qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>;
154 qcom,cdc-vdd-1p2v-current = <5000>;
155
156 cdc-vdd-mic-bias-supply = <&pm8110_l20>;
157 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
158 qcom,cdc-vdd-mic-bias-current = <25000>;
159
160 qcom,cdc-micbias-cfilt-sel = <0x0>;
161 qcom,cdc-micbias-cfilt-mv = <1800000>;
162 qcom,cdc-mclk-clk-rate = <12288000>;
163 };
164
165 msm8x10_wcd_codec@77{
166 compatible = "qcom,msm8x10-wcd-i2c";
167 reg = <0x77>;
168 };
169
170 msm8x10_wcd_codec@66{
171 compatible = "qcom,msm8x10-wcd-i2c";
172 reg = <0x66>;
173 };
174
175 msm8x10_wcd_codec@55{
176 compatible = "qcom,msm8x10-wcd-i2c";
177 reg = <0x55>;
178 };
179};
180
Amy Maloche9a113c12013-04-11 19:46:20 -0700181&spmi_bus {
182 qcom,pm8110@0 {
Chun Zhang9e808b82013-04-18 15:38:18 -0700183 qcom,leds@a100 {
184 status = "okay";
185 qcom,led_mpp_2 {
186 label = "mpp";
187 linux,name = "button-backlight";
188 linux-default-trigger = "hr-trigger";
189 qcom,default-state = "off";
190 qcom,max-current = <40>;
191 qcom,id = <6>;
192 qcom,source-sel = <1>;
193 qcom,mode-ctrl = <0x60>;
194 };
195 };
196
Amy Maloche9a113c12013-04-11 19:46:20 -0700197 qcom,leds@a200 {
198 status = "okay";
199 qcom,led_mpp_3 {
200 label = "mpp";
201 linux,name = "wled-backlight";
Chun Zhang970bf5d2013-04-23 13:58:25 -0700202 linux,default-trigger = "bkl-trigger";
Amy Maloche9a113c12013-04-11 19:46:20 -0700203 qcom,default-state = "on";
204 qcom,max-current = <40>;
205 qcom,id = <6>;
206 qcom,source-sel = <1>;
207 qcom,mode-ctrl = <0x10>;
208 };
209 };
210 };
211};
212
Linux Build Service Accountc9771c62013-05-02 14:18:17 -0700213&spmi_bus {
Chun Zhang3450f832013-04-15 11:46:29 -0700214 qcom,pm8110@1 {
215 qcom,vibrator@c000 {
216 status = "okay";
217 qcom,vib-timeout-ms = <15000>;
218 qcom,vib-vtg-level-mV = <3100>;
219 };
220 };
221};
222
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700223&sdhc_1 {
224 vdd-supply = <&pm8110_l17>;
225 qcom,vdd-always-on;
226 qcom,vdd-lpm-sup;
227 qcom,vdd-voltage-level = <2900000 2900000>;
228 qcom,vdd-current-level = <200 400000>;
229
230 vdd-io-supply = <&pm8110_l6>;
231 qcom,vdd-io-always-on;
232 qcom,vdd-io-voltage-level = <1800000 1800000>;
233 qcom,vdd-io-current-level = <200 60000>;
234
235 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
236 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
237 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
238 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
239
240 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
241 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
242 qcom,nonremovable;
243
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700244 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700245};
246
247&sdhc_2 {
248 vdd-supply = <&pm8110_l18>;
249 qcom,vdd-voltage-level = <2950000 2950000>;
250 qcom,vdd-current-level = <15000 400000>;
251
252 vdd-io-supply = <&pm8110_l21>;
253 qcom,vdd-io-always-on;
254 qcom,vdd-io-lpm-sup;
255 qcom,vdd-io-voltage-level = <1800000 2950000>;
256 qcom,vdd-io-current-level = <200 50000>;
257
258 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
259 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
260 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */
261 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
262
263 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
264
265 #address-cells = <0>;
266 interrupt-parent = <&sdhc_2>;
267 interrupts = <0 1 2>;
268 #interrupt-cells = <1>;
269 interrupt-map-mask = <0xffffffff>;
270 interrupt-map = <0 &intc 0 125 0
271 1 &intc 0 221 0
272 2 &msmgpio 42 0x3>;
273 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
274 cd-gpios = <&msmgpio 42 0x1>;
275
Venkat Gopalakrishnan587b2252013-04-05 12:16:50 -0700276 status = "ok";
Venkat Gopalakrishnana6ce5f22013-04-04 14:24:57 -0700277};
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700278
279&pm8110_chg {
280 status = "ok";
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700281 qcom,charging-disabled;
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700282
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700283 qcom,chgr@1000 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700284 status = "ok";
285 };
286
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700287 qcom,buck@1100 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700288 status = "ok";
289 };
290
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700291 qcom,bat-if@1200 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700292 status = "ok";
293 };
294
Xiaozhe Shi8bc042a2013-04-18 15:44:08 -0700295 qcom,usb-chgpth@1300 {
Xiaozhe Shif7d9daf2013-04-08 15:29:55 -0700296 status = "ok";
297 };
298
299 qcom,chg-misc@1600 {
300 status = "ok";
301 };
302};
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700303
304&pm8110_gpios {
305 gpio@c000 { /* GPIO 1 */
306 };
307
308 gpio@c100 { /* GPIO 2 */
309 };
310
311 gpio@c200 { /* GPIO 3 */
312 };
313
314 gpio@c300 { /* GPIO 4 */
315 };
316};
317
318&pm8110_mpps {
319 mpp@a000 { /* MPP 1 */
320 };
321
322 mpp@a100 { /* MPP 2 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700323 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700324 };
325
326 mpp@a200 { /* MPP 3 */
Chun Zhangd0c63be2013-04-26 10:45:02 -0700327 status = "disabled";
Xiaozhe Shi3e3c5692013-04-24 10:36:32 -0700328 };
329
330 mpp@a300 { /* MPP 4 */
331 };
332};
Xiaozhe Shi294c7e22013-04-17 14:59:15 -0700333
334&pm8110_bms {
335 status = "ok";
336};