1 // SPDX-License-Identifier: BSD-3-Clause
3 * sc7280 IDP board device tree source (common between SKU1 and SKU2)
5 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
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"
15 #include "sc7280-chrome-common.dtsi"
16 #include "sc7280-herobrine-lte-sku.dtsi"
20 bluetooth0 = &bluetooth;
25 max98360a: audio-codec-0 {
26 compatible = "maxim,max98360a";
27 pinctrl-names = "default";
28 pinctrl-0 = <&_en>;
29 sdmode-gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
30 #sound-dai-cells = <0>;
33 wcd9385: audio-codec-1 {
34 compatible = "qcom,wcd9385-codec";
35 pinctrl-names = "default", "sleep";
36 pinctrl-0 = <&wcd_reset_n>;
37 pinctrl-1 = <&wcd_reset_n_sleep>;
39 reset-gpios = <&tlmm 83 GPIO_ACTIVE_LOW>;
41 qcom,rx-device = <&wcd_rx>;
42 qcom,tx-device = <&wcd_tx>;
44 vdd-rxtx-supply = <&vreg_l18b_1p8>;
45 vdd-io-supply = <&vreg_l18b_1p8>;
46 vdd-buck-supply = <&vreg_l17b_1p8>;
47 vdd-mic-bias-supply = <&vreg_bob>;
49 qcom,micbias1-microvolt = <1800000>;
50 qcom,micbias2-microvolt = <1800000>;
51 qcom,micbias3-microvolt = <1800000>;
52 qcom,micbias4-microvolt = <1800000>;
54 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000
55 500000 500000 500000>;
56 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
57 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
58 #sound-dai-cells = <1>;
62 compatible = "gpio-keys";
65 pinctrl-names = "default";
66 pinctrl-0 = <&key_vol_up_default>;
70 gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
71 linux,input-type = <1>;
72 linux,code = <KEY_VOLUMEUP>;
74 debounce-interval = <15>;
79 nvme_3v3_regulator: nvme-3v3-regulator {
80 compatible = "regulator-fixed";
81 regulator-name = "VLDO_3V3";
83 regulator-min-microvolt = <3300000>;
84 regulator-max-microvolt = <3300000>;
87 pinctrl-names = "default";
88 pinctrl-0 = <&nvme_pwren>;
92 compatible = "google,sc7280-herobrine";
93 model = "sc7280-wcd938x-max98360a-1mic";
96 "IN1_HPHL", "HPHL_OUT",
97 "IN2_HPHR", "HPHR_OUT",
100 "VA DMIC0", "MIC BIAS3",
101 "VA DMIC1", "MIC BIAS3",
102 "VA DMIC2", "MIC BIAS1",
103 "VA DMIC3", "MIC BIAS1",
104 "TX SWR_ADC0", "ADC1_OUTPUT",
105 "TX SWR_ADC1", "ADC2_OUTPUT",
106 "TX SWR_ADC2", "ADC3_OUTPUT",
107 "TX SWR_DMIC0", "DMIC1_OUTPUT",
108 "TX SWR_DMIC1", "DMIC2_OUTPUT",
109 "TX SWR_DMIC2", "DMIC3_OUTPUT",
110 "TX SWR_DMIC3", "DMIC4_OUTPUT",
111 "TX SWR_DMIC4", "DMIC5_OUTPUT",
112 "TX SWR_DMIC5", "DMIC6_OUTPUT",
113 "TX SWR_DMIC6", "DMIC7_OUTPUT",
114 "TX SWR_DMIC7", "DMIC8_OUTPUT";
116 #address-cells = <1>;
120 link-name = "MAX98360A";
124 sound-dai = <&lpass_cpu MI2S_SECONDARY>;
128 sound-dai = <&max98360a>;
133 link-name = "DisplayPort";
137 sound-dai = <&lpass_cpu LPASS_DP_RX>;
141 sound-dai = <&mdss_dp>;
146 link-name = "WCD9385 Playback";
150 sound-dai = <&lpass_cpu LPASS_CDC_DMA_RX0>;
154 sound-dai = <&wcd9385 0>, <&swr0 0>, <&lpass_rx_macro 0>;
159 link-name = "WCD9385 Capture";
163 sound-dai = <&lpass_cpu LPASS_CDC_DMA_TX3>;
167 sound-dai = <&wcd9385 1>, <&swr1 0>, <&lpass_tx_macro 0>;
176 sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>;
180 sound-dai = <&lpass_va_macro 0>;
188 compatible = "qcom,pm7325-rpmh-regulators";
191 vreg_s1b_1p8: smps1 {
192 regulator-min-microvolt = <1856000>;
193 regulator-max-microvolt = <2040000>;
196 vreg_s7b_0p9: smps7 {
197 regulator-min-microvolt = <535000>;
198 regulator-max-microvolt = <1120000>;
201 vreg_s8b_1p2: smps8 {
202 regulator-min-microvolt = <1256000>;
203 regulator-max-microvolt = <1500000>;
207 regulator-min-microvolt = <825000>;
208 regulator-max-microvolt = <925000>;
212 regulator-min-microvolt = <2700000>;
213 regulator-max-microvolt = <3544000>;
217 regulator-min-microvolt = <1140000>;
218 regulator-max-microvolt = <1260000>;
222 regulator-min-microvolt = <2960000>;
223 regulator-max-microvolt = <2960000>;
227 regulator-min-microvolt = <870000>;
228 regulator-max-microvolt = <970000>;
232 regulator-min-microvolt = <1080000>;
233 regulator-max-microvolt = <1304000>;
236 vreg_l11b_1p7: ldo11 {
237 regulator-min-microvolt = <1504000>;
238 regulator-max-microvolt = <2000000>;
241 vreg_l12b_0p8: ldo12 {
242 regulator-min-microvolt = <751000>;
243 regulator-max-microvolt = <824000>;
246 vreg_l13b_0p8: ldo13 {
247 regulator-min-microvolt = <530000>;
248 regulator-max-microvolt = <824000>;
251 vreg_l14b_1p2: ldo14 {
252 regulator-min-microvolt = <1080000>;
253 regulator-max-microvolt = <1304000>;
256 vreg_l15b_0p8: ldo15 {
257 regulator-min-microvolt = <765000>;
258 regulator-max-microvolt = <1020000>;
261 vreg_l16b_1p2: ldo16 {
262 regulator-min-microvolt = <1100000>;
263 regulator-max-microvolt = <1300000>;
266 vreg_l17b_1p8: ldo17 {
267 regulator-min-microvolt = <1700000>;
268 regulator-max-microvolt = <1900000>;
271 vreg_l18b_1p8: ldo18 {
272 regulator-min-microvolt = <1800000>;
273 regulator-max-microvolt = <2000000>;
276 vreg_l19b_1p8: ldo19 {
277 regulator-min-microvolt = <1800000>;
278 regulator-max-microvolt = <1800000>;
283 compatible = "qcom,pm8350c-rpmh-regulators";
286 vreg_s1c_2p2: smps1 {
287 regulator-min-microvolt = <2190000>;
288 regulator-max-microvolt = <2210000>;
291 vreg_s9c_1p0: smps9 {
292 regulator-min-microvolt = <1010000>;
293 regulator-max-microvolt = <1170000>;
297 regulator-min-microvolt = <1800000>;
298 regulator-max-microvolt = <1980000>;
302 regulator-min-microvolt = <1620000>;
303 regulator-max-microvolt = <1980000>;
307 regulator-min-microvolt = <2800000>;
308 regulator-max-microvolt = <3540000>;
312 regulator-min-microvolt = <1620000>;
313 regulator-max-microvolt = <3300000>;
317 regulator-min-microvolt = <1620000>;
318 regulator-max-microvolt = <3300000>;
322 regulator-min-microvolt = <1800000>;
323 regulator-max-microvolt = <2950000>;
327 regulator-min-microvolt = <3000000>;
328 regulator-max-microvolt = <3544000>;
332 regulator-min-microvolt = <1620000>;
333 regulator-max-microvolt = <2000000>;
337 regulator-min-microvolt = <2960000>;
338 regulator-max-microvolt = <2960000>;
341 vreg_l10c_0p8: ldo10 {
342 regulator-min-microvolt = <720000>;
343 regulator-max-microvolt = <1050000>;
346 vreg_l11c_2p8: ldo11 {
347 regulator-min-microvolt = <2800000>;
348 regulator-max-microvolt = <3544000>;
351 vreg_l12c_1p8: ldo12 {
352 regulator-min-microvolt = <1650000>;
353 regulator-max-microvolt = <2000000>;
356 vreg_l13c_3p0: ldo13 {
357 regulator-min-microvolt = <2700000>;
358 regulator-max-microvolt = <3544000>;
362 regulator-min-microvolt = <3008000>;
363 regulator-max-microvolt = <3960000>;
379 pinctrl-names = "default";
380 pinctrl-0 = <&mi2s1_data0>, <&mi2s1_sclk>, <&mi2s1_ws>;
383 reg = <MI2S_SECONDARY>;
384 qcom,playback-sd-lines = <0>;
392 reg = <LPASS_CDC_DMA_RX0>;
396 reg = <LPASS_CDC_DMA_TX3>;
400 reg = <LPASS_CDC_DMA_VA_TX0>;
414 vdd-micb-supply = <&vreg_bob>;
419 perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
421 vddpe-3v3-supply = <&nvme_3v3_regulator>;
423 pinctrl-names = "default";
424 pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>;
430 vdda-phy-supply = <&vreg_l10c_0p8>;
431 vdda-pll-supply = <&vreg_l6b_1p2>;
436 reg = <PMK8350_ADC7_DIE_TEMP>;
437 label = "pmk8350_die_temp";
438 qcom,pre-scaling = <1 1>;
443 vcc-supply = <&vreg_l1c_1p8>;
461 vmmc-supply = <&vreg_l7b_2p9>;
462 vqmmc-supply = <&vreg_l19b_1p8>;
468 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>;
469 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd>;
471 vmmc-supply = <&vreg_l9c_2p9>;
472 vqmmc-supply = <&vreg_l6c_2p9>;
474 cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
481 compatible = "sdw20217010d00";
483 qcom,rx-port-mapping = <1 2 3 4 5>;
491 compatible = "sdw20217010d00";
493 qcom,tx-port-mapping = <1 2 3 4>;
498 compatible = "qcom,geni-debug-uart";
513 vdda-pll-supply = <&vreg_l10c_0p8>;
514 vdda33-supply = <&vreg_l2b_3p0>;
515 vdda18-supply = <&vreg_l1c_1p8>;
516 qcom,hs-rise-fall-time-bp = <0>;
517 qcom,squelch-detector-bp = <(-2090)>;
518 qcom,hs-disconnect-bp = <1743>;
519 qcom,hs-amplitude-bp = <1780>;
520 qcom,hs-crossover-voltage-microvolt = <(-31000)>;
521 qcom,hs-output-impedance-micro-ohms = <2600000>;
527 vdda-phy-supply = <&vreg_l6b_1p2>;
528 vdda-pll-supply = <&vreg_l1b_0p8>;
534 /delete-property/interrupts;
535 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
536 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
537 pinctrl-names = "default", "sleep";
538 pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
540 bluetooth: bluetooth {
541 compatible = "qcom,wcn6750-bt";
542 pinctrl-names = "default";
543 pinctrl-0 = <&bt_en>, <&sw_ctrl>;
544 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
545 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
546 vddaon-supply = <&vreg_s7b_0p9>;
547 vddbtcxmx-supply = <&vreg_s7b_0p9>;
548 vddrfacmn-supply = <&vreg_s7b_0p9>;
549 vddrfa0p8-supply = <&vreg_s7b_0p9>;
550 vddrfa1p7-supply = <&vreg_s1b_1p8>;
551 vddrfa1p2-supply = <&vreg_s8b_1p2>;
552 vddrfa2p2-supply = <&vreg_s1c_2p2>;
553 vddasd-supply = <&vreg_l11c_2p8>;
554 max-speed = <3200000>;
558 /* PINCTRL - additions to nodes defined in sc7280.dtsi */
565 drive-strength = <8>;
574 drive-strength = <8>;
583 drive-strength = <2>;
589 drive-strength = <2>;
595 drive-strength = <2>;
601 drive-strength = <2>;
607 drive-strength = <6>;
612 drive-strength = <6>;
617 drive-strength = <6>;
621 key_vol_up_default: key-vol-up-state {
627 qcom,drive-strength = <3>;
633 drive-strength = <2>;
637 bias-disable; /* External pullup */
641 bias-pull-down; /* No external pulls or external pulldown */
645 bias-pull-down; /* No external pulls or external pulldown */
649 bias-pull-down; /* No external pulls or external pulldown */
653 drive-strength = <2>;
658 drive-strength = <2>;
664 * Configure a bias-bus-hold on CTS to lower power
665 * usage when Bluetooth is turned off. Bus hold will
666 * maintain a low power state regardless of whether
667 * the Bluetooth module drives the pin in either
668 * direction or leaves the pin fully unpowered.
674 /* We'll drive RTS, so no pull */
675 drive-strength = <2>;
680 /* We'll drive TX, so no pull */
681 drive-strength = <2>;
687 * Configure a pull-up on RX. This is needed to avoid
688 * garbage data when the TX pin of the Bluetooth module is
689 * in tri-state (module powered off or not driving the
697 drive-strength = <16>;
702 drive-strength = <10>;
707 drive-strength = <10>;
716 drive-strength = <16>;
721 drive-strength = <10>;
726 drive-strength = <10>;
730 amp_en: amp-en-state {
734 drive-strength = <2>;
744 nvme_pwren: nvme-pwren-state {
748 pcie1_reset_n: pcie1-reset-n-state {
752 drive-strength = <16>;
757 pcie1_wake_n: pcie1-wake-n-state {
761 drive-strength = <2>;
765 qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
769 * Configure a bias-bus-hold on CTS to lower power
770 * usage when Bluetooth is turned off. Bus hold will
771 * maintain a low power state regardless of whether
772 * the Bluetooth module drives the pin in either
773 * direction or leaves the pin fully unpowered.
778 qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
782 * Configure pull-down on RTS. As RTS is active low
783 * signal, pull it low to indicate the BT SoC that it
784 * can wakeup the system anytime from suspend state by
785 * pulling RX low (by sending wakeup bytes).
790 qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
794 * Configure pull-up on TX when it isn't actively driven
795 * to prevent BT SoC from receiving garbage during sleep.
800 qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
804 * Configure a pull-up on RX. This is needed to avoid
805 * garbage data when the TX pin of the Bluetooth module
806 * is floating which may cause spurious wakeups.
817 sw_ctrl: sw-ctrl-state {
823 wcd_reset_n: wcd-reset-n-state {
826 drive-strength = <8>;
829 wcd_reset_n_sleep: wcd-reset-n-sleep-state {
832 drive-strength = <8>;