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";
503 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
504 vcc-supply = <&vreg_l7b_2p9>;
505 vcc-max-microamp = <800000>;
506 vccq-supply = <&vreg_l9b_1p2>;
507 vccq-max-microamp = <900000>;
508 vccq2-supply = <&vreg_l9b_1p2>;
509 vccq2-max-microamp = <900000>;
515 vdda-phy-supply = <&vreg_l10c_0p8>;
516 vdda-pll-supply = <&vreg_l6b_1p2>;
532 vdda-pll-supply = <&vreg_l10c_0p8>;
533 vdda33-supply = <&vreg_l2b_3p0>;
534 vdda18-supply = <&vreg_l1c_1p8>;
535 qcom,hs-rise-fall-time-bp = <0>;
536 qcom,squelch-detector-bp = <(-2090)>;
537 qcom,hs-disconnect-bp = <1743>;
538 qcom,hs-amplitude-bp = <1780>;
539 qcom,hs-crossover-voltage-microvolt = <(-31000)>;
540 qcom,hs-output-impedance-micro-ohms = <2600000>;
546 vdda-phy-supply = <&vreg_l6b_1p2>;
547 vdda-pll-supply = <&vreg_l1b_0p8>;
553 /delete-property/interrupts;
554 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
555 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
556 pinctrl-names = "default", "sleep";
557 pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
559 bluetooth: bluetooth {
560 compatible = "qcom,wcn6750-bt";
561 pinctrl-names = "default";
562 pinctrl-0 = <&bt_en>, <&sw_ctrl>;
563 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
564 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
565 vddaon-supply = <&vreg_s7b_0p9>;
566 vddbtcxmx-supply = <&vreg_s7b_0p9>;
567 vddrfacmn-supply = <&vreg_s7b_0p9>;
568 vddrfa0p8-supply = <&vreg_s7b_0p9>;
569 vddrfa1p7-supply = <&vreg_s1b_1p8>;
570 vddrfa1p2-supply = <&vreg_s8b_1p2>;
571 vddrfa2p2-supply = <&vreg_s1c_2p2>;
572 vddasd-supply = <&vreg_l11c_2p8>;
573 max-speed = <3200000>;
577 /* PINCTRL - additions to nodes defined in sc7280.dtsi */
584 drive-strength = <8>;
593 drive-strength = <8>;
602 drive-strength = <2>;
608 drive-strength = <2>;
614 drive-strength = <2>;
620 drive-strength = <2>;
626 drive-strength = <6>;
631 drive-strength = <6>;
636 drive-strength = <6>;
640 key_vol_up_default: key-vol-up-state {
646 qcom,drive-strength = <3>;
652 drive-strength = <2>;
656 bias-disable; /* External pullup */
660 bias-pull-down; /* No external pulls or external pulldown */
664 bias-pull-down; /* No external pulls or external pulldown */
668 bias-pull-down; /* No external pulls or external pulldown */
672 drive-strength = <2>;
677 drive-strength = <2>;
683 * Configure a bias-bus-hold on CTS to lower power
684 * usage when Bluetooth is turned off. Bus hold will
685 * maintain a low power state regardless of whether
686 * the Bluetooth module drives the pin in either
687 * direction or leaves the pin fully unpowered.
693 /* We'll drive RTS, so no pull */
694 drive-strength = <2>;
699 /* We'll drive TX, so no pull */
700 drive-strength = <2>;
706 * Configure a pull-up on RX. This is needed to avoid
707 * garbage data when the TX pin of the Bluetooth module is
708 * in tri-state (module powered off or not driving the
716 drive-strength = <16>;
721 drive-strength = <10>;
726 drive-strength = <10>;
735 drive-strength = <16>;
740 drive-strength = <10>;
745 drive-strength = <10>;
749 amp_en: amp-en-state {
753 drive-strength = <2>;
763 nvme_pwren: nvme-pwren-state {
767 pcie1_reset_n: pcie1-reset-n-state {
771 drive-strength = <16>;
776 pcie1_wake_n: pcie1-wake-n-state {
780 drive-strength = <2>;
784 qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
788 * Configure a bias-bus-hold on CTS to lower power
789 * usage when Bluetooth is turned off. Bus hold will
790 * maintain a low power state regardless of whether
791 * the Bluetooth module drives the pin in either
792 * direction or leaves the pin fully unpowered.
797 qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
801 * Configure pull-down on RTS. As RTS is active low
802 * signal, pull it low to indicate the BT SoC that it
803 * can wakeup the system anytime from suspend state by
804 * pulling RX low (by sending wakeup bytes).
809 qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
813 * Configure pull-up on TX when it isn't actively driven
814 * to prevent BT SoC from receiving garbage during sleep.
819 qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
823 * Configure a pull-up on RX. This is needed to avoid
824 * garbage data when the TX pin of the Bluetooth module
825 * is floating which may cause spurious wakeups.
836 sw_ctrl: sw-ctrl-state {
842 wcd_reset_n: wcd-reset-n-state {
845 drive-strength = <8>;
848 wcd_reset_n_sleep: wcd-reset-n-sleep-state {
851 drive-strength = <8>;