Commit | Line | Data |
---|---|---|
2b01dda1 RG |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | #include <dt-bindings/input/input.h> | |
5c903b85 | 3 | #include <dt-bindings/reset/qcom,gcc-msm8960.h> |
2b01dda1 RG |
4 | |
5 | #include "qcom-msm8960.dtsi" | |
5c903b85 | 6 | #include "pm8921.dtsi" |
8d909805 RG |
7 | #include <dt-bindings/gpio/gpio.h> |
8 | #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> | |
9 | #include <dt-bindings/input/gpio-keys.h> | |
2b01dda1 RG |
10 | |
11 | / { | |
12 | model = "Samsung Galaxy Express SGH-I437"; | |
13 | compatible = "samsung,expressatt", "qcom,msm8960"; | |
14 | chassis-type = "handset"; | |
15 | ||
16 | aliases { | |
17 | serial0 = &gsbi5_serial; | |
18 | mmc0 = &sdcc1; /* SDCC1 eMMC slot */ | |
19 | mmc1 = &sdcc3; /* SDCC3 SD card slot */ | |
20 | }; | |
21 | ||
22 | chosen { | |
23 | stdout-path = "serial0:115200n8"; | |
24 | }; | |
8d909805 RG |
25 | |
26 | gpio-keys { | |
27 | compatible = "gpio-keys"; | |
28 | ||
29 | pinctrl-names = "default"; | |
30 | pinctrl-0 = <&gpio_keys_pin_a>; | |
31 | ||
32 | key-home { | |
33 | label = "Home"; | |
34 | gpios = <&msmgpio 40 GPIO_ACTIVE_LOW>; | |
35 | debounce-interval = <5>; | |
36 | linux,code = <KEY_HOMEPAGE>; | |
37 | wakeup-event-action = <EV_ACT_ASSERTED>; | |
38 | wakeup-source; | |
39 | }; | |
40 | ||
41 | key-volume-up { | |
42 | label = "Volume Up"; | |
43 | gpios = <&msmgpio 50 GPIO_ACTIVE_LOW>; | |
44 | debounce-interval = <5>; | |
45 | linux,code = <KEY_VOLUMEUP>; | |
46 | }; | |
47 | ||
48 | key-volume-down { | |
49 | label = "Volume Down"; | |
50 | gpios = <&msmgpio 81 GPIO_ACTIVE_LOW>; | |
51 | debounce-interval = <5>; | |
52 | linux,code = <KEY_VOLUMEDOWN>; | |
53 | }; | |
54 | }; | |
2b01dda1 RG |
55 | }; |
56 | ||
57 | &gsbi5 { | |
58 | qcom,mode = <GSBI_PROT_I2C_UART>; | |
59 | status = "okay"; | |
60 | }; | |
61 | ||
62 | &gsbi5_serial { | |
63 | status = "okay"; | |
64 | }; | |
65 | ||
66 | &sdcc1 { | |
67 | vmmc-supply = <&pm8921_l5>; | |
68 | status = "okay"; | |
69 | }; | |
70 | ||
71 | &sdcc3 { | |
72 | vmmc-supply = <&pm8921_l6>; | |
73 | vqmmc-supply = <&pm8921_l7>; | |
74 | status = "okay"; | |
75 | }; | |
76 | ||
77 | &gsbi1 { | |
78 | qcom,mode = <GSBI_PROT_SPI>; | |
79 | pinctrl-0 = <&spi1_default>; | |
80 | pinctrl-names = "default"; | |
81 | status = "okay"; | |
82 | }; | |
83 | ||
84 | &gsbi1_spi { | |
85 | status = "okay"; | |
86 | }; | |
87 | ||
5936ee21 RG |
88 | &gsbi3 { |
89 | qcom,mode = <GSBI_PROT_I2C>; | |
90 | status = "okay"; | |
91 | }; | |
92 | ||
93 | &gsbi3_i2c { | |
94 | status = "okay"; | |
95 | ||
96 | // Atmel mXT224S touchscreen | |
97 | touchscreen@4a { | |
98 | compatible = "atmel,maxtouch"; | |
99 | reg = <0x4a>; | |
100 | interrupt-parent = <&msmgpio>; | |
101 | interrupts = <11 IRQ_TYPE_EDGE_FALLING>; | |
102 | vdda-supply = <&pm8921_lvs6>; | |
103 | vdd-supply = <&pm8921_l17>; | |
104 | pinctrl-names = "default"; | |
105 | pinctrl-0 = <&touchscreen>; | |
106 | }; | |
107 | }; | |
108 | ||
2b01dda1 RG |
109 | &msmgpio { |
110 | spi1_default: spi1-default-state { | |
111 | mosi-pins { | |
112 | pins = "gpio6"; | |
113 | function = "gsbi1"; | |
114 | drive-strength = <12>; | |
115 | bias-disable; | |
116 | }; | |
117 | ||
118 | miso-pins { | |
119 | pins = "gpio7"; | |
120 | function = "gsbi1"; | |
121 | drive-strength = <12>; | |
122 | bias-disable; | |
123 | }; | |
124 | ||
125 | cs-pins { | |
126 | pins = "gpio8"; | |
127 | function = "gsbi1"; | |
128 | drive-strength = <12>; | |
129 | bias-disable; | |
130 | output-low; | |
131 | }; | |
132 | ||
133 | clk-pins { | |
134 | pins = "gpio9"; | |
135 | function = "gsbi1"; | |
136 | drive-strength = <12>; | |
137 | bias-disable; | |
138 | }; | |
139 | }; | |
8d909805 RG |
140 | |
141 | gpio_keys_pin_a: gpio-keys-active-state { | |
142 | pins = "gpio40", "gpio50", "gpio81"; | |
143 | function = "gpio"; | |
144 | drive-strength = <8>; | |
145 | bias-disable; | |
146 | }; | |
5936ee21 RG |
147 | |
148 | touchscreen: touchscreen-int-state { | |
149 | pins = "gpio11"; | |
150 | function = "gpio"; | |
151 | output-enable; | |
152 | bias-disable; | |
153 | drive-strength = <2>; | |
154 | }; | |
2b01dda1 RG |
155 | }; |
156 | ||
31c4b741 DB |
157 | &pm8921 { |
158 | interrupts-extended = <&msmgpio 104 IRQ_TYPE_LEVEL_LOW>; | |
159 | }; | |
160 | ||
2b01dda1 RG |
161 | &rpm { |
162 | regulators { | |
163 | compatible = "qcom,rpm-pm8921-regulators"; | |
164 | vin_lvs1_3_6-supply = <&pm8921_s4>; | |
165 | vin_lvs2-supply = <&pm8921_s4>; | |
166 | vin_lvs4_5_7-supply = <&pm8921_s4>; | |
167 | vdd_ncp-supply = <&pm8921_l6>; | |
168 | vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; | |
169 | vdd_l21_l23_l29-supply = <&pm8921_s8>; | |
170 | vdd_l24-supply = <&pm8921_s1>; | |
171 | vdd_l25-supply = <&pm8921_s1>; | |
172 | vdd_l27-supply = <&pm8921_s7>; | |
173 | vdd_l28-supply = <&pm8921_s7>; | |
174 | ||
175 | /* Buck SMPS */ | |
176 | pm8921_s1: s1 { | |
177 | regulator-always-on; | |
178 | regulator-min-microvolt = <1225000>; | |
179 | regulator-max-microvolt = <1225000>; | |
180 | qcom,switch-mode-frequency = <3200000>; | |
181 | bias-pull-down; | |
182 | }; | |
183 | ||
184 | pm8921_s2: s2 { | |
185 | regulator-min-microvolt = <1300000>; | |
186 | regulator-max-microvolt = <1300000>; | |
187 | qcom,switch-mode-frequency = <1600000>; | |
188 | bias-pull-down; | |
189 | }; | |
190 | ||
191 | pm8921_s3: s3 { | |
192 | regulator-min-microvolt = <500000>; | |
193 | regulator-max-microvolt = <1150000>; | |
194 | qcom,switch-mode-frequency = <4800000>; | |
195 | bias-pull-down; | |
196 | }; | |
197 | ||
198 | pm8921_s4: s4 { | |
199 | regulator-always-on; | |
200 | regulator-min-microvolt = <1800000>; | |
201 | regulator-max-microvolt = <1800000>; | |
202 | qcom,switch-mode-frequency = <1600000>; | |
203 | bias-pull-down; | |
204 | qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; | |
205 | }; | |
206 | ||
207 | pm8921_s7: s7 { | |
208 | regulator-min-microvolt = <1150000>; | |
209 | regulator-max-microvolt = <1150000>; | |
210 | qcom,switch-mode-frequency = <3200000>; | |
211 | bias-pull-down; | |
212 | }; | |
213 | ||
214 | pm8921_s8: s8 { | |
215 | regulator-always-on; | |
216 | regulator-min-microvolt = <2050000>; | |
217 | regulator-max-microvolt = <2050000>; | |
218 | qcom,switch-mode-frequency = <1600000>; | |
219 | bias-pull-down; | |
220 | }; | |
221 | ||
222 | /* PMOS LDO */ | |
223 | pm8921_l1: l1 { | |
224 | regulator-always-on; | |
225 | regulator-min-microvolt = <1050000>; | |
226 | regulator-max-microvolt = <1050000>; | |
227 | bias-pull-down; | |
228 | }; | |
229 | ||
230 | pm8921_l2: l2 { | |
231 | regulator-min-microvolt = <1200000>; | |
232 | regulator-max-microvolt = <1200000>; | |
233 | bias-pull-down; | |
234 | }; | |
235 | ||
236 | pm8921_l3: l3 { | |
237 | regulator-min-microvolt = <3075000>; | |
238 | regulator-max-microvolt = <3300000>; | |
239 | bias-pull-down; | |
240 | }; | |
241 | ||
242 | pm8921_l4: l4 { | |
243 | regulator-always-on; | |
244 | regulator-min-microvolt = <1800000>; | |
245 | regulator-max-microvolt = <1800000>; | |
246 | bias-pull-down; | |
247 | }; | |
248 | ||
249 | pm8921_l5: l5 { | |
250 | regulator-min-microvolt = <2950000>; | |
251 | regulator-max-microvolt = <2950000>; | |
252 | bias-pull-down; | |
253 | }; | |
254 | ||
255 | pm8921_l6: l6 { | |
256 | regulator-min-microvolt = <2950000>; | |
257 | regulator-max-microvolt = <2950000>; | |
258 | bias-pull-down; | |
259 | }; | |
260 | ||
261 | pm8921_l7: l7 { | |
262 | regulator-always-on; | |
263 | regulator-min-microvolt = <1850000>; | |
264 | regulator-max-microvolt = <2950000>; | |
265 | bias-pull-down; | |
266 | }; | |
267 | ||
268 | pm8921_l8: l8 { | |
269 | regulator-min-microvolt = <3000000>; | |
270 | regulator-max-microvolt = <3100000>; | |
271 | bias-pull-down; | |
272 | }; | |
273 | ||
274 | pm8921_l9: l9 { | |
275 | regulator-min-microvolt = <2850000>; | |
276 | regulator-max-microvolt = <2850000>; | |
277 | bias-pull-down; | |
278 | }; | |
279 | ||
280 | pm8921_l10: l10 { | |
281 | regulator-min-microvolt = <3000000>; | |
282 | regulator-max-microvolt = <3000000>; | |
283 | bias-pull-down; | |
284 | }; | |
285 | ||
286 | pm8921_l11: l11 { | |
287 | regulator-min-microvolt = <2800000>; | |
288 | regulator-max-microvolt = <3300000>; | |
289 | bias-pull-down; | |
290 | }; | |
291 | ||
292 | pm8921_l12: l12 { | |
293 | regulator-min-microvolt = <1200000>; | |
294 | regulator-max-microvolt = <1200000>; | |
295 | bias-pull-down; | |
296 | }; | |
297 | ||
298 | pm8921_l14: l14 { | |
299 | regulator-min-microvolt = <1800000>; | |
300 | regulator-max-microvolt = <1800000>; | |
301 | bias-pull-down; | |
302 | }; | |
303 | ||
304 | pm8921_l15: l15 { | |
305 | regulator-min-microvolt = <1800000>; | |
306 | regulator-max-microvolt = <2950000>; | |
307 | bias-pull-down; | |
308 | }; | |
309 | ||
310 | pm8921_l16: l16 { | |
311 | regulator-min-microvolt = <2800000>; | |
312 | regulator-max-microvolt = <3000000>; | |
313 | bias-pull-down; | |
314 | }; | |
315 | ||
316 | pm8921_l17: l17 { | |
5936ee21 | 317 | regulator-min-microvolt = <3300000>; |
2b01dda1 RG |
318 | regulator-max-microvolt = <3300000>; |
319 | bias-pull-down; | |
320 | }; | |
321 | ||
322 | pm8921_l18: l18 { | |
323 | regulator-min-microvolt = <1200000>; | |
324 | regulator-max-microvolt = <1500000>; | |
325 | bias-pull-down; | |
326 | }; | |
327 | ||
328 | pm8921_l21: l21 { | |
329 | regulator-min-microvolt = <1900000>; | |
330 | regulator-max-microvolt = <1900000>; | |
331 | bias-pull-down; | |
332 | }; | |
333 | ||
334 | pm8921_l22: l22 { | |
335 | regulator-min-microvolt = <2750000>; | |
336 | regulator-max-microvolt = <2750000>; | |
337 | bias-pull-down; | |
338 | }; | |
339 | ||
340 | pm8921_l23: l23 { | |
341 | regulator-always-on; | |
342 | regulator-min-microvolt = <1800000>; | |
343 | regulator-max-microvolt = <1800000>; | |
344 | bias-pull-down; | |
345 | }; | |
346 | ||
347 | pm8921_l24: l24 { | |
348 | regulator-min-microvolt = <750000>; | |
349 | regulator-max-microvolt = <1150000>; | |
350 | bias-pull-down; | |
351 | }; | |
352 | ||
353 | pm8921_l25: l25 { | |
354 | regulator-always-on; | |
355 | regulator-min-microvolt = <1225000>; | |
356 | regulator-max-microvolt = <1225000>; | |
357 | bias-pull-down; | |
358 | }; | |
359 | ||
360 | /* Low Voltage Switch */ | |
361 | pm8921_lvs1: lvs1 { | |
362 | bias-pull-down; | |
363 | }; | |
364 | ||
365 | pm8921_lvs2: lvs2 { | |
366 | bias-pull-down; | |
367 | }; | |
368 | ||
369 | pm8921_lvs3: lvs3 { | |
370 | bias-pull-down; | |
371 | }; | |
372 | ||
373 | pm8921_lvs4: lvs4 { | |
374 | bias-pull-down; | |
375 | }; | |
376 | ||
377 | pm8921_lvs5: lvs5 { | |
378 | bias-pull-down; | |
379 | }; | |
380 | ||
381 | pm8921_lvs6: lvs6 { | |
382 | bias-pull-down; | |
383 | }; | |
384 | ||
385 | pm8921_lvs7: lvs7 { | |
386 | bias-pull-down; | |
387 | }; | |
388 | ||
389 | pm8921_ncp: ncp { | |
390 | regulator-min-microvolt = <1800000>; | |
391 | regulator-max-microvolt = <1800000>; | |
392 | qcom,switch-mode-frequency = <1600000>; | |
393 | }; | |
394 | }; | |
395 | }; | |
396 | ||
397 | &usb_hs1_phy { | |
398 | v3p3-supply = <&pm8921_l3>; | |
399 | v1p8-supply = <&pm8921_l4>; | |
400 | }; | |
401 | ||
402 | &usb1 { | |
403 | dr_mode = "otg"; | |
404 | status = "okay"; | |
405 | }; |