1#include <dt-bindings/input/input.h>
2
3#include "qcom-msm8960.dtsi"
4
5/ {
6	model = "Qualcomm MSM8960 CDP";
7	compatible = "qcom,msm8960-cdp", "qcom,msm8960";
8
9	aliases {
10		serial0 = &gsbi5_serial;
11	};
12
13	chosen {
14		stdout-path = "serial0:115200n8";
15	};
16
17	soc {
18		gsbi@16400000 {
19			status = "ok";
20			qcom,mode = <GSBI_PROT_I2C_UART>;
21			serial@16440000 {
22				status = "ok";
23			};
24		};
25
26		amba {
27			/* eMMC */
28			sdcc1: sdcc@12400000 {
29				status = "okay";
30			};
31
32			/* External micro SD card */
33			sdcc3: sdcc@12180000 {
34				status = "okay";
35			};
36		};
37
38		rpm@108000 {
39			regulators {
40				compatible = "qcom,rpm-pm8921-regulators";
41				vin_lvs1_3_6-supply = <&pm8921_s4>;
42				vin_lvs2-supply = <&pm8921_s4>;
43				vin_lvs4_5_7-supply = <&pm8921_s4>;
44				vdd_ncp-supply = <&pm8921_l6>;
45				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
46				vdd_l21_l23_l29-supply = <&pm8921_s8>;
47				vdd_l24-supply = <&pm8921_s1>;
48				vdd_l25-supply = <&pm8921_s1>;
49				vdd_l27-supply = <&pm8921_s7>;
50				vdd_l28-supply = <&pm8921_s7>;
51
52				/* Buck SMPS */
53				pm8921_s1: s1 {
54					regulator-always-on;
55					regulator-min-microvolt = <1225000>;
56					regulator-max-microvolt = <1225000>;
57					qcom,switch-mode-frequency = <3200000>;
58					bias-pull-down;
59				};
60
61				pm8921_s2: s2 {
62					regulator-min-microvolt = <1300000>;
63					regulator-max-microvolt = <1300000>;
64					qcom,switch-mode-frequency = <1600000>;
65					bias-pull-down;
66				};
67
68				pm8921_s3: s3 {
69					regulator-min-microvolt = <500000>;
70					regulator-max-microvolt = <1150000>;
71					qcom,switch-mode-frequency = <4800000>;
72					bias-pull-down;
73				};
74
75				pm8921_s4: s4 {
76					regulator-always-on;
77					regulator-min-microvolt = <1800000>;
78					regulator-max-microvolt = <1800000>;
79					qcom,switch-mode-frequency = <1600000>;
80					bias-pull-down;
81					qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
82				};
83
84				pm8921_s7: s7 {
85					regulator-min-microvolt = <1150000>;
86					regulator-max-microvolt = <1150000>;
87					qcom,switch-mode-frequency = <3200000>;
88					bias-pull-down;
89				};
90
91				pm8921_s8: s8 {
92					regulator-always-on;
93					regulator-min-microvolt = <2050000>;
94					regulator-max-microvolt = <2050000>;
95					qcom,switch-mode-frequency = <1600000>;
96					bias-pull-down;
97				};
98
99				/* PMOS LDO */
100				pm8921_l1: l1 {
101					regulator-always-on;
102					regulator-min-microvolt = <1050000>;
103					regulator-max-microvolt = <1050000>;
104					bias-pull-down;
105				};
106
107				pm8921_l2: l2 {
108					regulator-min-microvolt = <1200000>;
109					regulator-max-microvolt = <1200000>;
110					bias-pull-down;
111				};
112
113				pm8921_l3: l3 {
114					regulator-min-microvolt = <3075000>;
115					regulator-max-microvolt = <3075000>;
116					bias-pull-down;
117				};
118
119				pm8921_l4: l4 {
120					regulator-always-on;
121					regulator-min-microvolt = <1800000>;
122					regulator-max-microvolt = <1800000>;
123					bias-pull-down;
124				};
125
126				pm8921_l5: l5 {
127					regulator-min-microvolt = <2950000>;
128					regulator-max-microvolt = <2950000>;
129					bias-pull-down;
130				};
131
132				pm8921_l6: l6 {
133					regulator-min-microvolt = <2950000>;
134					regulator-max-microvolt = <2950000>;
135					bias-pull-down;
136				};
137
138				pm8921_l7: l7 {
139					regulator-always-on;
140					regulator-min-microvolt = <1850000>;
141					regulator-max-microvolt = <2950000>;
142					bias-pull-down;
143				};
144
145				pm8921_l8: l8 {
146					regulator-min-microvolt = <2800000>;
147					regulator-max-microvolt = <3000000>;
148					bias-pull-down;
149				};
150
151				pm8921_l9: l9 {
152					regulator-min-microvolt = <3000000>;
153					regulator-max-microvolt = <3000000>;
154					bias-pull-down;
155				};
156
157				pm8921_l10: l10 {
158					regulator-min-microvolt = <3000000>;
159					regulator-max-microvolt = <3000000>;
160					bias-pull-down;
161				};
162
163				pm8921_l11: l11 {
164					regulator-min-microvolt = <2850000>;
165					regulator-max-microvolt = <2850000>;
166					bias-pull-down;
167				};
168
169				pm8921_l12: l12 {
170					regulator-min-microvolt = <1200000>;
171					regulator-max-microvolt = <1200000>;
172					bias-pull-down;
173				};
174
175				pm8921_l14: l14 {
176					regulator-min-microvolt = <1800000>;
177					regulator-max-microvolt = <1800000>;
178					bias-pull-down;
179				};
180
181				pm8921_l15: l15 {
182					regulator-min-microvolt = <1800000>;
183					regulator-max-microvolt = <2950000>;
184					bias-pull-down;
185				};
186
187				pm8921_l16: l16 {
188					regulator-min-microvolt = <2800000>;
189					regulator-max-microvolt = <2800000>;
190					bias-pull-down;
191				};
192
193				pm8921_l17: l17 {
194					regulator-min-microvolt = <1800000>;
195					regulator-max-microvolt = <2950000>;
196					bias-pull-down;
197				};
198
199				pm8921_l18: l18 {
200					regulator-min-microvolt = <1300000>;
201					regulator-max-microvolt = <1300000>;
202					bias-pull-down;
203				};
204
205				pm8921_l21: l21 {
206					regulator-min-microvolt = <1900000>;
207					regulator-max-microvolt = <1900000>;
208					bias-pull-down;
209				};
210
211				pm8921_l22: l22 {
212					regulator-min-microvolt = <2750000>;
213					regulator-max-microvolt = <2750000>;
214					bias-pull-down;
215				};
216
217				pm8921_l23: l23 {
218					regulator-always-on;
219					regulator-min-microvolt = <1800000>;
220					regulator-max-microvolt = <1800000>;
221					bias-pull-down;
222				};
223
224				pm8921_l24: l24 {
225					regulator-min-microvolt = <750000>;
226					regulator-max-microvolt = <1150000>;
227					bias-pull-down;
228				};
229
230				pm8921_l25: l25 {
231					regulator-always-on;
232					regulator-min-microvolt = <1250000>;
233					regulator-max-microvolt = <1250000>;
234					bias-pull-down;
235				};
236
237				/* Low Voltage Switch */
238				pm8921_lvs1: lvs1 {
239					bias-pull-down;
240				};
241
242				pm8921_lvs2: lvs2 {
243					bias-pull-down;
244				};
245
246				pm8921_lvs3: lvs3 {
247					bias-pull-down;
248				};
249
250				pm8921_lvs4: lvs4 {
251					bias-pull-down;
252				};
253
254				pm8921_lvs5: lvs5 {
255					bias-pull-down;
256				};
257
258				pm8921_lvs6: lvs6 {
259					bias-pull-down;
260				};
261
262				pm8921_lvs7: lvs7 {
263					bias-pull-down;
264				};
265
266				pm8921_ncp: ncp {
267					regulator-min-microvolt = <1800000>;
268					regulator-max-microvolt = <1800000>;
269					qcom,switch-mode-frequency = <1600000>;
270				};
271			};
272		};
273
274		gsbi@16000000 {
275			status = "ok";
276			qcom,mode = <GSBI_PROT_SPI>;
277			pinctrl-names = "default";
278			pinctrl-0 = <&spi1_default>;
279			spi@16080000 {
280				status = "ok";
281				eth@0 {
282					compatible = "micrel,ks8851";
283					reg = <0>;
284					interrupt-parent = <&msmgpio>;
285					interrupts = <90 8>;
286					spi-max-frequency = <5400000>;
287					vdd-supply = <&ext_l2>;
288					vdd-io-supply = <&pm8921_lvs6>;
289					reset-gpios = <&msmgpio 89 0>;
290				};
291			};
292		};
293
294		pinctrl@800000 {
295			spi1_default: spi1_default {
296				mux {
297					pins = "gpio6", "gpio7", "gpio9";
298					function = "gsbi1";
299				};
300
301				mosi {
302					pins = "gpio6";
303					drive-strength = <12>;
304					bias-disable;
305				};
306
307				miso {
308					pins = "gpio7";
309					drive-strength = <12>;
310					bias-disable;
311				};
312
313				cs {
314					pins = "gpio8";
315					drive-strength = <12>;
316					bias-disable;
317					output-low;
318				};
319
320				clk {
321					pins = "gpio9";
322					drive-strength = <12>;
323					bias-disable;
324				};
325			};
326		};
327	};
328
329	regulators {
330		compatible = "simple-bus";
331
332		ext_l2: gpio-regulator@91 {
333			compatible = "regulator-fixed";
334			regulator-name = "ext_l2";
335			gpio = <&msmgpio 91 0>;
336			startup-delay-us = <10000>;
337			enable-active-high;
338		};
339	};
340};
341
342&pmicintc {
343	keypad@148 {
344		linux,keymap = <
345			MATRIX_KEY(0, 0, KEY_VOLUMEUP)
346			MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
347			MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
348			MATRIX_KEY(0, 3, KEY_CAMERA)
349			>;
350		keypad,num-rows = <1>;
351		keypad,num-columns = <5>;
352	};
353};
354