1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Google Cheza device tree source (common between revisions)
5 * Copyright 2018 Google LLC.
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11 #include "sdm845.dtsi"
13 /* PMICs depend on spmi_bus label and so must come after SoC */
14 #include "pm8005.dtsi"
15 #include "pm8998.dtsi"
19 bluetooth0 = &bluetooth;
26 stdout-path = "serial0:115200n8";
29 backlight: backlight {
30 compatible = "pwm-backlight";
31 pwms = <&cros_ec_pwm 0>;
32 enable-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
33 power-supply = <&ppvar_sys>;
34 pinctrl-names = "default";
35 pinctrl-0 = <&ap_edp_bklten>;
38 /* FIXED REGULATORS - parents above children */
40 /* This is the top level supply and variable voltage */
41 ppvar_sys: ppvar-sys-regulator {
42 compatible = "regulator-fixed";
43 regulator-name = "ppvar_sys";
48 /* This divides ppvar_sys by 2, so voltage is variable */
49 src_vph_pwr: src-vph-pwr-regulator {
50 compatible = "regulator-fixed";
51 regulator-name = "src_vph_pwr";
53 /* EC turns on with switchcap_on_l; always on for AP */
57 vin-supply = <&ppvar_sys>;
60 pp5000_a: pp5000-a-regulator {
61 compatible = "regulator-fixed";
62 regulator-name = "pp5000_a";
64 /* EC turns on with en_pp5000_a; always on for AP */
67 regulator-min-microvolt = <5000000>;
68 regulator-max-microvolt = <5000000>;
70 vin-supply = <&ppvar_sys>;
73 src_vreg_bob: src-vreg-bob-regulator {
74 compatible = "regulator-fixed";
75 regulator-name = "src_vreg_bob";
77 /* EC turns on with vbob_en; always on for AP */
80 regulator-min-microvolt = <3600000>;
81 regulator-max-microvolt = <3600000>;
83 vin-supply = <&ppvar_sys>;
86 pp3300_dx_edp: pp3300-dx-edp-regulator {
87 compatible = "regulator-fixed";
88 regulator-name = "pp3300_dx_edp";
90 regulator-min-microvolt = <3300000>;
91 regulator-max-microvolt = <3300000>;
93 gpio = <&tlmm 43 GPIO_ACTIVE_HIGH>;
95 pinctrl-names = "default";
96 pinctrl-0 = <&en_pp3300_dx_edp>;
100 * Apparently RPMh does not provide support for PM8998 S4 because it
101 * is always-on; model it as a fixed regulator.
103 src_pp1800_s4a: pm8998-smps4 {
104 compatible = "regulator-fixed";
105 regulator-name = "src_pp1800_s4a";
107 regulator-min-microvolt = <1800000>;
108 regulator-max-microvolt = <1800000>;
113 vin-supply = <&src_vph_pwr>;
116 /* BOARD-SPECIFIC TOP LEVEL NODES */
119 compatible = "gpio-keys";
120 pinctrl-names = "default";
121 pinctrl-0 = <&pen_eject_odl>;
124 label = "Pen Insert";
125 /* Insert = low, eject = high */
126 gpios = <&tlmm 119 GPIO_ACTIVE_LOW>;
127 linux,code = <SW_PEN_INSERTED>;
128 linux,input-type = <EV_SW>;
134 compatible ="innolux,p120zdg-bf1";
135 power-supply = <&pp3300_dx_edp>;
136 backlight = <&backlight>;
141 panel_in_edp: endpoint {
142 remote-endpoint = <&sn65dsi86_out>;
150 * Reserved memory changes
152 * Putting this all together (out of order with the rest of the file) to keep
153 * all modifications to the memory map (from sdm845.dtsi) in one place.
157 * Our mpss_region is 8MB bigger than the default one and that conflicts
158 * with venus_mem and cdsp_mem.
160 * For venus_mem we'll delete and re-create at a different address.
162 * cdsp_mem isn't used on cheza right now so we won't bother re-creating it; but
163 * that also means we need to delete cdsp_pas.
165 /delete-node/ &venus_mem;
166 /delete-node/ &cdsp_mem;
167 /delete-node/ &cdsp_pas;
169 /* Increase the size from 120 MB to 128 MB */
171 reg = <0 0x8e000000 0 0x8000000>;
174 /* Increase the size from 2MB to 8MB */
176 reg = <0 0x88f00000 0 0x800000>;
181 venus_mem: memory@96000000 {
182 reg = <0 0x96000000 0 0x500000>;
190 pinctrl-names = "default";
191 pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>;
194 compatible = "jedec,spi-nor";
198 * In theory chip supports up to 104 MHz and controller up
199 * to 80 MHz, but above 25 MHz wasn't reliable so we'll use
200 * that for now. b:117440651
202 spi-max-frequency = <25000000>;
203 spi-tx-bus-width = <2>;
204 spi-rx-bus-width = <2>;
210 pm8998-rpmh-regulators {
211 compatible = "qcom,pm8998-rpmh-regulators";
214 vdd-s1-supply = <&src_vph_pwr>;
215 vdd-s2-supply = <&src_vph_pwr>;
216 vdd-s3-supply = <&src_vph_pwr>;
217 vdd-s4-supply = <&src_vph_pwr>;
218 vdd-s5-supply = <&src_vph_pwr>;
219 vdd-s6-supply = <&src_vph_pwr>;
220 vdd-s7-supply = <&src_vph_pwr>;
221 vdd-s8-supply = <&src_vph_pwr>;
222 vdd-s9-supply = <&src_vph_pwr>;
223 vdd-s10-supply = <&src_vph_pwr>;
224 vdd-s11-supply = <&src_vph_pwr>;
225 vdd-s12-supply = <&src_vph_pwr>;
226 vdd-s13-supply = <&src_vph_pwr>;
227 vdd-l1-l27-supply = <&src_pp1025_s7a>;
228 vdd-l2-l8-l17-supply = <&src_pp1350_s3a>;
229 vdd-l3-l11-supply = <&src_pp1025_s7a>;
230 vdd-l4-l5-supply = <&src_pp1025_s7a>;
231 vdd-l6-supply = <&src_vph_pwr>;
232 vdd-l7-l12-l14-l15-supply = <&src_pp2040_s5a>;
233 vdd-l9-supply = <&src_pp2040_s5a>;
234 vdd-l10-l23-l25-supply = <&src_vreg_bob>;
235 vdd-l13-l19-l21-supply = <&src_vreg_bob>;
236 vdd-l16-l28-supply = <&src_vreg_bob>;
237 vdd-l18-l22-supply = <&src_vreg_bob>;
238 vdd-l20-l24-supply = <&src_vreg_bob>;
239 vdd-l26-supply = <&src_pp1350_s3a>;
240 vin-lvs-1-2-supply = <&src_pp1800_s4a>;
242 src_pp1125_s2a: smps2 {
243 regulator-min-microvolt = <1100000>;
244 regulator-max-microvolt = <1100000>;
247 src_pp1350_s3a: smps3 {
248 regulator-min-microvolt = <1352000>;
249 regulator-max-microvolt = <1352000>;
252 src_pp2040_s5a: smps5 {
253 regulator-min-microvolt = <1904000>;
254 regulator-max-microvolt = <2040000>;
257 src_pp1025_s7a: smps7 {
258 regulator-min-microvolt = <900000>;
259 regulator-max-microvolt = <1028000>;
280 src_pp875_l1a: ldo1 {
281 regulator-min-microvolt = <880000>;
282 regulator-max-microvolt = <880000>;
283 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287 src_pp1200_l2a: ldo2 {
288 regulator-min-microvolt = <1200000>;
289 regulator-max-microvolt = <1200000>;
290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
296 pp1000_l3a_sdr845: ldo3 {
297 regulator-min-microvolt = <1000000>;
298 regulator-max-microvolt = <1000000>;
299 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305 src_pp800_l5a: ldo5 {
306 regulator-min-microvolt = <800000>;
307 regulator-max-microvolt = <800000>;
308 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312 src_pp1800_l6a: ldo6 {
313 regulator-min-microvolt = <1856000>;
314 regulator-max-microvolt = <1856000>;
315 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318 pp1800_l7a_wcn3990: ldo7 {
319 regulator-min-microvolt = <1800000>;
320 regulator-max-microvolt = <1800000>;
321 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
324 src_pp1200_l8a: ldo8 {
325 regulator-min-microvolt = <1200000>;
326 regulator-max-microvolt = <1248000>;
327 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
331 src_pp1800_l9a: ldo9 {
332 regulator-min-microvolt = <1800000>;
333 regulator-max-microvolt = <1800000>;
334 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337 src_pp1800_l10a: ldo10 {
338 regulator-min-microvolt = <1800000>;
339 regulator-max-microvolt = <1800000>;
340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
343 pp1000_l11a_sdr845: ldo11 {
344 regulator-min-microvolt = <1000000>;
345 regulator-max-microvolt = <1048000>;
346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356 src_pp1800_l12a: ldo12 {
357 regulator-min-microvolt = <1800000>;
358 regulator-max-microvolt = <1800000>;
359 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363 src_pp2950_l13a: ldo13 {
364 regulator-min-microvolt = <1800000>;
365 regulator-max-microvolt = <2960000>;
366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369 src_pp1800_l14a: ldo14 {
370 regulator-min-microvolt = <1800000>;
371 regulator-max-microvolt = <1800000>;
372 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
375 src_pp1800_l15a: ldo15 {
376 regulator-min-microvolt = <1800000>;
377 regulator-max-microvolt = <1800000>;
378 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
382 regulator-min-microvolt = <2704000>;
383 regulator-max-microvolt = <2704000>;
384 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
387 src_pp1300_l17a: ldo17 {
388 regulator-min-microvolt = <1304000>;
389 regulator-max-microvolt = <1304000>;
390 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
394 regulator-min-microvolt = <2704000>;
395 regulator-max-microvolt = <2960000>;
396 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
400 * NOTE: this rail should have been called
401 * src_pp3300_l19a in the schematic
403 src_pp3000_l19a: ldo19 {
404 regulator-min-microvolt = <3304000>;
405 regulator-max-microvolt = <3304000>;
407 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
410 src_pp2950_l20a: ldo20 {
411 regulator-min-microvolt = <2704000>;
412 regulator-max-microvolt = <2960000>;
413 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416 src_pp2950_l21a: ldo21 {
417 regulator-min-microvolt = <2704000>;
418 regulator-max-microvolt = <2960000>;
419 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423 src_pp3300_l22a: ldo22 {
424 regulator-min-microvolt = <3304000>;
425 regulator-max-microvolt = <3304000>;
426 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
428 * HACK: Should add a usb hub node and driver
429 * to turn this on and off at suspend/resume time
435 pp3300_l23a_ch1_wcn3990: ldo23 {
436 regulator-min-microvolt = <3000000>;
437 regulator-max-microvolt = <3312000>;
438 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
442 src_pp3075_l24a: ldo24 {
443 regulator-min-microvolt = <3088000>;
444 regulator-max-microvolt = <3088000>;
445 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
448 pp3300_l25a_ch0_wcn3990: ldo25 {
449 regulator-min-microvolt = <3304000>;
450 regulator-max-microvolt = <3304000>;
451 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
468 src_pp1200_l26a: ldo26 {
469 regulator-min-microvolt = <1200000>;
470 regulator-max-microvolt = <1200000>;
471 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
475 src_pp3300_l28a: ldo28 {
476 regulator-min-microvolt = <3304000>;
477 regulator-max-microvolt = <3304000>;
478 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
481 src_pp1800_lvs1: lvs1 {
482 regulator-min-microvolt = <1800000>;
483 regulator-max-microvolt = <1800000>;
486 src_pp1800_lvs2: lvs2 {
487 regulator-min-microvolt = <1800000>;
488 regulator-max-microvolt = <1800000>;
492 pm8005-rpmh-regulators {
493 compatible = "qcom,pm8005-rpmh-regulators";
496 vdd-s1-supply = <&src_vph_pwr>;
497 vdd-s2-supply = <&src_vph_pwr>;
498 vdd-s3-supply = <&src_vph_pwr>;
499 vdd-s4-supply = <&src_vph_pwr>;
501 src_pp600_s3c: smps3 {
502 regulator-min-microvolt = <600000>;
503 regulator-max-microvolt = <600000>;
510 vdda-supply = <&vdda_mipi_dsi0_1p2>;
515 remote-endpoint = <&sn65dsi86_in>;
516 data-lanes = <0 1 2 3>;
524 vdds-supply = <&vdda_mipi_dsi0_pll>;
527 edp_brij_i2c: &i2c3 {
529 clock-frequency = <400000>;
531 sn65dsi86_bridge: bridge@2d {
532 compatible = "ti,sn65dsi86";
534 pinctrl-names = "default";
535 pinctrl-0 = <&edp_brij_en &edp_brij_irq>;
537 interrupt-parent = <&tlmm>;
538 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
540 enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
542 vpll-supply = <&src_pp1800_s4a>;
543 vccio-supply = <&src_pp1800_s4a>;
544 vcca-supply = <&src_pp1200_l2a>;
545 vcc-supply = <&src_pp1200_l2a>;
547 clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
548 clock-names = "refclk";
551 #address-cells = <1>;
556 sn65dsi86_in: endpoint {
557 remote-endpoint = <&dsi0_out>;
563 sn65dsi86_out: endpoint {
564 remote-endpoint = <&panel_in_edp>;
573 clock-frequency = <400000>;
576 compatible = "wacom,w9013", "hid-over-i2c";
578 pinctrl-names = "default";
579 pinctrl-0 = <&pen_irq_l>, <&pen_pdct_l>, <&pen_rst_l>;
581 vdd-supply = <&pp3300_dx_pen>;
582 vddl-supply = <&pp1800_dx_pen>;
583 post-power-on-delay-ms = <100>;
585 interrupt-parent = <&tlmm>;
586 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
588 hid-descr-addr = <0x1>;
594 clock-frequency = <400000>;
599 clock-frequency = <400000>;
602 compatible = "elan,ekth3500";
604 pinctrl-names = "default";
605 pinctrl-0 = <&ts_int_l &ts_reset_l>;
607 interrupt-parent = <&tlmm>;
608 interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
610 vcc33-supply = <&src_pp3300_l28a>;
612 reset-gpios = <&tlmm 118 GPIO_ACTIVE_LOW>;
639 pinctrl-names = "default";
640 pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data &sd_cd_odl>;
642 vmmc-supply = <&src_pp2950_l21a>;
643 vqmmc-supply = <&vddpx_2>;
645 cd-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
656 compatible = "google,cros-ec-spi";
658 interrupt-parent = <&tlmm>;
659 interrupts = <122 IRQ_TYPE_LEVEL_LOW>;
660 pinctrl-names = "default";
661 pinctrl-0 = <&ec_ap_int_l>;
662 spi-max-frequency = <3000000>;
664 cros_ec_pwm: ec-pwm {
665 compatible = "google,cros-ec-pwm";
669 i2c_tunnel: i2c-tunnel {
670 compatible = "google,cros-ec-i2c-tunnel";
671 google,remote-bus = <0>;
672 #address-cells = <1>;
677 compatible = "google,cros-ec-pd-update";
682 #include <arm/cros-ec-keyboard.dtsi>
683 #include <arm/cros-ec-sbs.dtsi>
688 bluetooth: wcn3990-bt {
689 compatible = "qcom,wcn3990-bt";
690 vddio-supply = <&src_pp1800_s4a>;
691 vddxo-supply = <&pp1800_l7a_wcn3990>;
692 vddrf-supply = <&src_pp1300_l17a>;
693 vddch0-supply = <&pp3300_l25a_ch0_wcn3990>;
694 max-speed = <3200000>;
704 pinctrl-names = "init", "default";
705 pinctrl-0 = <&ufs_dev_reset_assert>;
706 pinctrl-1 = <&ufs_dev_reset_deassert>;
708 vcc-supply = <&src_pp2950_l20a>;
709 vcc-max-microamp = <600000>;
715 vdda-phy-supply = <&vdda_ufs1_core>;
716 vdda-pll-supply = <&vdda_ufs1_1p2>;
722 /* We'll use this as USB 2.0 only */
723 qcom,select-utmi-as-pipe-clk;
728 * The hardware design intends this port to be hooked up in peripheral
729 * mode, so we'll hardcode it here. Some details:
730 * - SDM845 expects only a single Type C connector so it has only one
731 * native Type C port but cheza has two Type C connectors.
732 * - The only source of DP is the single native Type C port.
733 * - On cheza we want to be able to hook DP up to _either_ of the
734 * two Type C connectors and want to be able to achieve 4 lanes of DP.
735 * - When you configure a Type C port for 4 lanes of DP you lose USB3.
736 * - In order to make everything work, the native Type C port is always
737 * configured as 4-lanes DP so it's always available.
738 * - The extra USB3 port on SDM845 goes to a USB 3 hub which is then
739 * sent to the two Type C connectors.
740 * - The extra USB2 lines from the native Type C port are always
741 * setup as "peripheral" so that we can mux them over to one connector
742 * or the other if someone needs the connector configured as a gadget
743 * (but they only get USB2 speeds).
745 * All the hardware muxes would allow us to hook things up in different
746 * ways to some potential benefit for static configurations (you could
747 * achieve extra USB2 bandwidth by using two different ports for the
748 * two conenctors or possibly even get USB3 peripheral mode), but in
749 * each case you end up forcing to disconnect/reconnect an in-use
750 * USB session in some cases depending on what you hotplug into the
751 * other connector. Thus hardcoding this as peripheral makes sense.
753 dr_mode = "peripheral";
756 * We always need the high speed pins as 4-lanes DP in case someone
757 * hotplugs a DP peripheral. Thus limit this port to a max of high
760 maximum-speed = "high-speed";
763 * We don't need the usb3-phy since we run in highspeed mode always, so
764 * re-define these properties removing the superspeed USB PHY reference.
766 phys = <&usb_1_hsphy>;
767 phy-names = "usb2-phy";
773 vdd-supply = <&vdda_usb1_ss_core>;
774 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
775 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
777 qcom,imp-res-offset-value = <8>;
778 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
779 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
780 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
788 /* We have this hooked up to a hub and we always use in host mode */
795 vdd-supply = <&vdda_usb2_ss_core>;
796 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
797 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
799 qcom,imp-res-offset-value = <8>;
800 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
806 vdda-phy-supply = <&vdda_usb2_ss_1p2>;
807 vdda-pll-supply = <&vdda_usb2_ss_core>;
813 vdd-0.8-cx-mx-supply = <&src_pp800_l5a >;
814 vdd-1.8-xo-supply = <&pp1800_l7a_wcn3990>;
815 vdd-1.3-rfa-supply = <&src_pp1300_l17a>;
816 vdd-3.3-ch0-supply = <&pp3300_l25a_ch0_wcn3990>;
819 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
837 pins = "gpio91", "gpio92";
839 /* High-Z when no transfers; nice to park the lines */
846 pins = "gpio41", "gpio42";
847 drive-strength = <2>;
849 /* Has external pullup */
856 pins = "gpio31", "gpio32";
857 drive-strength = <2>;
859 /* Has external pullup */
866 pins = "gpio49", "gpio50";
867 drive-strength = <2>;
869 /* Has external pullup */
876 pins = "gpio33", "gpio34";
877 drive-strength = <2>;
879 /* Has external pullup */
886 pins = "gpio0", "gpio1", "gpio2", "gpio3";
887 drive-strength = <2>;
894 pins = "gpio85", "gpio86", "gpio87", "gpio88";
895 drive-strength = <2>;
902 pins = "gpio53", "gpio54", "gpio55", "gpio56";
903 drive-strength = <2>;
909 /* Change pinmux to all 4 pins since CTS and RTS are connected */
911 pins = "gpio45", "gpio46",
917 * Configure a pull-down on 45 (CTS) to match the pull of
918 * the Bluetooth module.
925 /* We'll drive 46 (RTS) and 47 (TX), so no pull */
926 pins = "gpio46", "gpio47";
927 drive-strength = <2>;
933 * Configure a pull-up on 48 (RX). This is needed to avoid
934 * garbage data when the TX pin of the Bluetooth module is
935 * in tri-state (module powered off or not driving the
946 drive-strength = <2>;
952 drive-strength = <2>;
957 /* PINCTRL - board-specific pinctrl */
959 gpio-line-names = "",
966 adc-chan@ADC5_AMUX_THM1_100K_PU {
967 reg = <ADC5_AMUX_THM1_100K_PU>;
971 adc-chan@ADC5_AMUX_THM2_100K_PU {
972 reg = <ADC5_AMUX_THM2_100K_PU>;
973 label = "quiet_temp";
976 adc-chan@ADC5_AMUX_THM3_100K_PU {
977 reg = <ADC5_AMUX_THM3_100K_PU>;
978 label = "lte_temp_1";
981 adc-chan@ADC5_AMUX_THM4_100K_PU {
982 reg = <ADC5_AMUX_THM4_100K_PU>;
983 label = "lte_temp_2";
986 adc-chan@ADC5_AMUX_THM5_100K_PU {
987 reg = <ADC5_AMUX_THM5_100K_PU>;
988 label = "charger_temp";
993 gpio-line-names = "",
1023 * pinctrl settings for pins that have no real owners.
1025 pinctrl-names = "default", "sleep";
1026 pinctrl-0 = <&bios_flash_wp_r_l>,
1027 <&ap_suspend_l_deassert>;
1029 pinctrl-1 = <&bios_flash_wp_r_l>,
1030 <&ap_suspend_l_assert>;
1033 * Hogs prevent usermode from changing the value. A GPIO can be both
1034 * here and in the pinctrl section.
1038 gpios = <126 GPIO_ACTIVE_LOW>;
1042 ap_edp_bklten: ap-edp-bklten {
1050 drive-strength = <2>;
1055 bios_flash_wp_r_l: bios-flash-wp-r-l {
1068 ec_ap_int_l: ec-ap-int-l {
1081 edp_brij_en: edp-brij-en {
1089 drive-strength = <2>;
1094 edp_brij_irq: edp-brij-irq {
1102 drive-strength = <2>;
1107 en_pp3300_dx_edp: en-pp3300-dx-edp {
1115 drive-strength = <2>;
1120 h1_ap_int_odl: h1-ap-int-odl {
1133 pen_eject_odl: pen-eject-odl {
1141 pen_irq_l: pen-irq-l {
1150 /* Has external pullup */
1155 pen_pdct_l: pen-pdct-l {
1164 /* Has external pullup */
1169 pen_rst_l: pen-rst-l {
1178 drive-strength = <2>;
1181 * The pen driver doesn't currently support
1182 * driving this reset line. By specifying
1183 * output-high here we're relying on the fact
1184 * that this pin has a default pulldown at boot
1185 * (which makes sure the pen was in reset if it
1186 * was powered) and then we set it high here to
1187 * take it out of reset. Better would be if the
1188 * pen driver could control this and we could
1189 * remove "output-high" here.
1195 sdc2_clk: sdc2-clk {
1201 * It seems that mmc_test reports errors if drive
1202 * strength is not 16.
1204 drive-strength = <16>;
1208 sdc2_cmd: sdc2-cmd {
1212 drive-strength = <16>;
1216 sdc2_data: sdc2-data {
1220 drive-strength = <16>;
1224 sd_cd_odl: sd-cd-odl {
1236 ts_int_l: ts-int-l {
1248 ts_reset_l: ts-reset-l {
1257 drive-strength = <2>;
1261 ufs_dev_reset_assert: ufs_dev_reset_assert {
1264 bias-pull-down; /* default: pull down */
1266 * UFS_RESET driver strengths are having
1267 * different values/steps compared to typical
1268 * GPIO drive strengths.
1270 * Following table clarifies:
1272 * HDRV value | UFS_RESET | Typical GPIO
1273 * (dec) | (mA) | (mA)
1283 * POR value for UFS_RESET HDRV is 3 which means
1284 * 3.1mA and we want to use that. Hence just
1285 * specify 8mA to "drive-strength" binding and
1286 * that should result into writing 3 to HDRV
1289 drive-strength = <8>; /* default: 3.1 mA */
1290 output-low; /* active low reset */
1294 ufs_dev_reset_deassert: ufs_dev_reset_deassert {
1297 bias-pull-down; /* default: pull down */
1300 * check comments under ufs_dev_reset_assert
1302 drive-strength = <8>;
1303 output-high; /* active low reset */
1307 ap_suspend_l_assert: ap_suspend_l_assert {
1312 drive-strength = <2>;
1317 ap_suspend_l_deassert: ap_suspend_l_deassert {
1322 drive-strength = <2>;