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