1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Linaro Ltd.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include "qcom-sdx55.dtsi"
11#include "pmx55.dtsi"
12
13/ {
14	model = "Telit FN980 TLB";
15	compatible = "qcom,sdx55-telit-fn980-tlb", "qcom,sdx55";
16	qcom,board-id = <0xb010008 0x0>;
17
18	aliases {
19		serial0 = &blsp1_uart3;
20	};
21
22	chosen {
23		stdout-path = "serial0:921600n8";
24	};
25
26	reserved-memory {
27		#address-cells = <1>;
28		#size-cells = <1>;
29		ranges;
30
31		mpss_debug_mem: memory@8ef00000 {
32			no-map;
33			reg = <0x8ef00000 0x800000>;
34		};
35
36		ipa_fw_mem: memory@8fced000 {
37			no-map;
38			reg = <0x8fced000 0x10000>;
39		};
40
41		mpss_adsp_mem: memory@90800000 {
42			no-map;
43			reg = <0x90800000 0xf800000>;
44		};
45	};
46
47	vph_pwr: vph-pwr-regulator {
48		compatible = "regulator-fixed";
49		regulator-name = "vph_pwr";
50		regulator-min-microvolt = <3700000>;
51		regulator-max-microvolt = <3700000>;
52	};
53
54	vreg_bob_3p3: pmx55-bob {
55		compatible = "regulator-fixed";
56		regulator-name = "vreg_bob_3p3";
57		regulator-min-microvolt = <3300000>;
58		regulator-max-microvolt = <3300000>;
59
60		regulator-always-on;
61		regulator-boot-on;
62
63		vin-supply = <&vph_pwr>;
64	};
65
66	vreg_s7e_mx_0p752: pmx55-s7e {
67		compatible = "regulator-fixed";
68		regulator-name = "vreg_s7e_mx_0p752";
69		regulator-min-microvolt = <752000>;
70		regulator-max-microvolt = <752000>;
71
72		vin-supply = <&vph_pwr>;
73	};
74
75	vreg_sd_vdd: sd-vdd {
76		compatible = "regulator-fixed";
77		regulator-name = "vreg_sd_vdd";
78		regulator-min-microvolt = <2950000>;
79		regulator-max-microvolt = <2950000>;
80
81		vin-supply = <&vreg_vddpx_2>;
82	};
83
84	vreg_vddpx_2: vddpx-2 {
85		compatible = "regulator-gpio";
86		regulator-name = "vreg_vddpx_2";
87		regulator-min-microvolt = <1800000>;
88		regulator-max-microvolt = <2850000>;
89		enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
90		gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
91		states = <1800000 0>, <2850000 1>;
92		startup-delay-us = <200000>;
93		enable-active-high;
94		regulator-boot-on;
95
96		vin-supply = <&vph_pwr>;
97	};
98};
99
100&apps_rsc {
101	regulators-0 {
102		compatible = "qcom,pmx55-rpmh-regulators";
103		qcom,pmic-id = "e";
104
105		vdd-s1-supply = <&vph_pwr>;
106		vdd-s2-supply = <&vph_pwr>;
107		vdd-s3-supply = <&vph_pwr>;
108		vdd-s4-supply = <&vph_pwr>;
109		vdd-s5-supply = <&vph_pwr>;
110		vdd-s6-supply = <&vph_pwr>;
111		vdd-s7-supply = <&vph_pwr>;
112		vdd-l1-l2-supply = <&vreg_s2e_1p224>;
113		vdd-l3-l9-supply = <&vreg_s3e_0p824>;
114		vdd-l4-l12-supply = <&vreg_s4e_1p904>;
115		vdd-l5-l6-supply = <&vreg_s4e_1p904>;
116		vdd-l7-l8-supply = <&vreg_s3e_0p824>;
117		vdd-l10-l11-l13-supply = <&vreg_bob_3p3>;
118		vdd-l14-supply = <&vreg_s7e_mx_0p752>;
119		vdd-l15-supply = <&vreg_s2e_1p224>;
120		vdd-l16-supply = <&vreg_s4e_1p904>;
121
122		vreg_s2e_1p224: smps2 {
123			regulator-min-microvolt = <1280000>;
124			regulator-max-microvolt = <1400000>;
125		};
126
127		vreg_s3e_0p824: smps3 {
128			regulator-min-microvolt = <800000>;
129			regulator-max-microvolt = <1000000>;
130		};
131
132		vreg_s4e_1p904: smps4 {
133			regulator-min-microvolt = <1800000>;
134			regulator-max-microvolt = <1960000>;
135		};
136
137		vreg_l1e_bb_1p2: ldo1 {
138			regulator-min-microvolt = <1200000>;
139			regulator-max-microvolt = <1200000>;
140			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
141		};
142
143		ldo2 {
144			regulator-min-microvolt = <1128000>;
145			regulator-max-microvolt = <1128000>;
146			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
147		};
148
149		ldo3 {
150			regulator-min-microvolt = <800000>;
151			regulator-max-microvolt = <800000>;
152			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
153		};
154
155		vreg_l4e_bb_0p875: ldo4 {
156			regulator-min-microvolt = <872000>;
157			regulator-max-microvolt = <872000>;
158			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
159		};
160
161		vreg_l5e_bb_1p7: ldo5 {
162			regulator-min-microvolt = <1704000>;
163			regulator-max-microvolt = <1900000>;
164			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
165		};
166
167		ldo6 {
168			regulator-min-microvolt = <1800000>;
169			regulator-max-microvolt = <1800000>;
170			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
171		};
172
173		ldo7 {
174			regulator-min-microvolt = <480000>;
175			regulator-max-microvolt = <900000>;
176			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
177		};
178
179		ldo8 {
180			regulator-min-microvolt = <480000>;
181			regulator-max-microvolt = <900000>;
182			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
183		};
184
185		ldo9 {
186			regulator-min-microvolt = <800000>;
187			regulator-max-microvolt = <800000>;
188			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
189		};
190
191		vreg_l10e_3p1: ldo10 {
192			regulator-min-microvolt = <3088000>;
193			regulator-max-microvolt = <3088000>;
194			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
195		};
196
197		ldo11 {
198			regulator-min-microvolt = <1704000>;
199			regulator-max-microvolt = <2928000>;
200			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
201		};
202
203		ldo12 {
204			regulator-min-microvolt = <1200000>;
205			regulator-max-microvolt = <1200000>;
206			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
207		};
208
209		ldo13 {
210			regulator-min-microvolt = <1704000>;
211			regulator-max-microvolt = <2928000>;
212			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
213		};
214
215		ldo14 {
216			regulator-min-microvolt = <600000>;
217			regulator-max-microvolt = <800000>;
218			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
219		};
220
221		ldo15 {
222			regulator-min-microvolt = <1200000>;
223			regulator-max-microvolt = <1200000>;
224			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
225		};
226
227		ldo16 {
228			regulator-min-microvolt = <1704000>;
229			regulator-max-microvolt = <1904000>;
230			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
231		};
232	};
233};
234
235&blsp1_uart3 {
236	status = "okay";
237};
238
239&ipa {
240	qcom,gsi-loader = "self";
241	memory-region = <&ipa_fw_mem>;
242	status = "okay";
243};
244
245&pcie_phy {
246	vdda-phy-supply = <&vreg_l1e_bb_1p2>;
247	vdda-pll-supply = <&vreg_l4e_bb_0p875>;
248
249	status = "okay";
250};
251
252&pcie_ep {
253	pinctrl-names = "default";
254	pinctrl-0 = <&pcie_ep_clkreq_default &pcie_ep_perst_default
255		     &pcie_ep_wake_default>;
256
257	reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
258	wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
259
260	status = "okay";
261};
262
263&qpic_bam {
264	status = "okay";
265};
266
267&qpic_nand {
268	status = "okay";
269
270	nand@0 {
271		reg = <0>;
272
273		nand-ecc-strength = <8>;
274		nand-ecc-step-size = <512>;
275		nand-bus-width = <8>;
276		/* ico and efs2 partitions are secured */
277		secure-regions = /bits/ 64 <0x500000 0x500000
278					    0xa00000 0xb00000>;
279	};
280};
281
282&remoteproc_mpss {
283	memory-region = <&mpss_adsp_mem>;
284	status = "okay";
285};
286
287&tlmm {
288	pcie_ep_clkreq_default: pcie-ep-clkreq-default-state {
289		pins = "gpio56";
290		function = "pcie_clkreq";
291		drive-strength = <2>;
292		bias-disable;
293	};
294
295	pcie_ep_perst_default: pcie-ep-perst-default-state {
296		pins = "gpio57";
297		function = "gpio";
298		drive-strength = <2>;
299		bias-pull-down;
300	};
301
302	pcie_ep_wake_default: pcie-ep-wake-default-state {
303		pins = "gpio53";
304		function = "gpio";
305		drive-strength = <2>;
306		bias-disable;
307	};
308};
309
310&usb_hsphy {
311	vdda-pll-supply = <&vreg_l4e_bb_0p875>;
312	vdda33-supply = <&vreg_l10e_3p1>;
313	vdda18-supply = <&vreg_l5e_bb_1p7>;
314
315	status = "okay";
316};
317
318&usb_qmpphy {
319	vdda-phy-supply = <&vreg_l4e_bb_0p875>;
320	vdda-pll-supply = <&vreg_l1e_bb_1p2>;
321
322	status = "okay";
323};
324
325&usb {
326	status = "okay";
327};
328
329&usb_dwc3 {
330	dr_mode = "peripheral";
331};
332