1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3 * sc7280 IDP board device tree source (common between SKU1 and SKU2)
4 *
5 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
6 */
7
8 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
9 #include <dt-bindings/input/linux-event-codes.h>
10 #include "sc7280.dtsi"
11 #include "pm7325.dtsi"
12 #include "pm8350c.dtsi"
13 #include "pmk8350.dtsi"
14
15 #include "sc7280-chrome-common.dtsi"
16
17 / {
18 aliases {
19 bluetooth0 = &bluetooth;
20 serial1 = &uart7;
21 };
22
23 gpio-keys {
24 compatible = "gpio-keys";
25 label = "gpio-keys";
26
27 pinctrl-names = "default";
28 pinctrl-0 = <&key_vol_up_default>;
29
30 key-volume-up {
31 label = "volume_up";
32 gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
33 linux,input-type = <1>;
34 linux,code = <KEY_VOLUMEUP>;
35 gpio-key,wakeup;
36 debounce-interval = <15>;
37 linux,can-disable;
38 };
39 };
40
41 nvme_3v3_regulator: nvme-3v3-regulator {
42 compatible = "regulator-fixed";
43 regulator-name = "VLDO_3V3";
44
45 regulator-min-microvolt = <3300000>;
46 regulator-max-microvolt = <3300000>;
47
48 enable-active-high;
49 pinctrl-names = "default";
50 pinctrl-0 = <&nvme_pwren>;
51 };
52 };
53
54 &apps_rsc {
55 pm7325-regulators {
56 compatible = "qcom,pm7325-rpmh-regulators";
57 qcom,pmic-id = "b";
58
59 vreg_s1b_1p8: smps1 {
60 regulator-min-microvolt = <1856000>;
61 regulator-max-microvolt = <2040000>;
62 };
63
64 vreg_s7b_0p9: smps7 {
65 regulator-min-microvolt = <535000>;
66 regulator-max-microvolt = <1120000>;
67 };
68
69 vreg_s8b_1p2: smps8 {
70 regulator-min-microvolt = <1256000>;
71 regulator-max-microvolt = <1500000>;
72 };
73
74 vreg_l1b_0p8: ldo1 {
75 regulator-min-microvolt = <825000>;
76 regulator-max-microvolt = <925000>;
77 };
78
79 vreg_l2b_3p0: ldo2 {
80 regulator-min-microvolt = <2700000>;
81 regulator-max-microvolt = <3544000>;
82 };
83
84 vreg_l6b_1p2: ldo6 {
85 regulator-min-microvolt = <1140000>;
86 regulator-max-microvolt = <1260000>;
87 };
88
89 vreg_l7b_2p9: ldo7 {
90 regulator-min-microvolt = <2960000>;
91 regulator-max-microvolt = <2960000>;
92 };
93
94 vreg_l8b_0p9: ldo8 {
95 regulator-min-microvolt = <870000>;
96 regulator-max-microvolt = <970000>;
97 };
98
99 vreg_l9b_1p2: ldo9 {
100 regulator-min-microvolt = <1080000>;
101 regulator-max-microvolt = <1304000>;
102 };
103
104 vreg_l11b_1p7: ldo11 {
105 regulator-min-microvolt = <1504000>;
106 regulator-max-microvolt = <2000000>;
107 };
108
109 vreg_l12b_0p8: ldo12 {
110 regulator-min-microvolt = <751000>;
111 regulator-max-microvolt = <824000>;
112 };
113
114 vreg_l13b_0p8: ldo13 {
115 regulator-min-microvolt = <530000>;
116 regulator-max-microvolt = <824000>;
117 };
118
119 vreg_l14b_1p2: ldo14 {
120 regulator-min-microvolt = <1080000>;
121 regulator-max-microvolt = <1304000>;
122 };
123
124 vreg_l15b_0p8: ldo15 {
125 regulator-min-microvolt = <765000>;
126 regulator-max-microvolt = <1020000>;
127 };
128
129 vreg_l16b_1p2: ldo16 {
130 regulator-min-microvolt = <1100000>;
131 regulator-max-microvolt = <1300000>;
132 };
133
134 vreg_l17b_1p8: ldo17 {
135 regulator-min-microvolt = <1700000>;
136 regulator-max-microvolt = <1900000>;
137 };
138
139 vreg_l18b_1p8: ldo18 {
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <2000000>;
142 };
143
144 vreg_l19b_1p8: ldo19 {
145 regulator-min-microvolt = <1800000>;
146 regulator-max-microvolt = <1800000>;
147 };
148 };
149
150 pm8350c-regulators {
151 compatible = "qcom,pm8350c-rpmh-regulators";
152 qcom,pmic-id = "c";
153
154 vreg_s1c_2p2: smps1 {
155 regulator-min-microvolt = <2190000>;
156 regulator-max-microvolt = <2210000>;
157 };
158
159 vreg_s9c_1p0: smps9 {
160 regulator-min-microvolt = <1010000>;
161 regulator-max-microvolt = <1170000>;
162 };
163
164 vreg_l1c_1p8: ldo1 {
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <1980000>;
167 };
168
169 vreg_l2c_1p8: ldo2 {
170 regulator-min-microvolt = <1620000>;
171 regulator-max-microvolt = <1980000>;
172 };
173
174 vreg_l3c_3p0: ldo3 {
175 regulator-min-microvolt = <2800000>;
176 regulator-max-microvolt = <3540000>;
177 };
178
179 vreg_l4c_1p8: ldo4 {
180 regulator-min-microvolt = <1620000>;
181 regulator-max-microvolt = <3300000>;
182 };
183
184 vreg_l5c_1p8: ldo5 {
185 regulator-min-microvolt = <1620000>;
186 regulator-max-microvolt = <3300000>;
187 };
188
189 vreg_l6c_2p9: ldo6 {
190 regulator-min-microvolt = <1800000>;
191 regulator-max-microvolt = <2950000>;
192 };
193
194 vreg_l7c_3p0: ldo7 {
195 regulator-min-microvolt = <3000000>;
196 regulator-max-microvolt = <3544000>;
197 };
198
199 vreg_l8c_1p8: ldo8 {
200 regulator-min-microvolt = <1620000>;
201 regulator-max-microvolt = <2000000>;
202 };
203
204 vreg_l9c_2p9: ldo9 {
205 regulator-min-microvolt = <2960000>;
206 regulator-max-microvolt = <2960000>;
207 };
208
209 vreg_l10c_0p8: ldo10 {
210 regulator-min-microvolt = <720000>;
211 regulator-max-microvolt = <1050000>;
212 };
213
214 vreg_l11c_2p8: ldo11 {
215 regulator-min-microvolt = <2800000>;
216 regulator-max-microvolt = <3544000>;
217 };
218
219 vreg_l12c_1p8: ldo12 {
220 regulator-min-microvolt = <1650000>;
221 regulator-max-microvolt = <2000000>;
222 };
223
224 vreg_l13c_3p0: ldo13 {
225 regulator-min-microvolt = <2700000>;
226 regulator-max-microvolt = <3544000>;
227 };
228
229 vreg_bob: bob {
230 regulator-min-microvolt = <3008000>;
231 regulator-max-microvolt = <3960000>;
232 };
233 };
234 };
235
236 &gpi_dma0 {
237 status = "okay";
238 };
239
240 &gpi_dma1 {
241 status = "okay";
242 };
243
244 &ipa {
245 status = "okay";
246 modem-init;
247 };
248
249 &pcie1 {
250 status = "okay";
251 perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>;
252
253 vddpe-3v3-supply = <&nvme_3v3_regulator>;
254
255 pinctrl-names = "default";
256 pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>;
257 };
258
259 &pcie1_phy {
260 status = "okay";
261
262 vdda-phy-supply = <&vreg_l10c_0p8>;
263 vdda-pll-supply = <&vreg_l6b_1p2>;
264 };
265
266 &pmk8350_vadc {
267 pmk8350_die_temp {
268 reg = <PMK8350_ADC7_DIE_TEMP>;
269 label = "pmk8350_die_temp";
270 qcom,pre-scaling = <1 1>;
271 };
272 };
273
274 &qfprom {
275 vcc-supply = <&vreg_l1c_1p8>;
276 };
277
278 &qupv3_id_0 {
279 status = "okay";
280 };
281
282 &qupv3_id_1 {
283 status = "okay";
284 };
285
286 &sdhc_1 {
287 status = "okay";
288
289 non-removable;
290 no-sd;
291 no-sdio;
292
293 vmmc-supply = <&vreg_l7b_2p9>;
294 vqmmc-supply = <&vreg_l19b_1p8>;
295 };
296
297 &sdhc_2 {
298 status = "okay";
299
300 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>;
301 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd>;
302
303 vmmc-supply = <&vreg_l9c_2p9>;
304 vqmmc-supply = <&vreg_l6c_2p9>;
305
306 cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
307 };
308
309 &uart5 {
310 compatible = "qcom,geni-debug-uart";
311 status = "okay";
312 };
313
314 &usb_1 {
315 status = "okay";
316 };
317
318 &usb_1_dwc3 {
319 dr_mode = "host";
320 };
321
322 &usb_1_hsphy {
323 status = "okay";
324
325 vdda-pll-supply = <&vreg_l10c_0p8>;
326 vdda33-supply = <&vreg_l2b_3p0>;
327 vdda18-supply = <&vreg_l1c_1p8>;
328 };
329
330 &usb_1_qmpphy {
331 status = "okay";
332
333 vdda-phy-supply = <&vreg_l6b_1p2>;
334 vdda-pll-supply = <&vreg_l1b_0p8>;
335 };
336
337 &uart7 {
338 status = "okay";
339
340 /delete-property/interrupts;
341 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
342 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
343 pinctrl-names = "default", "sleep";
344 pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
345
346 bluetooth: bluetooth {
347 compatible = "qcom,wcn6750-bt";
348 pinctrl-names = "default";
349 pinctrl-0 = <&bt_en>, <&sw_ctrl>;
350 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
351 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
352 vddaon-supply = <&vreg_s7b_0p9>;
353 vddbtcxmx-supply = <&vreg_s7b_0p9>;
354 vddrfacmn-supply = <&vreg_s7b_0p9>;
355 vddrfa0p8-supply = <&vreg_s7b_0p9>;
356 vddrfa1p7-supply = <&vreg_s1b_1p8>;
357 vddrfa1p2-supply = <&vreg_s8b_1p2>;
358 vddrfa2p2-supply = <&vreg_s1c_2p2>;
359 vddasd-supply = <&vreg_l11c_2p8>;
360 max-speed = <3200000>;
361 };
362 };
363
364 /* PINCTRL - additions to nodes defined in sc7280.dtsi */
365
366 &dp_hot_plug_det {
367 bias-disable;
368 };
369
370 &lpass_dmic01_clk {
371 drive-strength = <8>;
372 bias-disable;
373 };
374
375 &lpass_dmic01_clk_sleep {
376 drive-strength = <2>;
377 };
378
379 &lpass_dmic01_data {
380 bias-pull-down;
381 };
382
383 &lpass_dmic23_clk {
384 drive-strength = <8>;
385 bias-disable;
386 };
387
388 &lpass_dmic23_clk_sleep {
389 drive-strength = <2>;
390 };
391
392 &lpass_dmic23_data {
393 bias-pull-down;
394 };
395
396 &lpass_rx_swr_clk {
397 drive-strength = <2>;
398 slew-rate = <1>;
399 bias-disable;
400 };
401
402 &lpass_rx_swr_clk_sleep {
403 bias-pull-down;
404 };
405
406 &lpass_rx_swr_data {
407 drive-strength = <2>;
408 slew-rate = <1>;
409 bias-bus-hold;
410 };
411
412 &lpass_rx_swr_data_sleep {
413 bias-pull-down;
414 };
415
416 &lpass_tx_swr_clk {
417 drive-strength = <2>;
418 slew-rate = <1>;
419 bias-disable;
420 };
421
422 &lpass_tx_swr_clk_sleep {
423 bias-pull-down;
424 };
425
426 &lpass_tx_swr_data {
427 drive-strength = <2>;
428 slew-rate = <1>;
429 bias-bus-hold;
430 };
431
432 &mi2s1_data0 {
433 drive-strength = <6>;
434 bias-disable;
435 };
436
437 &mi2s1_sclk {
438 drive-strength = <6>;
439 bias-disable;
440 };
441
442 &mi2s1_ws {
443 drive-strength = <6>;
444 };
445
446 &pm7325_gpios {
447 key_vol_up_default: key-vol-up-state {
448 pins = "gpio6";
449 function = "normal";
450 input-enable;
451 bias-pull-up;
452 power-source = <0>;
453 qcom,drive-strength = <3>;
454 };
455 };
456
457 &pcie1_clkreq_n {
458 bias-pull-up;
459 drive-strength = <2>;
460 };
461
462 &qspi_cs0 {
463 bias-disable;
464 };
465
466 &qspi_clk {
467 bias-disable;
468 };
469
470 &qspi_data01 {
471 /* High-Z when no transfers; nice to park the lines */
472 bias-pull-up;
473 };
474
475 &qup_uart5_tx {
476 drive-strength = <2>;
477 bias-disable;
478 };
479
480 &qup_uart5_rx {
481 drive-strength = <2>;
482 bias-pull-up;
483 };
484
485 &qup_uart7_cts {
486 /*
487 * Configure a bias-bus-hold on CTS to lower power
488 * usage when Bluetooth is turned off. Bus hold will
489 * maintain a low power state regardless of whether
490 * the Bluetooth module drives the pin in either
491 * direction or leaves the pin fully unpowered.
492 */
493 bias-bus-hold;
494 };
495
496 &qup_uart7_rts {
497 /* We'll drive RTS, so no pull */
498 drive-strength = <2>;
499 bias-disable;
500 };
501
502 &qup_uart7_tx {
503 /* We'll drive TX, so no pull */
504 drive-strength = <2>;
505 bias-disable;
506 };
507
508 &qup_uart7_rx {
509 /*
510 * Configure a pull-up on RX. This is needed to avoid
511 * garbage data when the TX pin of the Bluetooth module is
512 * in tri-state (module powered off or not driving the
513 * signal yet).
514 */
515 bias-pull-up;
516 };
517
518 &sdc1_clk {
519 bias-disable;
520 drive-strength = <16>;
521 };
522
523 &sdc1_cmd {
524 bias-pull-up;
525 drive-strength = <10>;
526 };
527
528 &sdc1_data {
529 bias-pull-up;
530 drive-strength = <10>;
531 };
532
533 &sdc1_rclk {
534 bias-pull-down;
535 };
536
537 &sdc2_clk {
538 bias-disable;
539 drive-strength = <16>;
540 };
541
542 &sdc2_cmd {
543 bias-pull-up;
544 drive-strength = <10>;
545 };
546
547 &sdc2_data {
548 bias-pull-up;
549 drive-strength = <10>;
550 };
551
552 &tlmm {
553 bt_en: bt-en {
554 pins = "gpio85";
555 function = "gpio";
556 output-low;
557 bias-disable;
558 };
559
560 nvme_pwren: nvme-pwren {
561 function = "gpio";
562 };
563
564 pcie1_reset_n: pcie1-reset-n {
565 pins = "gpio2";
566 function = "gpio";
567
568 drive-strength = <16>;
569 output-low;
570 bias-disable;
571 };
572
573 pcie1_wake_n: pcie1-wake-n {
574 pins = "gpio3";
575 function = "gpio";
576
577 drive-strength = <2>;
578 bias-pull-up;
579 };
580
581 qup_uart7_sleep_cts: qup-uart7-sleep-cts {
582 pins = "gpio28";
583 function = "gpio";
584 /*
585 * Configure a bias-bus-hold on CTS to lower power
586 * usage when Bluetooth is turned off. Bus hold will
587 * maintain a low power state regardless of whether
588 * the Bluetooth module drives the pin in either
589 * direction or leaves the pin fully unpowered.
590 */
591 bias-bus-hold;
592 };
593
594 qup_uart7_sleep_rts: qup-uart7-sleep-rts {
595 pins = "gpio29";
596 function = "gpio";
597 /*
598 * Configure pull-down on RTS. As RTS is active low
599 * signal, pull it low to indicate the BT SoC that it
600 * can wakeup the system anytime from suspend state by
601 * pulling RX low (by sending wakeup bytes).
602 */
603 bias-pull-down;
604 };
605
606 qup_uart7_sleep_tx: qup-uart7-sleep-tx {
607 pins = "gpio30";
608 function = "gpio";
609 /*
610 * Configure pull-up on TX when it isn't actively driven
611 * to prevent BT SoC from receiving garbage during sleep.
612 */
613 bias-pull-up;
614 };
615
616 qup_uart7_sleep_rx: qup-uart7-sleep-rx {
617 pins = "gpio31";
618 function = "gpio";
619 /*
620 * Configure a pull-up on RX. This is needed to avoid
621 * garbage data when the TX pin of the Bluetooth module
622 * is floating which may cause spurious wakeups.
623 */
624 bias-pull-up;
625 };
626
627 sd_cd: sd-cd {
628 pins = "gpio91";
629 function = "gpio";
630 bias-pull-up;
631 };
632
633 sw_ctrl: sw-ctrl {
634 pins = "gpio86";
635 function = "gpio";
636 bias-pull-down;
637 };
638 };
Cache object: 03c04ae3c11953f78db96398687cb952
|