xref: /freebsd/sys/contrib/device-tree/src/arm/qcom/qcom-mdm9615-wp8548.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ OR MIT
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Device Tree Source for Sierra Wireless WP8548 Module
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Copyright (C) 2016 BayLibre, SAS.
6f126890aSEmmanuel Vadot * Author : Neil Armstrong <narmstrong@baylibre.com>
7f126890aSEmmanuel Vadot */
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot#include "qcom-mdm9615.dtsi"
10*8d13bc63SEmmanuel Vadot#include "pm8018.dtsi"
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot/ {
13f126890aSEmmanuel Vadot	model = "Sierra Wireless WP8548 Module";
14f126890aSEmmanuel Vadot	compatible = "swir,wp8548", "qcom,mdm9615";
15f126890aSEmmanuel Vadot
16f126890aSEmmanuel Vadot	memory@48000000 {
17f126890aSEmmanuel Vadot		device_type = "memory";
18f126890aSEmmanuel Vadot		reg = <0x48000000 0x7F00000>;
19f126890aSEmmanuel Vadot	};
20f126890aSEmmanuel Vadot};
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadot&msmgpio {
23f126890aSEmmanuel Vadot	pinctrl-0 = <&reset_out_pins>;
24f126890aSEmmanuel Vadot	pinctrl-names = "default";
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot	gsbi3_pins: gsbi3-state {
27f126890aSEmmanuel Vadot		gsbi3-pins {
28f126890aSEmmanuel Vadot			pins = "gpio8", "gpio9", "gpio10", "gpio11";
29f126890aSEmmanuel Vadot			function = "gsbi3";
30f126890aSEmmanuel Vadot			drive-strength = <8>;
31f126890aSEmmanuel Vadot			bias-disable;
32f126890aSEmmanuel Vadot		};
33f126890aSEmmanuel Vadot	};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot	gsbi4_pins: gsbi4-state {
36f126890aSEmmanuel Vadot		gsbi4-pins {
37f126890aSEmmanuel Vadot			pins = "gpio12", "gpio13", "gpio14", "gpio15";
38f126890aSEmmanuel Vadot			function = "gsbi4";
39f126890aSEmmanuel Vadot			drive-strength = <8>;
40f126890aSEmmanuel Vadot			bias-disable;
41f126890aSEmmanuel Vadot		};
42f126890aSEmmanuel Vadot	};
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot	gsbi5_i2c_pins: gsbi5-i2c-state {
45f126890aSEmmanuel Vadot		sda-pins {
46f126890aSEmmanuel Vadot			pins = "gpio16";
47f126890aSEmmanuel Vadot			function = "gsbi5_i2c";
48f126890aSEmmanuel Vadot			drive-strength = <8>;
49f126890aSEmmanuel Vadot			bias-disable;
50f126890aSEmmanuel Vadot		};
51f126890aSEmmanuel Vadot
52f126890aSEmmanuel Vadot		scl-pins {
53f126890aSEmmanuel Vadot			pins = "gpio17";
54f126890aSEmmanuel Vadot			function = "gsbi5_i2c";
55f126890aSEmmanuel Vadot			drive-strength = <2>;
56f126890aSEmmanuel Vadot			bias-disable;
57f126890aSEmmanuel Vadot		};
58f126890aSEmmanuel Vadot	};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot	gsbi5_uart_pins: gsbi5-uart-state {
61f126890aSEmmanuel Vadot		gsbi5-uart-pins {
62f126890aSEmmanuel Vadot			pins = "gpio18", "gpio19";
63f126890aSEmmanuel Vadot			function = "gsbi5_uart";
64f126890aSEmmanuel Vadot			drive-strength = <8>;
65f126890aSEmmanuel Vadot			bias-disable;
66f126890aSEmmanuel Vadot		};
67f126890aSEmmanuel Vadot	};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot	reset_out_pins: reset-out-state {
70f126890aSEmmanuel Vadot		reset-out-pins {
71f126890aSEmmanuel Vadot			pins = "gpio66";
72f126890aSEmmanuel Vadot			function = "gpio";
73f126890aSEmmanuel Vadot			drive-strength = <2>;
74f126890aSEmmanuel Vadot			bias-pull-up;
75f126890aSEmmanuel Vadot			output-high;
76f126890aSEmmanuel Vadot		};
77f126890aSEmmanuel Vadot	};
78f126890aSEmmanuel Vadot};
79f126890aSEmmanuel Vadot
80*8d13bc63SEmmanuel Vadot&pm8018 {
81*8d13bc63SEmmanuel Vadot	interrupts-extended = <&intc GIC_PPI 226 IRQ_TYPE_LEVEL_HIGH>;
82*8d13bc63SEmmanuel Vadot};
83*8d13bc63SEmmanuel Vadot
84*8d13bc63SEmmanuel Vadot&pm8018_gpio {
85f126890aSEmmanuel Vadot	usb_vbus_5v_pins: usb-vbus-5v-state {
86f126890aSEmmanuel Vadot		pins = "gpio4";
87f126890aSEmmanuel Vadot		function = "normal";
88f126890aSEmmanuel Vadot		output-high;
89f126890aSEmmanuel Vadot		bias-disable;
90f126890aSEmmanuel Vadot		qcom,drive-strength = <1>;
91f126890aSEmmanuel Vadot		power-source = <2>;
92f126890aSEmmanuel Vadot	};
93f126890aSEmmanuel Vadot};
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot&gsbi3 {
96f126890aSEmmanuel Vadot	status = "okay";
97f126890aSEmmanuel Vadot	qcom,mode = <GSBI_PROT_SPI>;
98f126890aSEmmanuel Vadot};
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot&gsbi3_spi {
101f126890aSEmmanuel Vadot	status = "okay";
102f126890aSEmmanuel Vadot	pinctrl-0 = <&gsbi3_pins>;
103f126890aSEmmanuel Vadot	pinctrl-names = "default";
104f126890aSEmmanuel Vadot	assigned-clocks = <&gcc GSBI3_QUP_CLK>;
105f126890aSEmmanuel Vadot	assigned-clock-rates = <24000000>;
106f126890aSEmmanuel Vadot};
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot&gsbi4 {
109f126890aSEmmanuel Vadot	status = "okay";
110f126890aSEmmanuel Vadot	qcom,mode = <GSBI_PROT_UART_W_FC>;
111f126890aSEmmanuel Vadot};
112f126890aSEmmanuel Vadot
113f126890aSEmmanuel Vadot&gsbi4_serial {
114f126890aSEmmanuel Vadot	status = "okay";
115f126890aSEmmanuel Vadot	pinctrl-0 = <&gsbi4_pins>;
116f126890aSEmmanuel Vadot	pinctrl-names = "default";
117f126890aSEmmanuel Vadot};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot&gsbi5 {
120f126890aSEmmanuel Vadot	status = "okay";
121f126890aSEmmanuel Vadot	qcom,mode = <GSBI_PROT_I2C_UART>;
122f126890aSEmmanuel Vadot};
123f126890aSEmmanuel Vadot
124f126890aSEmmanuel Vadot&gsbi5_i2c {
125f126890aSEmmanuel Vadot	status = "okay";
126f126890aSEmmanuel Vadot	clock-frequency = <200000>;
127f126890aSEmmanuel Vadot	pinctrl-0 = <&gsbi5_i2c_pins>;
128f126890aSEmmanuel Vadot	pinctrl-names = "default";
129f126890aSEmmanuel Vadot};
130f126890aSEmmanuel Vadot
131f126890aSEmmanuel Vadot&gsbi5_serial {
132f126890aSEmmanuel Vadot	status = "okay";
133f126890aSEmmanuel Vadot	pinctrl-0 = <&gsbi5_uart_pins>;
134f126890aSEmmanuel Vadot	pinctrl-names = "default";
135f126890aSEmmanuel Vadot};
136f126890aSEmmanuel Vadot
137*8d13bc63SEmmanuel Vadot&rpm {
138*8d13bc63SEmmanuel Vadot	regulators {
139*8d13bc63SEmmanuel Vadot		compatible = "qcom,rpm-pm8018-regulators";
140*8d13bc63SEmmanuel Vadot
141*8d13bc63SEmmanuel Vadot		vin_lvs1-supply = <&pm8018_s3>;
142*8d13bc63SEmmanuel Vadot
143*8d13bc63SEmmanuel Vadot		vdd_l7-supply = <&pm8018_s4>;
144*8d13bc63SEmmanuel Vadot		vdd_l8-supply = <&pm8018_s3>;
145*8d13bc63SEmmanuel Vadot		vdd_l9_l10_l11_l12-supply = <&pm8018_s5>;
146*8d13bc63SEmmanuel Vadot
147*8d13bc63SEmmanuel Vadot		/* Buck SMPS */
148*8d13bc63SEmmanuel Vadot		pm8018_s1: s1 {
149*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <500000>;
150*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1150000>;
151*8d13bc63SEmmanuel Vadot			qcom,switch-mode-frequency = <1600000>;
152*8d13bc63SEmmanuel Vadot			bias-pull-down;
153*8d13bc63SEmmanuel Vadot		};
154*8d13bc63SEmmanuel Vadot
155*8d13bc63SEmmanuel Vadot		pm8018_s2: s2 {
156*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1225000>;
157*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1300000>;
158*8d13bc63SEmmanuel Vadot			qcom,switch-mode-frequency = <1600000>;
159*8d13bc63SEmmanuel Vadot			bias-pull-down;
160*8d13bc63SEmmanuel Vadot		};
161*8d13bc63SEmmanuel Vadot
162*8d13bc63SEmmanuel Vadot		pm8018_s3: s3 {
163*8d13bc63SEmmanuel Vadot			regulator-always-on;
164*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
165*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
166*8d13bc63SEmmanuel Vadot			qcom,switch-mode-frequency = <1600000>;
167*8d13bc63SEmmanuel Vadot			bias-pull-down;
168*8d13bc63SEmmanuel Vadot		};
169*8d13bc63SEmmanuel Vadot
170*8d13bc63SEmmanuel Vadot		pm8018_s4: s4 {
171*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <2100000>;
172*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <2200000>;
173*8d13bc63SEmmanuel Vadot			qcom,switch-mode-frequency = <1600000>;
174*8d13bc63SEmmanuel Vadot			bias-pull-down;
175*8d13bc63SEmmanuel Vadot		};
176*8d13bc63SEmmanuel Vadot
177*8d13bc63SEmmanuel Vadot		pm8018_s5: s5 {
178*8d13bc63SEmmanuel Vadot			regulator-always-on;
179*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1350000>;
180*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1350000>;
181*8d13bc63SEmmanuel Vadot			qcom,switch-mode-frequency = <1600000>;
182*8d13bc63SEmmanuel Vadot			bias-pull-down;
183*8d13bc63SEmmanuel Vadot		};
184*8d13bc63SEmmanuel Vadot
185*8d13bc63SEmmanuel Vadot		/* PMOS LDO */
186*8d13bc63SEmmanuel Vadot		pm8018_l2: l2 {
187*8d13bc63SEmmanuel Vadot			regulator-always-on;
188*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
189*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
190*8d13bc63SEmmanuel Vadot			bias-pull-down;
191*8d13bc63SEmmanuel Vadot		};
192*8d13bc63SEmmanuel Vadot
193*8d13bc63SEmmanuel Vadot		pm8018_l3: l3 {
194*8d13bc63SEmmanuel Vadot			regulator-always-on;
195*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
196*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
197*8d13bc63SEmmanuel Vadot			bias-pull-down;
198*8d13bc63SEmmanuel Vadot		};
199*8d13bc63SEmmanuel Vadot
200*8d13bc63SEmmanuel Vadot		pm8018_l4: l4 {
201*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <3300000>;
202*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <3300000>;
203*8d13bc63SEmmanuel Vadot			bias-pull-down;
204*8d13bc63SEmmanuel Vadot		};
205*8d13bc63SEmmanuel Vadot
206*8d13bc63SEmmanuel Vadot		pm8018_l5: l5 {
207*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <2850000>;
208*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <2850000>;
209*8d13bc63SEmmanuel Vadot			bias-pull-down;
210*8d13bc63SEmmanuel Vadot		};
211*8d13bc63SEmmanuel Vadot
212*8d13bc63SEmmanuel Vadot		pm8018_l6: l6 {
213*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
214*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <2850000>;
215*8d13bc63SEmmanuel Vadot			bias-pull-down;
216*8d13bc63SEmmanuel Vadot		};
217*8d13bc63SEmmanuel Vadot
218*8d13bc63SEmmanuel Vadot		pm8018_l7: l7 {
219*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1850000>;
220*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1900000>;
221*8d13bc63SEmmanuel Vadot			bias-pull-down;
222*8d13bc63SEmmanuel Vadot		};
223*8d13bc63SEmmanuel Vadot
224*8d13bc63SEmmanuel Vadot		pm8018_l8: l8 {
225*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1200000>;
226*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1200000>;
227*8d13bc63SEmmanuel Vadot			bias-pull-down;
228*8d13bc63SEmmanuel Vadot		};
229*8d13bc63SEmmanuel Vadot
230*8d13bc63SEmmanuel Vadot		pm8018_l9: l9 {
231*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <750000>;
232*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1150000>;
233*8d13bc63SEmmanuel Vadot			bias-pull-down;
234*8d13bc63SEmmanuel Vadot		};
235*8d13bc63SEmmanuel Vadot
236*8d13bc63SEmmanuel Vadot		pm8018_l10: l10 {
237*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1050000>;
238*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1050000>;
239*8d13bc63SEmmanuel Vadot			bias-pull-down;
240*8d13bc63SEmmanuel Vadot		};
241*8d13bc63SEmmanuel Vadot
242*8d13bc63SEmmanuel Vadot		pm8018_l11: l11 {
243*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1050000>;
244*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1050000>;
245*8d13bc63SEmmanuel Vadot			bias-pull-down;
246*8d13bc63SEmmanuel Vadot		};
247*8d13bc63SEmmanuel Vadot
248*8d13bc63SEmmanuel Vadot		pm8018_l12: l12 {
249*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1050000>;
250*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1050000>;
251*8d13bc63SEmmanuel Vadot			bias-pull-down;
252*8d13bc63SEmmanuel Vadot		};
253*8d13bc63SEmmanuel Vadot
254*8d13bc63SEmmanuel Vadot		pm8018_l13: l13 {
255*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1850000>;
256*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <2950000>;
257*8d13bc63SEmmanuel Vadot			bias-pull-down;
258*8d13bc63SEmmanuel Vadot		};
259*8d13bc63SEmmanuel Vadot
260*8d13bc63SEmmanuel Vadot		pm8018_l14: l14 {
261*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <2850000>;
262*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <2850000>;
263*8d13bc63SEmmanuel Vadot			bias-pull-down;
264*8d13bc63SEmmanuel Vadot		};
265*8d13bc63SEmmanuel Vadot
266*8d13bc63SEmmanuel Vadot		/* Low Voltage Switch */
267*8d13bc63SEmmanuel Vadot		pm8018_lvs1: lvs1 {
268*8d13bc63SEmmanuel Vadot			bias-pull-down;
269*8d13bc63SEmmanuel Vadot		};
270*8d13bc63SEmmanuel Vadot	};
271*8d13bc63SEmmanuel Vadot};
272*8d13bc63SEmmanuel Vadot
273f126890aSEmmanuel Vadot&sdcc1 {
274f126890aSEmmanuel Vadot	status = "okay";
275f126890aSEmmanuel Vadot};
276