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