1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Google Trogdor device tree source (common between revisions)
5 * Copyright 2019 Google LLC.
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/gpio-keys.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/leds/common.h>
12 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13 #include <dt-bindings/sound/sc7180-lpass.h>
15 #include "sc7180.dtsi"
16 /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
17 #include "pm6150.dtsi"
18 #include "pm6150l.dtsi"
22 charger_thermal: charger-thermal {
23 polling-delay-passive = <0>;
26 thermal-sensors = <&pm6150_adc_tm 0>;
30 temperature = <125000>;
40 * Reserved memory changes
42 * Delete all unused memory nodes and define the peripheral memory regions
43 * required by the board dts.
46 /delete-node/ &hyp_mem;
47 /delete-node/ &ipa_fw_mem;
48 /delete-node/ &xbl_mem;
49 /delete-node/ &aop_mem;
50 /delete-node/ &sec_apps_mem;
51 /delete-node/ &tz_mem;
53 /* Increase the size from 2MB to 8MB */
55 reg = <0x0 0x94600000 0x0 0x800000>;
60 atf_mem: memory@80b00000 {
61 reg = <0x0 0x80b00000 0x0 0x100000>;
65 mpss_mem: memory@86000000 {
66 reg = <0x0 0x86000000 0x0 0x2000000>;
70 venus_mem: memory@8f600000 {
71 reg = <0 0x8f600000 0 0x500000>;
75 wlan_mem: memory@94100000 {
76 reg = <0x0 0x94100000 0x0 0x200000>;
80 mba_mem: memory@94400000 {
81 reg = <0x0 0x94400000 0x0 0x200000>;
85 mdata_mem: mpss-metadata {
86 alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
93 bluetooth0 = &bluetooth;
100 stdout-path = "serial0:115200n8";
103 /* FIXED REGULATORS - parents above children */
105 /* This is the top level supply and variable voltage */
106 ppvar_sys: ppvar-sys-regulator {
107 compatible = "regulator-fixed";
108 regulator-name = "ppvar_sys";
113 /* This divides ppvar_sys by 2, so voltage is variable */
114 src_vph_pwr: src-vph-pwr-regulator {
115 compatible = "regulator-fixed";
116 regulator-name = "src_vph_pwr";
118 /* EC turns on with switchcap_on; always on for AP */
122 vin-supply = <&ppvar_sys>;
125 pp5000_a: pp5000-a-regulator {
126 compatible = "regulator-fixed";
127 regulator-name = "pp5000_a";
129 /* EC turns on with en_pp5000_a; always on for AP */
132 regulator-min-microvolt = <5000000>;
133 regulator-max-microvolt = <5000000>;
135 vin-supply = <&ppvar_sys>;
138 pp3300_a: pp3300-a-regulator {
139 compatible = "regulator-fixed";
140 regulator-name = "pp3300_a";
142 /* EC turns on with en_pp3300_a; always on for AP */
145 regulator-min-microvolt = <3300000>;
146 regulator-max-microvolt = <3300000>;
149 * Actually should be pp3300 but that's practically an alias for
150 * pp3300_a so we use pp3300's vin-supply here to avoid one more
153 vin-supply = <&ppvar_sys>;
158 pp1800_ldo: pp1800-ldo-regulator {
159 compatible = "regulator-fixed";
160 regulator-name = "pp1800_ldo";
162 /* EC turns on with hibernate_l; always on for AP */
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <1800000>;
169 * Actually should be pp1800_h1 but we don't have any need to
170 * model that so we use the parent of pp1800_h1.
172 vin-supply = <&pp3300_a>;
175 pp1800_uf_cam: pp1800-uf-cam-regulator {
176 compatible = "regulator-fixed";
177 regulator-name = "pp1800_uf_cam";
180 regulator-min-microvolt = <1800000>;
181 regulator-max-microvolt = <1800000>;
183 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
185 pinctrl-names = "default";
186 pinctrl-0 = <&uf_cam_en>;
188 vin-supply = <&pp1800_ldo>;
189 regulator-enable-ramp-delay = <1000>;
192 pp1800_wf_cam: pp1800-wf-cam-regulator {
193 compatible = "regulator-fixed";
194 regulator-name = "pp1800_wf_cam";
197 regulator-min-microvolt = <1800000>;
198 regulator-max-microvolt = <1800000>;
200 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
202 pinctrl-names = "default";
203 pinctrl-0 = <&wf_cam_en>;
205 vin-supply = <&pp1800_ldo>;
206 regulator-enable-ramp-delay = <1000>;
209 pp2800_uf_cam: pp2800-uf-cam-regulator {
210 compatible = "regulator-fixed";
211 regulator-name = "pp2800_uf_cam";
214 regulator-min-microvolt = <2850000>;
215 regulator-max-microvolt = <2850000>;
217 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
220 * The pinconf can only be referenced once so we put it on the
221 * first regulator and comment it out here.
222 * pinctrl-names = "default";
223 * pinctrl-0 = <&uf_cam_en>;
226 vin-supply = <&pp3300_a>;
230 pp2800_wf_cam: pp2800-wf-cam-regulator {
231 compatible = "regulator-fixed";
232 regulator-name = "pp2800_wf_cam";
235 regulator-min-microvolt = <2850000>;
236 regulator-max-microvolt = <2850000>;
238 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
241 * The pinconf can only be referenced once so we put it on the
242 * first regulator and comment it out here.
243 * pinctrl-names = "default";
244 * pinctrl-0 = <&wf_cam_en>;
247 vin-supply = <&pp3300_a>;
251 pp3300_codec: pp3300-codec-regulator {
252 compatible = "regulator-fixed";
253 regulator-name = "pp3300_codec";
255 regulator-min-microvolt = <3300000>;
256 regulator-max-microvolt = <3300000>;
258 gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
260 pinctrl-names = "default";
261 pinctrl-0 = <&en_pp3300_codec>;
263 vin-supply = <&pp3300_a>;
267 pp3300_ts: pp3300-dx-edp-regulator {
268 compatible = "regulator-fixed";
269 regulator-name = "pp3300_dx_edp";
271 regulator-min-microvolt = <3300000>;
272 regulator-max-microvolt = <3300000>;
274 gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
276 pinctrl-names = "default";
277 pinctrl-0 = <&en_pp3300_dx_edp>;
279 vin-supply = <&pp3300_a>;
282 pp3300_fp_tp: pp3300-fp-tp-regulator {
283 compatible = "regulator-fixed";
284 regulator-name = "pp3300_fp_tp";
286 regulator-min-microvolt = <3300000>;
287 regulator-max-microvolt = <3300000>;
289 /* AP turns on with PP1800_VIO_OUT; always on for AP */
293 vin-supply = <&pp3300_a>;
296 pp3300_hub: pp3300-hub-regulator {
297 compatible = "regulator-fixed";
298 regulator-name = "pp3300_hub";
300 regulator-min-microvolt = <3300000>;
301 regulator-max-microvolt = <3300000>;
303 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
305 pinctrl-names = "default";
306 pinctrl-0 = <&en_pp3300_hub>;
308 /* The BIOS leaves this regulator on */
311 vin-supply = <&pp3300_a>;
314 /* BOARD-SPECIFIC TOP LEVEL NODES */
316 backlight: backlight {
317 compatible = "pwm-backlight";
319 /* The panels don't seem to like anything below ~ 5% */
320 brightness-levels = <
321 196 256 324 400 484 576 676 784 900 1024 1156 1296
322 1444 1600 1764 1936 2116 2304 2500 2704 2916 3136
325 num-interpolated-steps = <64>;
326 default-brightness-level = <951>;
328 pwms = <&cros_ec_pwm 1>;
329 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
330 power-supply = <&ppvar_sys>;
331 pinctrl-names = "default";
332 pinctrl-0 = <&ap_edp_bklten>;
335 gpio_keys: gpio-keys {
336 compatible = "gpio-keys";
338 pinctrl-names = "default";
339 pinctrl-0 = <&pen_pdct_l>;
341 pen_insert: switch-pen-insert {
342 label = "Pen Insert";
344 /* Insert = low, eject = high */
345 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
346 linux,code = <SW_PEN_INSERTED>;
347 linux,input-type = <EV_SW>;
348 wakeup-event-action = <EV_ACT_DEASSERTED>;
353 max98360a: audio-codec-0 {
354 compatible = "maxim,max98360a";
355 pinctrl-names = "default";
356 pinctrl-0 = <&_en>;
357 sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
358 #sound-dai-cells = <0>;
362 compatible = "pwm-leds";
363 keyboard_backlight: led-0 {
365 label = "cros_ec::kbd_backlight";
366 function = LED_FUNCTION_KBD_BACKLIGHT;
367 pwms = <&cros_ec_pwm 0>;
368 max-brightness = <1023>;
373 compatible = "google,sc7180-trogdor";
374 model = "sc7180-rt5682-max98357a-1mic";
377 "Headphone Jack", "HPOL",
378 "Headphone Jack", "HPOR";
380 #address-cells = <1>;
384 link-name = "MultiMedia0";
385 reg = <MI2S_PRIMARY>;
387 sound-dai = <&lpass_cpu MI2S_PRIMARY>;
390 sound_multimedia0_codec: codec {
391 sound-dai = <&alc5682 0 /* aif1 */>;
396 link-name = "MultiMedia1";
397 reg = <MI2S_SECONDARY>;
399 sound-dai = <&lpass_cpu MI2S_SECONDARY>;
402 sound_multimedia1_codec: codec {
403 sound-dai = <&max98360a>;
408 link-name = "MultiMedia2";
411 sound-dai = <&lpass_cpu LPASS_DP_RX>;
415 sound-dai = <&mdss_dp>;
422 vcc-supply = <&pp1800_l11a>;
427 pinctrl-names = "default", "sleep";
428 pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data0>, <&qspi_data1>;
429 pinctrl-1 = <&qspi_sleep>;
432 compatible = "jedec,spi-nor";
435 spi-max-frequency = <37500000>;
436 spi-tx-bus-width = <2>;
437 spi-rx-bus-width = <2>;
443 compatible = "qcom,pm6150-rpmh-regulators";
449 regulator-min-microvolt = <1128000>;
450 regulator-max-microvolt = <1128000>;
466 regulator-min-microvolt = <824000>;
467 regulator-max-microvolt = <928000>;
468 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
473 regulator-min-microvolt = <488000>;
474 regulator-max-microvolt = <800000>;
475 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
483 regulator-min-microvolt = <1800000>;
484 regulator-max-microvolt = <1800000>;
485 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
495 regulator-min-microvolt = <1800000>;
496 regulator-max-microvolt = <1800000>;
497 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
501 pp1800_l12a_r: ldo12 {
502 regulator-min-microvolt = <1800000>;
503 regulator-max-microvolt = <1800000>;
504 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
508 * On trogdor this needs to match l10a since we use it to
509 * give power to things like SPI flash which communicate back
510 * on lines powered by l10a. Thus we force to 1.8V.
513 regulator-min-microvolt = <1800000>;
514 regulator-max-microvolt = <1800000>;
515 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
522 regulator-min-microvolt = <1800000>;
523 regulator-max-microvolt = <1800000>;
524 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
529 regulator-min-microvolt = <1800000>;
530 regulator-max-microvolt = <1800000>;
531 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
537 regulator-min-microvolt = <2920000>;
538 regulator-max-microvolt = <3232000>;
539 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
544 regulator-min-microvolt = <1800000>;
545 regulator-max-microvolt = <1800000>;
546 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
551 regulator-min-microvolt = <2960000>;
552 regulator-max-microvolt = <2960000>;
553 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
558 compatible = "qcom,pm6150l-rpmh-regulators";
562 regulator-min-microvolt = <1120000>;
563 regulator-max-microvolt = <1408000>;
567 regulator-min-microvolt = <1616000>;
568 regulator-max-microvolt = <1984000>;
569 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
574 regulator-min-microvolt = <1168000>;
575 regulator-max-microvolt = <1304000>;
576 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
590 regulator-min-microvolt = <1200000>;
591 regulator-max-microvolt = <1200000>;
592 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
597 regulator-min-microvolt = <1800000>;
598 regulator-max-microvolt = <2952000>;
599 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
603 regulator-min-microvolt = <3304000>;
604 regulator-max-microvolt = <3304000>;
605 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
611 regulator-min-microvolt = <1800000>;
612 regulator-max-microvolt = <1800000>;
613 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
617 regulator-min-microvolt = <2952000>;
618 regulator-max-microvolt = <2952000>;
619 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
623 regulator-min-microvolt = <3000000>;
624 regulator-max-microvolt = <3400000>;
625 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
629 regulator-min-microvolt = <3000000>;
630 regulator-max-microvolt = <3400000>;
631 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
635 regulator-min-microvolt = <3008000>;
636 regulator-max-microvolt = <3960000>;
637 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
645 compatible = "google,cros-ec-spi";
647 interrupt-parent = <&tlmm>;
648 interrupts = <94 IRQ_TYPE_LEVEL_LOW>;
649 pinctrl-names = "default";
650 pinctrl-0 = <&ap_ec_int_l>;
651 spi-max-frequency = <3000000>;
654 compatible = "google,cros-ec-pwm";
658 i2c_tunnel: i2c-tunnel {
659 compatible = "google,cros-ec-i2c-tunnel";
660 google,remote-bus = <0>;
661 #address-cells = <1>;
666 compatible = "google,cros-ec-typec";
667 #address-cells = <1>;
670 usb_c0: connector@0 {
671 compatible = "usb-c-connector";
676 try-power-role = "source";
679 usb_c1: connector@1 {
680 compatible = "usb-c-connector";
685 try-power-role = "source";
694 compatible = "google,cr50";
696 pinctrl-names = "default";
697 pinctrl-0 = <&h1_ap_int_odl>;
698 spi-max-frequency = <800000>;
699 interrupt-parent = <&tlmm>;
700 interrupts = <42 IRQ_TYPE_EDGE_RISING>;
708 ap_sar_sensor_i2c: &i2c5 {
709 clock-frequency = <400000>;
711 ap_sar_sensor: proximity@28 {
712 compatible = "semtech,sx9310";
714 #io-channel-cells = <1>;
715 pinctrl-names = "default";
716 pinctrl-0 = <&p_sensor_int_l>;
718 interrupt-parent = <&tlmm>;
719 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
721 vdd-supply = <&pp3300_a>;
722 svdd-supply = <&pp1800_prox>;
724 label = "proximity-wifi";
729 clock-frequency = <400000>;
731 trackpad: trackpad@15 {
732 compatible = "elan,ekth3000";
734 pinctrl-names = "default";
735 pinctrl-0 = <&tp_int_odl>;
737 interrupt-parent = <&tlmm>;
738 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
740 vcc-supply = <&pp3300_fp_tp>;
748 clock-frequency = <400000>;
751 compatible = "realtek,rt5682i";
753 pinctrl-names = "default";
754 pinctrl-0 = <&hp_irq>;
756 #sound-dai-cells = <1>;
758 interrupt-parent = <&tlmm>;
760 * This will get ignored because the interrupt type
761 * is set in rt5682.c.
763 interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
765 AVDD-supply = <&pp1800_alc5682>;
766 DBVDD-supply = <&pp1800_alc5682>;
767 LDO1-IN-supply = <&pp1800_alc5682>;
768 MICVDD-supply = <&pp3300_codec>;
769 VBAT-supply = <&pp3300_audio>;
771 realtek,dmic1-data-pin = <1>;
772 realtek,dmic1-clk-pin = <1>;
773 realtek,jd-src = <1>;
784 pinctrl-names = "default";
785 pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
787 #address-cells = <1>;
791 reg = <MI2S_PRIMARY>;
792 qcom,playback-sd-lines = <1>;
793 qcom,capture-sd-lines = <0>;
796 secondary_mi2s: dai-link@1 {
797 reg = <MI2S_SECONDARY>;
798 qcom,playback-sd-lines = <0>;
816 pinctrl-names = "default";
817 pinctrl-0 = <&dp_hot_plug_det>;
822 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
827 vdda-supply = <&vdda_mipi_dsi0_1p2>;
831 data-lanes = <0 1 2 3>;
836 vdds-supply = <&vdda_mipi_dsi0_pll>;
840 charger-thermistor@4f {
841 reg = <ADC5_AMUX_THM3_100K_PU>;
843 qcom,hw-settle-time = <200>;
850 charger-thermistor@0 {
852 io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
854 qcom,hw-settle-time-us = <200>;
872 compatible = "qcom,sc7180-mss-pil";
873 reg = <0 0x04080000 0 0x4040>, <0 0x04180000 0 0x48>;
874 reg-names = "qdsp6", "rmb";
876 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
877 <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>,
878 <&gcc GCC_MSS_NAV_AXI_CLK>,
879 <&gcc GCC_MSS_SNOC_AXI_CLK>,
880 <&gcc GCC_MSS_MFAB_AXIS_CLK>,
881 <&rpmhcc RPMH_CXO_CLK>;
882 clock-names = "iface", "bus", "nav", "snoc_axi", "mnoc_axi", "xo";
884 iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
885 memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>;
887 /* This gets overridden for SKUs with LTE support. */
888 firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn",
889 "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn";
891 resets = <&aoss_reset AOSS_CC_MSS_RESTART>,
892 <&pdc_reset PDC_MODEM_SYNC_RESET>;
893 reset-names = "mss_restart", "pdc_reset";
895 qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>;
896 qcom,spare-regs = <&tcsr_regs_2 0xb3e4>;
900 /* TF-A firmware maps memory cached so mark dma-coherent to match. */
907 pinctrl-names = "default", "sleep";
908 pinctrl-0 = <&sdc1_on>;
909 pinctrl-1 = <&sdc1_off>;
910 vmmc-supply = <&mcp_vcc>;
911 vqmmc-supply = <&mcp_vccq>;
915 pinctrl-names = "default", "sleep";
916 pinctrl-0 = <&sdc2_on>;
917 pinctrl-1 = <&sdc2_off>;
918 vmmc-supply = <&pp2950_l9c>;
919 vqmmc-supply = <&ppvar_l6c>;
921 cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
925 pinctrl-0 = <&qup_spi0_spi>, <&qup_spi0_cs_gpio>;
926 cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
930 pinctrl-0 = <&qup_spi6_spi>, <&qup_spi6_cs_gpio>;
931 cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
935 pinctrl-0 = <&qup_spi10_spi>, <&qup_spi10_cs_gpio>;
936 cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
939 compatible = "google,cros-ec-fp", "google,cros-ec-spi";
941 interrupt-parent = <&tlmm>;
942 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
943 pinctrl-names = "default";
944 pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>;
945 boot0-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
946 reset-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
947 spi-max-frequency = <3000000>;
948 vdd-supply = <&pp3300_fp_tp>;
952 #include <arm/cros-ec-sbs.dtsi>
957 /delete-property/interrupts;
958 interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
959 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
961 pinctrl-names = "default", "sleep";
962 pinctrl-1 = <&qup_uart3_sleep>;
964 bluetooth: bluetooth {
965 compatible = "qcom,wcn3991-bt";
966 vddio-supply = <&pp1800_l10a>;
967 vddxo-supply = <&pp1800_l1c>;
968 vddrf-supply = <&pp1300_l2c>;
969 vddch0-supply = <&pp3300_l10c>;
970 max-speed = <3200000>;
984 #address-cells = <1>;
987 /* 2.x hub on port 1 */
989 compatible = "usbbda,5411";
991 vdd-supply = <&pp3300_hub>;
992 peer-hub = <&usb_hub_3_x>;
995 /* 3.x hub on port 2 */
997 compatible = "usbbda,411";
999 vdd-supply = <&pp3300_hub>;
1000 peer-hub = <&usb_hub_2_x>;
1006 vdd-supply = <&vdd_qusb_hs0_core>;
1007 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
1008 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
1009 qcom,imp-res-offset-value = <8>;
1010 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
1011 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
1012 qcom,bias-ctrl-value = <0x22>;
1013 qcom,charge-ctrl-value = <3>;
1014 qcom,hsdisc-trim-value = <0>;
1019 vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
1020 vdda-pll-supply = <&vdda_usb_ss_dp_core>;
1025 iommus = <&apps_smmu 0x0c42 0x0>;
1031 vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
1032 vdd-1.8-xo-supply = <&pp1800_l1c>;
1033 vdd-1.3-rfa-supply = <&pp1300_l2c>;
1034 vdd-3.3-ch0-supply = <&pp3300_l10c>;
1035 vdd-3.3-ch1-supply = <&pp3300_l11c>;
1038 iommus = <&apps_smmu 0xc2 0x1>;
1042 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
1049 drive-strength = <2>;
1053 &pri_mi2s_mclk_active {
1054 drive-strength = <2>;
1059 bias-disable; /* External pullup */
1063 drive-strength = <8>;
1064 bias-disable; /* Rely on Cr50 internal pulldown */
1068 bias-disable; /* Rely on Cr50 internal pulldown */
1076 drive-strength = <2>;
1078 /* Has external pullup */
1083 drive-strength = <2>;
1085 /* Has external pullup */
1090 drive-strength = <2>;
1092 /* Has external pullup */
1097 drive-strength = <2>;
1099 /* Has external pullup */
1104 drive-strength = <2>;
1106 /* Has external pullup */
1111 drive-strength = <2>;
1116 drive-strength = <2>;
1121 drive-strength = <2>;
1126 drive-strength = <2>;
1131 drive-strength = <2>;
1135 &qup_spi10_cs_gpio {
1136 drive-strength = <2>;
1142 * Configure a pull-down on CTS to match the pull of
1143 * the Bluetooth module.
1149 /* We'll drive RTS, so no pull */
1150 drive-strength = <2>;
1155 /* We'll drive TX, so no pull */
1156 drive-strength = <2>;
1162 * Configure a pull-up on RX. This is needed to avoid
1163 * garbage data when the TX pin of the Bluetooth module is
1164 * in tri-state (module powered off or not driving the
1171 drive-strength = <2>;
1176 drive-strength = <2>;
1181 drive-strength = <2>;
1185 /* PINCTRL - board-specific pinctrl */
1188 status = "disabled"; /* No GPIOs are connected */
1192 gpio-line-names = "AP_SUSPEND",
1208 * pinctrl settings for pins that have no real owners.
1210 pinctrl-names = "default";
1211 pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
1213 amp_en: amp-en-state {
1219 ap_ec_int_l: ap-ec-int-l-state {
1225 ap_edp_bklten: ap-edp-bklten-state {
1228 drive-strength = <2>;
1231 /* Force backlight to be disabled to match state at boot. */
1235 ap_suspend_l_neuter: ap-suspend-l-neuter-state {
1241 bios_flash_wp_l: bios-flash-wp-l-state {
1247 edp_brij_en: edp-brij-en-state {
1250 drive-strength = <2>;
1254 en_pp3300_codec: en-pp3300-codec-state {
1257 drive-strength = <2>;
1261 en_pp3300_dx_edp: en-pp3300-dx-edp-state {
1264 drive-strength = <2>;
1268 en_pp3300_hub: en-pp3300-hub-state {
1271 drive-strength = <2>;
1275 fp_rst_l: fp-rst-l-state {
1279 drive-strength = <2>;
1282 fp_to_ap_irq_l: fp-to-ap-irq-l-state {
1286 /* Has external pullup */
1290 fpmcu_boot0: fpmcu-boot0-state {
1296 h1_ap_int_odl: h1-ap-int-odl-state {
1302 hp_irq: hp-irq-state {
1308 pen_irq_l: pen-irq-l-state {
1312 /* Has external pullup */
1316 pen_pdct_l: pen-pdct-l-state-state {
1320 /* Has external pullup */
1324 pen_rst_odl: pen-rst-odl-state {
1328 drive-strength = <2>;
1331 * The pen driver doesn't currently support
1332 * driving this reset line. By specifying
1333 * output-high here we're relying on the fact
1334 * that this pin has a default pulldown at boot
1335 * (which makes sure the pen was in reset if it
1336 * was powered) and then we set it high here to
1337 * take it out of reset. Better would be if the
1338 * pen driver could control this and we could
1339 * remove "output-high" here.
1341 output-high; /* TODO: Remove this? */
1344 p_sensor_int_l: p-sensor-int-l-state {
1348 /* Has external pullup */
1352 qspi_sleep: qspi-sleep-state {
1353 pins = "gpio63", "gpio64", "gpio65", "gpio68";
1356 * When we're not actively transferring we want pins as GPIOs
1357 * with output disabled so that the quad SPI IP block stops
1358 * driving them. We rely on the normal pulls configured in
1359 * the active state and don't redefine them here. Also note
1360 * that we don't need the reverse (output-enable) in the
1361 * normal mode since the "output-enable" only matters for
1368 qup_uart3_sleep: qup-uart3-sleep-state {
1371 * Configure a pull-down on CTS to match the pull of
1372 * the Bluetooth module.
1381 * Configure pull-down on RTS. As RTS is active low
1382 * signal, pull it low to indicate the BT SoC that it
1383 * can wakeup the system anytime from suspend state by
1384 * pulling RX low (by sending wakeup bytes).
1393 * Configure pull-up on TX when it isn't actively driven
1394 * to prevent BT SoC from receiving garbage during sleep.
1403 * Configure a pull-up on RX. This is needed to avoid
1404 * garbage data when the TX pin of the Bluetooth module
1405 * is floating which may cause spurious wakeups.
1413 /* Named trackpad_int_1v8_odl on earlier revision schematics */
1414 trackpad_int_1v8_odl:
1415 tp_int_odl: tp-int-odl-state {
1419 /* Has external pullup */
1423 ts_int_l: ts-int-l-state {
1429 ts_reset_l: ts-reset-l-state {
1435 * The reset GPIO to the touchscreen takes almost 2ms to drop
1436 * at the default drive strength. When we bump it up to 8mA it
1437 * falls in under 500us. We want this to be fast since the Elan
1438 * datasheet (and any drivers written based on it) talk about using
1439 * a 500 us reset pulse.
1441 drive-strength = <8>;
1444 sdc1_on: sdc1-on-state {
1448 drive-strength = <16>;
1454 drive-strength = <16>;
1460 drive-strength = <16>;
1469 sdc1_off: sdc1-off-state {
1473 drive-strength = <2>;
1479 drive-strength = <2>;
1485 drive-strength = <2>;
1494 sdc2_on: sdc2-on-state {
1498 drive-strength = <16>;
1504 drive-strength = <10>;
1510 drive-strength = <10>;
1517 drive-strength = <2>;
1521 sdc2_off: sdc2-off-state {
1525 drive-strength = <2>;
1531 drive-strength = <2>;
1537 drive-strength = <2>;
1544 drive-strength = <2>;
1548 uf_cam_en: uf-cam-en-state {
1551 drive-strength = <2>;
1553 /* External pull down */
1557 wf_cam_en: wf-cam-en-state {
1560 drive-strength = <2>;
1562 /* External pull down */