blob: e12bb64c8e32462afb9cc5b6f63d3f89418472a1 [file] [log] [blame]
Hanumant Singh2278ab32013-02-21 15:32:17 -08001/* 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/include/ "msm8226.dtsi"
Ray Zhang764496b2013-02-27 09:11:06 +080015/include/ "dsi-panel-nt35590-720p-video.dtsi"
Su Liue5bdf002013-03-22 15:33:41 -070016/include/ "msm8226-camera-sensor-cdp-mtp-qrd.dtsi"
Hanumant Singh2278ab32013-02-21 15:32:17 -080017
18/ {
19 model = "Qualcomm MSM 8226 MTP";
20 compatible = "qcom,msm8226-mtp", "qcom,msm8226";
Syed Rameez Mustafa64a1c672013-03-02 18:32:27 -080021 qcom,msm-id = <145 8 0>;
Hanumant Singh2278ab32013-02-21 15:32:17 -080022
23 serial@f991f000 {
Syed Rameez Mustafa96d52592013-03-02 19:21:49 -080024 status = "ok";
Hanumant Singh2278ab32013-02-21 15:32:17 -080025 };
Amy Maloche41708ba2013-03-03 15:19:27 -080026
Ray Zhang764496b2013-02-27 09:11:06 +080027 qcom,mdss_dsi_nt35590_720p_video {
28 status = "ok";
29 };
30
Amy Maloche41708ba2013-03-03 15:19:27 -080031 i2c@f9927000 { /* BLSP1 QUP5 */
32 synaptics@20 {
33 compatible = "synaptics,rmi4";
34 reg = <0x20>;
35 interrupt-parent = <&msmgpio>;
36 interrupts = <17 0x2>;
37 vdd-supply = <&pm8226_l19>;
38 vcc_i2c-supply = <&pm8226_lvs1>;
39 synaptics,reset-gpio = <&msmgpio 16 0x00>;
40 synaptics,irq-gpio = <&msmgpio 17 0x00>;
41 synaptics,button-map = <139 102 158>;
42 synaptics,i2c-pull-up;
43 synaptics,reg-en;
44 };
45 };
Amy Maloche24c59dd2013-03-05 11:43:55 -080046
47 gpio_keys {
48 compatible = "gpio-keys";
49 input-name = "gpio-keys";
50
51 camera_focus {
52 label = "camera_focus";
53 gpios = <&msmgpio 108 0x1>;
54 linux,input-type = <1>;
55 linux,code = <0x210>;
56 gpio-key,wakeup;
57 debounce-interval = <15>;
58 };
59
60 camera_snapshot {
61 label = "camera_snapshot";
62 gpios = <&msmgpio 107 0x1>;
63 linux,input-type = <1>;
64 linux,code = <0x2fe>;
65 gpio-key,wakeup;
66 debounce-interval = <15>;
67 };
68
69 vol_up {
70 label = "volume_up";
71 gpios = <&msmgpio 106 0x1>;
72 linux,input-type = <1>;
73 linux,code = <115>;
74 gpio-key,wakeup;
75 debounce-interval = <15>;
76 };
77 };
aiqunyb1e82f32013-03-13 15:35:53 -070078
79 spi@f9923000 {
80 ethernet-switch@3 {
81 compatible = "micrel,ks8851";
82 reg = <3>;
83 interrupt-parent = <&msmgpio>;
84 interrupts = <0 115 0>;
85 spi-max-frequency = <4800000>;
86 rst-gpio = <&msmgpio 114 0>;
87 vdd-io-supply = <&pm8226_lvs1>;
88 vdd-phy-supply = <&pm8226_lvs1>;
89 };
90 };
Bhalchandra Gajarecb0508d2013-03-07 17:33:14 -080091
92 sound {
Bhalchandra Gajareba5e89a2013-03-18 18:29:03 -070093 qcom,audio-routing =
94 "RX_BIAS", "MCLK",
95 "LDO_H", "MCLK",
96 "SPK_OUT", "MCLK",
97 "SPK_OUT", "EXT_VDD_SPKR",
98 "AMIC1", "MIC BIAS1 External",
99 "MIC BIAS1 External", "Handset Mic",
100 "AMIC2", "MIC BIAS2 External",
101 "MIC BIAS2 External", "Headset Mic",
102 "AMIC3", "MIC BIAS1 External",
103 "MIC BIAS1 External", "ANCRight Headset Mic",
104 "AMIC4", "MIC BIAS2 External",
105 "MIC BIAS2 External", "ANCLeft Headset Mic";
106
Bhalchandra Gajarecb0508d2013-03-07 17:33:14 -0800107 qcom,cdc-mclk-gpios = <&pm8226_gpios 1 0>;
Bhalchandra Gajareb5120842013-03-14 17:50:39 -0700108 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 2 0>;
Bhalchandra Gajarecb0508d2013-03-07 17:33:14 -0800109 };
Syed Rameez Mustafa64a1c672013-03-02 18:32:27 -0800110};
Krishna Konda0fb72092013-02-26 16:35:51 -0800111
112&sdcc1 {
113 vdd-supply = <&pm8226_l17>;
114 qcom,vdd-always-on;
115 qcom,vdd-lpm-sup;
116 qcom,vdd-voltage-level = <2950000 2950000>;
117 qcom,vdd-current-level = <800 500000>;
118
119 vdd-io-supply = <&pm8226_l6>;
120 qcom,vdd-io-always-on;
121 qcom,vdd-io-voltage-level = <1800000 1800000>;
122 qcom,vdd-io-current-level = <250 154000>;
123
124 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
125 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
126 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 16mA, 10mA, 10mA */
127 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
128
129 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
130 qcom,sup-voltages = <2950 2950>;
131
132 qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v";
133 qcom,nonremovable;
134
135 status = "ok";
136};
137
138&sdcc2 {
139 vdd-supply = <&pm8226_l18>;
140 qcom,vdd-voltage-level = <2950000 2950000>;
141 qcom,vdd-current-level = <9000 800000>;
142
143 vdd-io-supply = <&pm8226_l21>;
144 qcom,vdd-io-always-on;
145 qcom,vdd-io-lpm-sup;
146 qcom,vdd-io-voltage-level = <1800000 2950000>;
147 qcom,vdd-io-current-level = <6 22000>;
148
149 qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
150 qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */
151 qcom,pad-drv-on = <0x4 0x4 0x4>; /* 16mA, 10mA, 10mA */
152 qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */
153
154 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
155 qcom,sup-voltages = <2950 2950>;
156
157 qcom,xpc;
158 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
159 qcom,current-limit = <600>; #address-cells = <0>; interrupt-parent = <&sdcc2>;
160 interrupts = <0 1 2>;
161 #interrupt-cells = <1>;
162 interrupt-map-mask = <0xffffffff>;
163 interrupt-map = <0 &intc 0 125 0
164 1 &intc 0 220 0
165 2 &msmgpio 38 0x3>;
166 interrupt-names = "core_irq", "bam_irq", "status_irq";
167 cd-gpios = <&msmgpio 38 0x1>;
168
169 status = "ok";
170};
Amy Maloched699b942013-03-03 15:47:52 -0800171
172&spmi_bus {
173 qcom,pm8226@1 {
174 qcom,leds@d800 {
175 status = "okay";
176 qcom,wled_0 {
177 label = "wled";
178 linux,name = "wled:backlight";
179 linux,default-trigger = "bkl-trigger";
180 qcom,cs-out-en;
181 qcom,op-fdbck;
182 qcom,default-state = "on";
183 qcom,max-current = <25>;
184 qcom,ctrl-delay-us = <0>;
185 qcom,boost-curr-lim = <3>;
186 qcom,cp-sel = <0>;
187 qcom,switch-freq = <2>;
188 qcom,ovp-val = <2>;
189 qcom,num-strings = <1>;
190 qcom,id = <0>;
191 };
192 };
193 };
194};
David Keitel7f3f8252013-02-27 15:24:44 -0800195
196&pm8226_gpios {
197 gpio@c000 { /* GPIO 1 */
Bhalchandra Gajarecb0508d2013-03-07 17:33:14 -0800198 /* XO_PMIC_CDC_MCLK enable for tapan codec */
199 qcom,mode = <1>; /* Digital output */
200 qcom,output-type = <0>; /* CMOS logic */
201 qcom,pull = <5>; /* QPNP_PIN_PULL_NO*/
202 qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
203 qcom,out-strength = <3>;/* QPNP_PIN_OUT_STRENGTH_HIGH */
204 qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
205 qcom,master-en = <1>; /* Enable GPIO */
David Keitel7f3f8252013-02-27 15:24:44 -0800206 };
207
208 gpio@c100 { /* GPIO 2 */
Bhalchandra Gajareb5120842013-03-14 17:50:39 -0700209 qcom,mode = <1>;
210 qcom,output-type = <0>;
211 qcom,pull = <5>;
212 qcom,vin-sel = <2>;
213 qcom,out-strength = <3>;
214 qcom,src-sel = <2>;
215 qcom,master-en = <1>;
David Keitel7f3f8252013-02-27 15:24:44 -0800216 };
217
218 gpio@c200 { /* GPIO 3 */
219 };
220
221 gpio@c300 { /* GPIO 4 */
222 };
223
224 gpio@c400 { /* GPIO 5 */
225 };
226
227 gpio@c500 { /* GPIO 6 */
228 };
229
230 gpio@c600 { /* GPIO 7 */
231 };
232
233 gpio@c700 { /* GPIO 8 */
234 };
235};
236
237&pm8226_mpps {
238 mpp@a000 { /* MPP 1 */
239 };
240
241 mpp@a100 { /* MPP 2 */
242 };
243
244 mpp@a200 { /* MPP 3 */
245 };
246
247 mpp@a300 { /* MPP 4 */
248 };
249
250 mpp@a400 { /* MPP 5 */
Siddartha Mohanadossa38803a2013-03-06 10:25:48 -0800251 /* PA_THERM0 config */
252 qcom,mode = <4>; /* AIN input */
253 qcom,invert = <1>; /* Enable MPP */
254 qcom,ain-route = <0>; /* AMUX 5 */
255 qcom,master-en = <1>;
256 qcom,src-sel = <0>; /* Function constant */
David Keitel7f3f8252013-02-27 15:24:44 -0800257 };
258
259 mpp@a500 { /* MPP 6 */
260 };
261
262 mpp@a600 { /* MPP 7 */
263 };
264
265 mpp@a700 { /* MPP 8 */
Siddartha Mohanadossa38803a2013-03-06 10:25:48 -0800266 /* PA_THERM1 config */
267 qcom,mode = <4>; /* AIN input */
268 qcom,invert = <1>; /* Enable MPP */
269 qcom,ain-route = <3>; /* AMUX 8 */
270 qcom,master-en = <1>;
271 qcom,src-sel = <0>; /* Function constant */
David Keitel7f3f8252013-02-27 15:24:44 -0800272 };
273};
Siddartha Mohanadoss175a6c32013-03-06 10:47:08 -0800274
275&pm8226_vadc {
276 chan@14 {
277 label = "pa_therm0";
278 reg = <0x14>;
279 qcom,decimation = <0>;
280 qcom,pre-div-channel-scaling = <0>;
281 qcom,calibration-type = "ratiometric";
282 qcom,scale-function = <2>;
283 qcom,hw-settle-time = <2>;
284 qcom,fast-avg-setup = <0>;
285 };
286
287 chan@17 {
288 label = "pa_therm1";
289 reg = <0x17>;
290 qcom,decimation = <0>;
291 qcom,pre-div-channel-scaling = <0>;
292 qcom,calibration-type = "ratiometric";
293 qcom,scale-function = <2>;
294 qcom,hw-settle-time = <2>;
295 qcom,fast-avg-setup = <0>;
296 };
297};