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;
168 /delete-node/ &zap_shader;
169 /delete-node/ &gpu_mem;
171 /* Increase the size from 120 MB to 128 MB */
173 reg = <0 0x8e000000 0 0x8000000>;
176 /* Increase the size from 2MB to 8MB */
178 reg = <0 0x88f00000 0 0x800000>;
183 venus_mem: memory@96000000 {
184 reg = <0 0x96000000 0 0x500000>;
192 pinctrl-names = "default";
193 pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>;
196 compatible = "jedec,spi-nor";
200 * In theory chip supports up to 104 MHz and controller up
201 * to 80 MHz, but above 25 MHz wasn't reliable so we'll use
202 * that for now. b:117440651
204 spi-max-frequency = <25000000>;
205 spi-tx-bus-width = <2>;
206 spi-rx-bus-width = <2>;
212 pm8998-rpmh-regulators {
213 compatible = "qcom,pm8998-rpmh-regulators";
216 vdd-s1-supply = <&src_vph_pwr>;
217 vdd-s2-supply = <&src_vph_pwr>;
218 vdd-s3-supply = <&src_vph_pwr>;
219 vdd-s4-supply = <&src_vph_pwr>;
220 vdd-s5-supply = <&src_vph_pwr>;
221 vdd-s6-supply = <&src_vph_pwr>;
222 vdd-s7-supply = <&src_vph_pwr>;
223 vdd-s8-supply = <&src_vph_pwr>;
224 vdd-s9-supply = <&src_vph_pwr>;
225 vdd-s10-supply = <&src_vph_pwr>;
226 vdd-s11-supply = <&src_vph_pwr>;
227 vdd-s12-supply = <&src_vph_pwr>;
228 vdd-s13-supply = <&src_vph_pwr>;
229 vdd-l1-l27-supply = <&src_pp1025_s7a>;
230 vdd-l2-l8-l17-supply = <&src_pp1350_s3a>;
231 vdd-l3-l11-supply = <&src_pp1025_s7a>;
232 vdd-l4-l5-supply = <&src_pp1025_s7a>;
233 vdd-l6-supply = <&src_vph_pwr>;
234 vdd-l7-l12-l14-l15-supply = <&src_pp2040_s5a>;
235 vdd-l9-supply = <&src_pp2040_s5a>;
236 vdd-l10-l23-l25-supply = <&src_vreg_bob>;
237 vdd-l13-l19-l21-supply = <&src_vreg_bob>;
238 vdd-l16-l28-supply = <&src_vreg_bob>;
239 vdd-l18-l22-supply = <&src_vreg_bob>;
240 vdd-l20-l24-supply = <&src_vreg_bob>;
241 vdd-l26-supply = <&src_pp1350_s3a>;
242 vin-lvs-1-2-supply = <&src_pp1800_s4a>;
244 src_pp1125_s2a: smps2 {
245 regulator-min-microvolt = <1100000>;
246 regulator-max-microvolt = <1100000>;
249 src_pp1350_s3a: smps3 {
250 regulator-min-microvolt = <1352000>;
251 regulator-max-microvolt = <1352000>;
254 src_pp2040_s5a: smps5 {
255 regulator-min-microvolt = <1904000>;
256 regulator-max-microvolt = <2040000>;
259 src_pp1025_s7a: smps7 {
260 regulator-min-microvolt = <900000>;
261 regulator-max-microvolt = <1028000>;
282 src_pp875_l1a: ldo1 {
283 regulator-min-microvolt = <880000>;
284 regulator-max-microvolt = <880000>;
285 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
289 src_pp1200_l2a: ldo2 {
290 regulator-min-microvolt = <1200000>;
291 regulator-max-microvolt = <1200000>;
292 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298 pp1000_l3a_sdr845: ldo3 {
299 regulator-min-microvolt = <1000000>;
300 regulator-max-microvolt = <1000000>;
301 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
307 src_pp800_l5a: ldo5 {
308 regulator-min-microvolt = <800000>;
309 regulator-max-microvolt = <800000>;
310 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
314 src_pp1800_l6a: ldo6 {
315 regulator-min-microvolt = <1856000>;
316 regulator-max-microvolt = <1856000>;
317 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
320 pp1800_l7a_wcn3990: ldo7 {
321 regulator-min-microvolt = <1800000>;
322 regulator-max-microvolt = <1800000>;
323 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326 src_pp1200_l8a: ldo8 {
327 regulator-min-microvolt = <1200000>;
328 regulator-max-microvolt = <1248000>;
329 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333 src_pp1800_l9a: ldo9 {
334 regulator-min-microvolt = <1800000>;
335 regulator-max-microvolt = <1800000>;
336 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
339 src_pp1800_l10a: ldo10 {
340 regulator-min-microvolt = <1800000>;
341 regulator-max-microvolt = <1800000>;
342 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
345 pp1000_l11a_sdr845: ldo11 {
346 regulator-min-microvolt = <1000000>;
347 regulator-max-microvolt = <1048000>;
348 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
358 src_pp1800_l12a: ldo12 {
359 regulator-min-microvolt = <1800000>;
360 regulator-max-microvolt = <1800000>;
361 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
365 src_pp2950_l13a: ldo13 {
366 regulator-min-microvolt = <1800000>;
367 regulator-max-microvolt = <2960000>;
368 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
371 src_pp1800_l14a: ldo14 {
372 regulator-min-microvolt = <1800000>;
373 regulator-max-microvolt = <1800000>;
374 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377 src_pp1800_l15a: ldo15 {
378 regulator-min-microvolt = <1800000>;
379 regulator-max-microvolt = <1800000>;
380 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384 regulator-min-microvolt = <2704000>;
385 regulator-max-microvolt = <2704000>;
386 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
389 src_pp1300_l17a: ldo17 {
390 regulator-min-microvolt = <1304000>;
391 regulator-max-microvolt = <1304000>;
392 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
396 regulator-min-microvolt = <2704000>;
397 regulator-max-microvolt = <2960000>;
398 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402 * NOTE: this rail should have been called
403 * src_pp3300_l19a in the schematic
405 src_pp3000_l19a: ldo19 {
406 regulator-min-microvolt = <3304000>;
407 regulator-max-microvolt = <3304000>;
409 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
412 src_pp2950_l20a: ldo20 {
413 regulator-min-microvolt = <2704000>;
414 regulator-max-microvolt = <2960000>;
415 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
418 src_pp2950_l21a: ldo21 {
419 regulator-min-microvolt = <2704000>;
420 regulator-max-microvolt = <2960000>;
421 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
425 src_pp3300_l22a: ldo22 {
426 regulator-min-microvolt = <3304000>;
427 regulator-max-microvolt = <3304000>;
428 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430 * HACK: Should add a usb hub node and driver
431 * to turn this on and off at suspend/resume time
437 pp3300_l23a_ch1_wcn3990: ldo23 {
438 regulator-min-microvolt = <3000000>;
439 regulator-max-microvolt = <3312000>;
440 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444 src_pp3075_l24a: ldo24 {
445 regulator-min-microvolt = <3088000>;
446 regulator-max-microvolt = <3088000>;
447 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
450 pp3300_l25a_ch0_wcn3990: ldo25 {
451 regulator-min-microvolt = <3304000>;
452 regulator-max-microvolt = <3304000>;
453 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
470 src_pp1200_l26a: ldo26 {
471 regulator-min-microvolt = <1200000>;
472 regulator-max-microvolt = <1200000>;
473 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
477 src_pp3300_l28a: ldo28 {
478 regulator-min-microvolt = <3304000>;
479 regulator-max-microvolt = <3304000>;
480 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
483 src_pp1800_lvs1: lvs1 {
484 regulator-min-microvolt = <1800000>;
485 regulator-max-microvolt = <1800000>;
488 src_pp1800_lvs2: lvs2 {
489 regulator-min-microvolt = <1800000>;
490 regulator-max-microvolt = <1800000>;
494 pm8005-rpmh-regulators {
495 compatible = "qcom,pm8005-rpmh-regulators";
498 vdd-s1-supply = <&src_vph_pwr>;
499 vdd-s2-supply = <&src_vph_pwr>;
500 vdd-s3-supply = <&src_vph_pwr>;
501 vdd-s4-supply = <&src_vph_pwr>;
503 src_pp600_s3c: smps3 {
504 regulator-min-microvolt = <600000>;
505 regulator-max-microvolt = <600000>;
512 vdda-supply = <&vdda_mipi_dsi0_1p2>;
517 remote-endpoint = <&sn65dsi86_in>;
518 data-lanes = <0 1 2 3>;
526 vdds-supply = <&vdda_mipi_dsi0_pll>;
529 edp_brij_i2c: &i2c3 {
531 clock-frequency = <400000>;
533 sn65dsi86_bridge: bridge@2d {
534 compatible = "ti,sn65dsi86";
536 pinctrl-names = "default";
537 pinctrl-0 = <&edp_brij_en &edp_brij_irq>;
539 interrupt-parent = <&tlmm>;
540 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
542 enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
544 vpll-supply = <&src_pp1800_s4a>;
545 vccio-supply = <&src_pp1800_s4a>;
546 vcca-supply = <&src_pp1200_l2a>;
547 vcc-supply = <&src_pp1200_l2a>;
549 clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
550 clock-names = "refclk";
553 #address-cells = <1>;
558 sn65dsi86_in: endpoint {
559 remote-endpoint = <&dsi0_out>;
565 sn65dsi86_out: endpoint {
566 remote-endpoint = <&panel_in_edp>;
575 clock-frequency = <400000>;
578 compatible = "wacom,w9013", "hid-over-i2c";
580 pinctrl-names = "default";
581 pinctrl-0 = <&pen_irq_l>, <&pen_pdct_l>, <&pen_rst_l>;
583 vdd-supply = <&pp3300_dx_pen>;
584 vddl-supply = <&pp1800_dx_pen>;
585 post-power-on-delay-ms = <100>;
587 interrupt-parent = <&tlmm>;
588 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
590 hid-descr-addr = <0x1>;
596 clock-frequency = <400000>;
601 clock-frequency = <400000>;
604 compatible = "elan,ekth3500";
606 pinctrl-names = "default";
607 pinctrl-0 = <&ts_int_l &ts_reset_l>;
609 interrupt-parent = <&tlmm>;
610 interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
612 vcc33-supply = <&src_pp3300_l28a>;
614 reset-gpios = <&tlmm 118 GPIO_ACTIVE_LOW>;
641 pinctrl-names = "default";
642 pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data &sd_cd_odl>;
644 vmmc-supply = <&src_pp2950_l21a>;
645 vqmmc-supply = <&vddpx_2>;
647 cd-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
658 compatible = "google,cros-ec-spi";
660 interrupt-parent = <&tlmm>;
661 interrupts = <122 IRQ_TYPE_LEVEL_LOW>;
662 pinctrl-names = "default";
663 pinctrl-0 = <&ec_ap_int_l>;
664 spi-max-frequency = <3000000>;
666 cros_ec_pwm: ec-pwm {
667 compatible = "google,cros-ec-pwm";
671 i2c_tunnel: i2c-tunnel {
672 compatible = "google,cros-ec-i2c-tunnel";
673 google,remote-bus = <0>;
674 #address-cells = <1>;
679 compatible = "google,cros-ec-pd-update";
684 #include <arm/cros-ec-keyboard.dtsi>
685 #include <arm/cros-ec-sbs.dtsi>
690 bluetooth: wcn3990-bt {
691 compatible = "qcom,wcn3990-bt";
692 vddio-supply = <&src_pp1800_s4a>;
693 vddxo-supply = <&pp1800_l7a_wcn3990>;
694 vddrf-supply = <&src_pp1300_l17a>;
695 vddch0-supply = <&pp3300_l25a_ch0_wcn3990>;
696 max-speed = <3200000>;
706 pinctrl-names = "init", "default";
707 pinctrl-0 = <&ufs_dev_reset_assert>;
708 pinctrl-1 = <&ufs_dev_reset_deassert>;
710 vcc-supply = <&src_pp2950_l20a>;
711 vcc-max-microamp = <600000>;
717 vdda-phy-supply = <&vdda_ufs1_core>;
718 vdda-pll-supply = <&vdda_ufs1_1p2>;
724 /* We'll use this as USB 2.0 only */
725 qcom,select-utmi-as-pipe-clk;
730 * The hardware design intends this port to be hooked up in peripheral
731 * mode, so we'll hardcode it here. Some details:
732 * - SDM845 expects only a single Type C connector so it has only one
733 * native Type C port but cheza has two Type C connectors.
734 * - The only source of DP is the single native Type C port.
735 * - On cheza we want to be able to hook DP up to _either_ of the
736 * two Type C connectors and want to be able to achieve 4 lanes of DP.
737 * - When you configure a Type C port for 4 lanes of DP you lose USB3.
738 * - In order to make everything work, the native Type C port is always
739 * configured as 4-lanes DP so it's always available.
740 * - The extra USB3 port on SDM845 goes to a USB 3 hub which is then
741 * sent to the two Type C connectors.
742 * - The extra USB2 lines from the native Type C port are always
743 * setup as "peripheral" so that we can mux them over to one connector
744 * or the other if someone needs the connector configured as a gadget
745 * (but they only get USB2 speeds).
747 * All the hardware muxes would allow us to hook things up in different
748 * ways to some potential benefit for static configurations (you could
749 * achieve extra USB2 bandwidth by using two different ports for the
750 * two connectors or possibly even get USB3 peripheral mode), but in
751 * each case you end up forcing to disconnect/reconnect an in-use
752 * USB session in some cases depending on what you hotplug into the
753 * other connector. Thus hardcoding this as peripheral makes sense.
755 dr_mode = "peripheral";
758 * We always need the high speed pins as 4-lanes DP in case someone
759 * hotplugs a DP peripheral. Thus limit this port to a max of high
762 maximum-speed = "high-speed";
765 * We don't need the usb3-phy since we run in highspeed mode always, so
766 * re-define these properties removing the superspeed USB PHY reference.
768 phys = <&usb_1_hsphy>;
769 phy-names = "usb2-phy";
775 vdd-supply = <&vdda_usb1_ss_core>;
776 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
777 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
779 qcom,imp-res-offset-value = <8>;
780 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
781 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
782 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
790 /* We have this hooked up to a hub and we always use in host mode */
797 vdd-supply = <&vdda_usb2_ss_core>;
798 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
799 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
801 qcom,imp-res-offset-value = <8>;
802 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
808 vdda-phy-supply = <&vdda_usb2_ss_1p2>;
809 vdda-pll-supply = <&vdda_usb2_ss_core>;
815 vdd-0.8-cx-mx-supply = <&src_pp800_l5a >;
816 vdd-1.8-xo-supply = <&pp1800_l7a_wcn3990>;
817 vdd-1.3-rfa-supply = <&src_pp1300_l17a>;
818 vdd-3.3-ch0-supply = <&pp3300_l25a_ch0_wcn3990>;
821 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
839 pins = "gpio91", "gpio92";
841 /* High-Z when no transfers; nice to park the lines */
848 pins = "gpio41", "gpio42";
849 drive-strength = <2>;
851 /* Has external pullup */
858 pins = "gpio31", "gpio32";
859 drive-strength = <2>;
861 /* Has external pullup */
868 pins = "gpio49", "gpio50";
869 drive-strength = <2>;
871 /* Has external pullup */
878 pins = "gpio33", "gpio34";
879 drive-strength = <2>;
881 /* Has external pullup */
888 pins = "gpio0", "gpio1", "gpio2", "gpio3";
889 drive-strength = <2>;
896 pins = "gpio85", "gpio86", "gpio87", "gpio88";
897 drive-strength = <2>;
904 pins = "gpio53", "gpio54", "gpio55", "gpio56";
905 drive-strength = <2>;
911 /* Change pinmux to all 4 pins since CTS and RTS are connected */
913 pins = "gpio45", "gpio46",
919 * Configure a pull-down on 45 (CTS) to match the pull of
920 * the Bluetooth module.
927 /* We'll drive 46 (RTS) and 47 (TX), so no pull */
928 pins = "gpio46", "gpio47";
929 drive-strength = <2>;
935 * Configure a pull-up on 48 (RX). This is needed to avoid
936 * garbage data when the TX pin of the Bluetooth module is
937 * in tri-state (module powered off or not driving the
948 drive-strength = <2>;
954 drive-strength = <2>;
959 /* PINCTRL - board-specific pinctrl */
961 gpio-line-names = "",
969 reg = <ADC5_AMUX_THM1_100K_PU>;
974 reg = <ADC5_AMUX_THM2_100K_PU>;
975 label = "quiet_temp";
979 reg = <ADC5_AMUX_THM3_100K_PU>;
980 label = "lte_temp_1";
984 reg = <ADC5_AMUX_THM4_100K_PU>;
985 label = "lte_temp_2";
989 reg = <ADC5_AMUX_THM5_100K_PU>;
990 label = "charger_temp";
995 gpio-line-names = "",
1025 * pinctrl settings for pins that have no real owners.
1027 pinctrl-names = "default", "sleep";
1028 pinctrl-0 = <&bios_flash_wp_r_l>,
1029 <&ap_suspend_l_deassert>;
1031 pinctrl-1 = <&bios_flash_wp_r_l>,
1032 <&ap_suspend_l_assert>;
1035 * Hogs prevent usermode from changing the value. A GPIO can be both
1036 * here and in the pinctrl section.
1040 gpios = <126 GPIO_ACTIVE_LOW>;
1044 ap_edp_bklten: ap-edp-bklten {
1052 drive-strength = <2>;
1057 bios_flash_wp_r_l: bios-flash-wp-r-l {
1070 ec_ap_int_l: ec-ap-int-l {
1083 edp_brij_en: edp-brij-en {
1091 drive-strength = <2>;
1096 edp_brij_irq: edp-brij-irq {
1104 drive-strength = <2>;
1109 en_pp3300_dx_edp: en-pp3300-dx-edp {
1117 drive-strength = <2>;
1122 h1_ap_int_odl: h1-ap-int-odl {
1135 pen_eject_odl: pen-eject-odl {
1143 pen_irq_l: pen-irq-l {
1152 /* Has external pullup */
1157 pen_pdct_l: pen-pdct-l {
1166 /* Has external pullup */
1171 pen_rst_l: pen-rst-l {
1180 drive-strength = <2>;
1183 * The pen driver doesn't currently support
1184 * driving this reset line. By specifying
1185 * output-high here we're relying on the fact
1186 * that this pin has a default pulldown at boot
1187 * (which makes sure the pen was in reset if it
1188 * was powered) and then we set it high here to
1189 * take it out of reset. Better would be if the
1190 * pen driver could control this and we could
1191 * remove "output-high" here.
1197 sdc2_clk: sdc2-clk {
1203 * It seems that mmc_test reports errors if drive
1204 * strength is not 16.
1206 drive-strength = <16>;
1210 sdc2_cmd: sdc2-cmd {
1214 drive-strength = <16>;
1218 sdc2_data: sdc2-data {
1222 drive-strength = <16>;
1226 sd_cd_odl: sd-cd-odl {
1238 ts_int_l: ts-int-l {
1250 ts_reset_l: ts-reset-l {
1259 drive-strength = <2>;
1263 ufs_dev_reset_assert: ufs_dev_reset_assert {
1266 bias-pull-down; /* default: pull down */
1268 * UFS_RESET driver strengths are having
1269 * different values/steps compared to typical
1270 * GPIO drive strengths.
1272 * Following table clarifies:
1274 * HDRV value | UFS_RESET | Typical GPIO
1275 * (dec) | (mA) | (mA)
1285 * POR value for UFS_RESET HDRV is 3 which means
1286 * 3.1mA and we want to use that. Hence just
1287 * specify 8mA to "drive-strength" binding and
1288 * that should result into writing 3 to HDRV
1291 drive-strength = <8>; /* default: 3.1 mA */
1292 output-low; /* active low reset */
1296 ufs_dev_reset_deassert: ufs_dev_reset_deassert {
1299 bias-pull-down; /* default: pull down */
1302 * check comments under ufs_dev_reset_assert
1304 drive-strength = <8>;
1305 output-high; /* active low reset */
1309 ap_suspend_l_assert: ap_suspend_l_assert {
1314 drive-strength = <2>;
1319 ap_suspend_l_deassert: ap_suspend_l_deassert {
1324 drive-strength = <2>;