1// SPDX-License-Identifier: GPL-2.0
2// Copyright (c) 2018, Linaro Limited
3
4#include <dt-bindings/gpio/gpio.h>
5#include "qcs404.dtsi"
6#include "pms405.dtsi"
7
8/ {
9	aliases {
10		serial0 = &blsp1_uart2;
11		serial1 = &blsp1_uart3;
12	};
13
14	chosen {
15		stdout-path = "serial0";
16	};
17
18	vph_pwr: vph-pwr-regulator {
19		compatible = "regulator-fixed";
20		regulator-name = "vph_pwr";
21		regulator-always-on;
22		regulator-boot-on;
23	};
24
25	vdd_ch0_3p3:
26	vdd_esmps3_3p3: vdd-esmps3-3p3-regulator {
27		compatible = "regulator-fixed";
28		regulator-name = "eSMPS3_3P3";
29
30		regulator-min-microvolt = <3300000>;
31		regulator-max-microvolt = <3300000>;
32		regulator-always-on;
33	};
34};
35
36&blsp1_uart3 {
37	status = "okay";
38
39	bluetooth {
40		compatible = "qcom,wcn3990-bt";
41		vddio-supply = <&vreg_l6_1p8>;
42		vddxo-supply = <&vreg_l5_1p8>;
43		vddrf-supply = <&vreg_l1_1p3>;
44		vddch0-supply = <&vdd_ch0_3p3>;
45
46		local-bd-address = [ 02 00 00 00 5a ad ];
47
48		max-speed = <3200000>;
49	};
50};
51
52&blsp1_dma {
53	qcom,controlled-remotely;
54};
55
56&blsp2_dma {
57	qcom,controlled-remotely;
58};
59
60&gcc {
61	protected-clocks = <GCC_BIMC_CDSP_CLK>,
62			   <GCC_CDSP_CFG_AHB_CLK>,
63			   <GCC_CDSP_BIMC_CLK_SRC>,
64			   <GCC_CDSP_TBU_CLK>,
65			   <141>, /* GCC_WCSS_Q6_AHB_CLK */
66			   <142>; /* GCC_WCSS_Q6_AXIM_CLK */
67};
68
69&pms405_spmi_regulators {
70	vdd_s3-supply = <&vph_pwr>;
71
72	pms405_s3: s3 {
73		regulator-always-on;
74		regulator-boot-on;
75		regulator-name = "vdd_apc";
76		regulator-initial-mode = <1>;
77		regulator-min-microvolt = <1048000>;
78		regulator-max-microvolt = <1384000>;
79	};
80};
81
82&pcie {
83	status = "ok";
84
85	perst-gpio = <&tlmm 43 GPIO_ACTIVE_LOW>;
86
87	pinctrl-names = "default";
88	pinctrl-0 = <&perst_state>;
89};
90
91&pcie_phy {
92	status = "ok";
93
94	vdda-vp-supply = <&vreg_l3_1p05>;
95	vdda-vph-supply = <&vreg_l5_1p8>;
96};
97
98&remoteproc_adsp {
99	status = "ok";
100};
101
102&remoteproc_cdsp {
103	status = "ok";
104};
105
106&remoteproc_wcss {
107	status = "ok";
108};
109
110&rpm_requests {
111	pms405-regulators {
112		compatible = "qcom,rpm-pms405-regulators";
113
114		vdd_s1-supply = <&vph_pwr>;
115		vdd_s2-supply = <&vph_pwr>;
116		vdd_s3-supply = <&vph_pwr>;
117		vdd_s4-supply = <&vph_pwr>;
118		vdd_s5-supply = <&vph_pwr>;
119		vdd_l1_l2-supply = <&vreg_s5_1p35>;
120		vdd_l3_l8-supply = <&vreg_s5_1p35>;
121		vdd_l4-supply = <&vreg_s5_1p35>;
122		vdd_l5_l6-supply = <&vreg_s4_1p8>;
123		vdd_l7-supply = <&vph_pwr>;
124		vdd_l9-supply = <&vreg_s5_1p35>;
125		vdd_l10_l11_l12_l13-supply = <&vph_pwr>;
126
127		vreg_s4_1p8: s4 {
128			regulator-min-microvolt = <1728000>;
129			regulator-max-microvolt = <1920000>;
130		};
131
132		vreg_s5_1p35: s5 {
133			regulator-min-microvolt = <1352000>;
134			regulator-max-microvolt = <1352000>;
135		};
136
137		vreg_l1_1p3: l1 {
138			regulator-min-microvolt = <1240000>;
139			regulator-max-microvolt = <1352000>;
140		};
141
142		vreg_l2_1p275: l2 {
143			regulator-min-microvolt = <1048000>;
144			regulator-max-microvolt = <1280000>;
145		};
146
147		vreg_l3_1p05: l3 {
148			regulator-min-microvolt = <1048000>;
149			regulator-max-microvolt = <1160000>;
150		};
151
152		vreg_l4_1p2: l4 {
153			regulator-min-microvolt = <1144000>;
154			regulator-max-microvolt = <1256000>;
155		};
156
157		vreg_l5_1p8: l5 {
158			regulator-min-microvolt = <1800000>;
159			regulator-max-microvolt = <1800000>;
160		};
161
162		vreg_l6_1p8: l6 {
163			regulator-min-microvolt = <1800000>;
164			regulator-max-microvolt = <1800000>;
165			regulator-always-on;
166		};
167
168		vreg_l7_1p8: l7 {
169			regulator-min-microvolt = <1616000>;
170			regulator-max-microvolt = <3000000>;
171		};
172
173		vreg_l8_1p2: l8 {
174			regulator-min-microvolt = <1136000>;
175			regulator-max-microvolt = <1352000>;
176		};
177
178		vreg_l10_3p3: l10 {
179			regulator-min-microvolt = <2936000>;
180			regulator-max-microvolt = <3088000>;
181		};
182
183		vreg_l11_sdc2: l11 {
184			regulator-min-microvolt = <2696000>;
185			regulator-max-microvolt = <3304000>;
186		};
187
188		vreg_l12_3p3: l12 {
189			regulator-min-microvolt = <2968000>;
190			regulator-max-microvolt = <3300000>;
191		};
192
193		vreg_l13_3p3: l13 {
194			regulator-min-microvolt = <3000000>;
195			regulator-max-microvolt = <3300000>;
196		};
197	};
198};
199
200&sdcc1 {
201	status = "ok";
202
203	supports-cqe;
204	mmc-ddr-1_8v;
205	mmc-hs400-1_8v;
206	bus-width = <8>;
207	non-removable;
208
209	pinctrl-names = "default", "sleep";
210	pinctrl-0 = <&sdc1_on>;
211	pinctrl-1 = <&sdc1_off>;
212};
213
214&tlmm {
215	perst_state: perst {
216		pins = "gpio43";
217		function = "gpio";
218
219		drive-strength = <2>;
220		bias-disable;
221		output-low;
222	};
223
224	sdc1_on: sdc1-on {
225		clk {
226			pins = "sdc1_clk";
227			bias-disable;
228			drive-strength = <16>;
229		};
230
231		cmd {
232			pins = "sdc1_cmd";
233			bias-pull-up;
234			drive-strength = <10>;
235		};
236
237		data {
238			pins = "sdc1_data";
239			bias-pull-up;
240			drive-strength = <10>;
241		};
242
243		rclk {
244			pins = "sdc1_rclk";
245			bias-pull-down;
246		};
247	};
248
249	sdc1_off: sdc1-off {
250		clk {
251			pins = "sdc1_clk";
252			bias-disable;
253			drive-strength = <2>;
254		};
255
256		cmd {
257			pins = "sdc1_cmd";
258			bias-pull-up;
259			drive-strength = <2>;
260		};
261
262		data {
263			pins = "sdc1_data";
264			bias-pull-up;
265			drive-strength = <2>;
266		};
267
268		rclk {
269			pins = "sdc1_rclk";
270			bias-pull-down;
271		};
272	};
273};
274
275&wifi {
276	status = "okay";
277	vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>;
278	vdd-1.8-xo-supply = <&vreg_l5_1p8>;
279	vdd-1.3-rfa-supply = <&vreg_l1_1p3>;
280};
281
282/* PINCTRL - additions to nodes defined in qcs404.dtsi */
283
284&blsp1_uart2_default {
285	rx {
286		drive-strength = <2>;
287		bias-disable;
288	};
289
290	tx {
291		drive-strength = <2>;
292		bias-disable;
293	};
294};
295
296&blsp1_uart3_default {
297	cts {
298		pins = "gpio84";
299		bias-disable;
300	};
301
302	rts-tx {
303		pins = "gpio85", "gpio82";
304		drive-strength = <2>;
305		bias-disable;
306	};
307
308	rx {
309		pins = "gpio83";
310		bias-pull-up;
311	};
312};
313