17ec3e673SRob Clark// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
27ec3e673SRob Clark/*
37ec3e673SRob Clark * Google Trogdor device tree source (common between revisions)
47ec3e673SRob Clark *
57ec3e673SRob Clark * Copyright 2019 Google LLC.
67ec3e673SRob Clark */
77ec3e673SRob Clark
87ec3e673SRob Clark#include <dt-bindings/gpio/gpio.h>
97ec3e673SRob Clark#include <dt-bindings/input/input.h>
107ec3e673SRob Clark#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
117ec3e673SRob Clark
127ec3e673SRob Clark/* PMICs depend on spmi_bus label and so must come after SoC */
137ec3e673SRob Clark#include "pm6150.dtsi"
147ec3e673SRob Clark#include "pm6150l.dtsi"
157ec3e673SRob Clark
16bb06eb36SAntony Wang/ {
17bb06eb36SAntony Wang	thermal-zones {
18e37584d1SMatthias Kaehlcke		charger_thermal: charger-thermal {
19bb06eb36SAntony Wang			polling-delay-passive = <0>;
20bb06eb36SAntony Wang			polling-delay = <0>;
21bb06eb36SAntony Wang
22bb06eb36SAntony Wang			thermal-sensors = <&pm6150_adc_tm 1>;
23bb06eb36SAntony Wang
24bb06eb36SAntony Wang			trips {
25*38f3267dSMatthias Kaehlcke				charger-crit {
26bb06eb36SAntony Wang					temperature = <125000>;
27bb06eb36SAntony Wang					hysteresis = <1000>;
28bb06eb36SAntony Wang					type = "critical";
29bb06eb36SAntony Wang				};
30bb06eb36SAntony Wang			};
31bb06eb36SAntony Wang		};
32bb06eb36SAntony Wang	};
33*38f3267dSMatthias Kaehlcke};
34bb06eb36SAntony Wang
357ec3e673SRob Clark/*
367ec3e673SRob Clark * Reserved memory changes
377ec3e673SRob Clark *
387ec3e673SRob Clark * Delete all unused memory nodes and define the peripheral memory regions
397ec3e673SRob Clark * required by the board dts.
407ec3e673SRob Clark */
417ec3e673SRob Clark
427ec3e673SRob Clark/delete-node/ &hyp_mem;
437ec3e673SRob Clark/delete-node/ &xbl_mem;
447ec3e673SRob Clark/delete-node/ &aop_mem;
457ec3e673SRob Clark/delete-node/ &sec_apps_mem;
467ec3e673SRob Clark/delete-node/ &tz_mem;
477ec3e673SRob Clark
487ec3e673SRob Clark/* Increase the size from 2MB to 8MB */
497ec3e673SRob Clark&rmtfs_mem {
507ec3e673SRob Clark	reg = <0x0 0x84400000 0x0 0x800000>;
517ec3e673SRob Clark};
527ec3e673SRob Clark
537ec3e673SRob Clark/ {
547ec3e673SRob Clark	reserved-memory {
557ec3e673SRob Clark		atf_mem: memory@80b00000 {
567ec3e673SRob Clark			reg = <0x0 0x80b00000 0x0 0x100000>;
577ec3e673SRob Clark			no-map;
587ec3e673SRob Clark		};
597ec3e673SRob Clark
607ec3e673SRob Clark		mpss_mem: memory@86000000 {
61ef9a5d18SSibi Sankar			reg = <0x0 0x86000000 0x0 0x2000000>;
627ec3e673SRob Clark			no-map;
637ec3e673SRob Clark		};
647ec3e673SRob Clark
657ec3e673SRob Clark		camera_mem: memory@8ec00000 {
667ec3e673SRob Clark			reg = <0x0 0x8ec00000 0x0 0x500000>;
677ec3e673SRob Clark			no-map;
687ec3e673SRob Clark		};
697ec3e673SRob Clark
707ec3e673SRob Clark		venus_mem: memory@8f600000 {
717ec3e673SRob Clark			reg = <0 0x8f600000 0 0x500000>;
727ec3e673SRob Clark			no-map;
737ec3e673SRob Clark		};
747ec3e673SRob Clark
757ec3e673SRob Clark		wlan_mem: memory@94100000 {
767ec3e673SRob Clark			reg = <0x0 0x94100000 0x0 0x200000>;
777ec3e673SRob Clark			no-map;
787ec3e673SRob Clark		};
797ec3e673SRob Clark
807ec3e673SRob Clark		mba_mem: memory@94400000 {
817ec3e673SRob Clark			reg = <0x0 0x94400000 0x0 0x200000>;
827ec3e673SRob Clark			no-map;
837ec3e673SRob Clark		};
847ec3e673SRob Clark	};
857ec3e673SRob Clark
867ec3e673SRob Clark	aliases {
877ec3e673SRob Clark		bluetooth0 = &bluetooth;
887ec3e673SRob Clark		hsuart0 = &uart3;
897ec3e673SRob Clark		serial0 = &uart8;
907ec3e673SRob Clark		wifi0 = &wifi;
917ec3e673SRob Clark	};
927ec3e673SRob Clark
937ec3e673SRob Clark	chosen {
947ec3e673SRob Clark		stdout-path = "serial0:115200n8";
957ec3e673SRob Clark	};
967ec3e673SRob Clark
977ec3e673SRob Clark	/* FIXED REGULATORS - parents above children */
987ec3e673SRob Clark
997ec3e673SRob Clark	/* This is the top level supply and variable voltage */
1007ec3e673SRob Clark	ppvar_sys: ppvar-sys-regulator {
1017ec3e673SRob Clark		compatible = "regulator-fixed";
1027ec3e673SRob Clark		regulator-name = "ppvar_sys";
1037ec3e673SRob Clark		regulator-always-on;
1047ec3e673SRob Clark		regulator-boot-on;
1057ec3e673SRob Clark	};
1067ec3e673SRob Clark
1077ec3e673SRob Clark	/* This divides ppvar_sys by 2, so voltage is variable */
1087ec3e673SRob Clark	src_vph_pwr: src-vph-pwr-regulator {
1097ec3e673SRob Clark		compatible = "regulator-fixed";
1107ec3e673SRob Clark		regulator-name = "src_vph_pwr";
1117ec3e673SRob Clark
1127ec3e673SRob Clark		/* EC turns on with switchcap_on; always on for AP */
1137ec3e673SRob Clark		regulator-always-on;
1147ec3e673SRob Clark		regulator-boot-on;
1157ec3e673SRob Clark
1167ec3e673SRob Clark		vin-supply = <&ppvar_sys>;
1177ec3e673SRob Clark	};
1187ec3e673SRob Clark
1197ec3e673SRob Clark	pp5000_a: pp5000-a-regulator {
1207ec3e673SRob Clark		compatible = "regulator-fixed";
1217ec3e673SRob Clark		regulator-name = "pp5000_a";
1227ec3e673SRob Clark
1237ec3e673SRob Clark		/* EC turns on with en_pp5000_a; always on for AP */
1247ec3e673SRob Clark		regulator-always-on;
1257ec3e673SRob Clark		regulator-boot-on;
1267ec3e673SRob Clark		regulator-min-microvolt = <5000000>;
1277ec3e673SRob Clark		regulator-max-microvolt = <5000000>;
1287ec3e673SRob Clark
1297ec3e673SRob Clark		vin-supply = <&ppvar_sys>;
1307ec3e673SRob Clark	};
1317ec3e673SRob Clark
1327ec3e673SRob Clark	pp3300_a: pp3300-a-regulator {
1337ec3e673SRob Clark		compatible = "regulator-fixed";
1347ec3e673SRob Clark		regulator-name = "pp3300_a";
1357ec3e673SRob Clark
1367ec3e673SRob Clark		/* EC turns on with en_pp3300_a; always on for AP */
1377ec3e673SRob Clark		regulator-always-on;
1387ec3e673SRob Clark		regulator-boot-on;
1397ec3e673SRob Clark		regulator-min-microvolt = <3300000>;
1407ec3e673SRob Clark		regulator-max-microvolt = <3300000>;
1417ec3e673SRob Clark
1427ec3e673SRob Clark		/*
1437ec3e673SRob Clark		 * Actually should be pp3300 but that's practically an alias for
1447ec3e673SRob Clark		 * pp3300_a so we use pp3300's vin-supply here to avoid one more
1457ec3e673SRob Clark		 * node.
1467ec3e673SRob Clark		 */
1477ec3e673SRob Clark		vin-supply = <&ppvar_sys>;
1487ec3e673SRob Clark	};
1497ec3e673SRob Clark
1507ec3e673SRob Clark	pp3300_audio:
1517ec3e673SRob Clark	pp3300_codec: pp3300-codec-regulator {
1527ec3e673SRob Clark		compatible = "regulator-fixed";
1537ec3e673SRob Clark		regulator-name = "pp3300_codec";
1547ec3e673SRob Clark
1557ec3e673SRob Clark		regulator-min-microvolt = <3300000>;
1567ec3e673SRob Clark		regulator-max-microvolt = <3300000>;
1577ec3e673SRob Clark
1587ec3e673SRob Clark		gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
1597ec3e673SRob Clark		enable-active-high;
1607ec3e673SRob Clark		pinctrl-names = "default";
1617ec3e673SRob Clark		pinctrl-0 = <&en_pp3300_codec>;
1627ec3e673SRob Clark
1637ec3e673SRob Clark		vin-supply = <&pp3300_a>;
1647ec3e673SRob Clark	};
1657ec3e673SRob Clark
1667ec3e673SRob Clark	pp3300_dx_edp:
1677ec3e673SRob Clark	pp3300_ts: pp3300-dx-edp-regulator {
1687ec3e673SRob Clark		compatible = "regulator-fixed";
1697ec3e673SRob Clark		regulator-name = "pp3300_dx_edp";
1707ec3e673SRob Clark
1717ec3e673SRob Clark		regulator-min-microvolt = <3300000>;
1727ec3e673SRob Clark		regulator-max-microvolt = <3300000>;
1737ec3e673SRob Clark
1747ec3e673SRob Clark		gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
1757ec3e673SRob Clark		enable-active-high;
1767ec3e673SRob Clark		pinctrl-names = "default";
1777ec3e673SRob Clark		pinctrl-0 = <&en_pp3300_dx_edp>;
1787ec3e673SRob Clark
1797ec3e673SRob Clark		vin-supply = <&pp3300_a>;
1807ec3e673SRob Clark	};
1817ec3e673SRob Clark
1827ec3e673SRob Clark	pp3300_fp_tp: pp3300-fp-tp-regulator {
1837ec3e673SRob Clark		compatible = "regulator-fixed";
1847ec3e673SRob Clark		regulator-name = "pp3300_fp_tp";
1857ec3e673SRob Clark
1867ec3e673SRob Clark		regulator-min-microvolt = <3300000>;
1877ec3e673SRob Clark		regulator-max-microvolt = <3300000>;
1887ec3e673SRob Clark
1897ec3e673SRob Clark		/* AP turns on with PP1800_VIO_OUT; always on for AP */
1907ec3e673SRob Clark		regulator-always-on;
1917ec3e673SRob Clark		regulator-boot-on;
1927ec3e673SRob Clark
1937ec3e673SRob Clark		vin-supply = <&pp3300_a>;
1947ec3e673SRob Clark	};
1957ec3e673SRob Clark
196066c2a94SMatthias Kaehlcke	pp3300_hub: pp3300-hub {
197066c2a94SMatthias Kaehlcke		compatible = "regulator-fixed";
198066c2a94SMatthias Kaehlcke		regulator-name = "pp3300_hub";
199066c2a94SMatthias Kaehlcke
200066c2a94SMatthias Kaehlcke		regulator-min-microvolt = <3300000>;
201066c2a94SMatthias Kaehlcke		regulator-max-microvolt = <3300000>;
202066c2a94SMatthias Kaehlcke
203066c2a94SMatthias Kaehlcke		gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
204066c2a94SMatthias Kaehlcke		enable-active-high;
205066c2a94SMatthias Kaehlcke		pinctrl-names = "default";
206066c2a94SMatthias Kaehlcke		pinctrl-0 = <&en_pp3300_hub>;
207066c2a94SMatthias Kaehlcke
208066c2a94SMatthias Kaehlcke		regulator-always-on;
209066c2a94SMatthias Kaehlcke		regulator-boot-on;
210066c2a94SMatthias Kaehlcke
211066c2a94SMatthias Kaehlcke		vin-supply = <&pp3300_a>;
212066c2a94SMatthias Kaehlcke	};
213066c2a94SMatthias Kaehlcke
2147ec3e673SRob Clark	/* BOARD-SPECIFIC TOP LEVEL NODES */
2157ec3e673SRob Clark
2167ec3e673SRob Clark	backlight: backlight {
2177ec3e673SRob Clark		compatible = "pwm-backlight";
2187ec3e673SRob Clark
219ab8e32daSAlexandru Stan		/* The panels don't seem to like anything below ~ 5% */
220ab8e32daSAlexandru Stan		brightness-levels = <
221ab8e32daSAlexandru Stan			196 256 324 400 484 576 676 784 900 1024 1156 1296
222ab8e32daSAlexandru Stan			1444 1600 1764 1936 2116 2304 2500 2704 2916 3136
223ab8e32daSAlexandru Stan			3364 3600 3844 4096
224ab8e32daSAlexandru Stan		>;
225ab8e32daSAlexandru Stan		num-interpolated-steps = <64>;
226ab8e32daSAlexandru Stan		default-brightness-level = <951>;
227ab8e32daSAlexandru Stan
2287ec3e673SRob Clark		pwms = <&cros_ec_pwm 1>;
2297ec3e673SRob Clark		enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
2307ec3e673SRob Clark		power-supply = <&ppvar_sys>;
2317ec3e673SRob Clark		pinctrl-names = "default";
2327ec3e673SRob Clark		pinctrl-0 = <&ap_edp_bklten>;
2337ec3e673SRob Clark	};
2347ec3e673SRob Clark
2357ec3e673SRob Clark	gpio_keys: gpio-keys {
2367ec3e673SRob Clark		compatible = "gpio-keys";
2377ec3e673SRob Clark		status = "disabled";
2387ec3e673SRob Clark		pinctrl-names = "default";
2397ec3e673SRob Clark		pinctrl-0 = <&pen_pdct_l>;
2407ec3e673SRob Clark
241d4b85bc5STerry Hsiao		pen_insert: pen-insert {
2427ec3e673SRob Clark			label = "Pen Insert";
2437ec3e673SRob Clark
2447ec3e673SRob Clark			/* Insert = low, eject = high */
2457ec3e673SRob Clark			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
2467ec3e673SRob Clark			linux,code = <SW_PEN_INSERTED>;
2477ec3e673SRob Clark			linux,input-type = <EV_SW>;
2487ec3e673SRob Clark			wakeup-source;
2497ec3e673SRob Clark		};
2507ec3e673SRob Clark	};
2517ec3e673SRob Clark
2527ec3e673SRob Clark	max98357a: audio-codec-0 {
2537ec3e673SRob Clark		compatible = "maxim,max98357a";
2547ec3e673SRob Clark		pinctrl-names = "default";
2557ec3e673SRob Clark		pinctrl-0 = <&amp_en>;
2567ec3e673SRob Clark		sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
2577ec3e673SRob Clark		#sound-dai-cells = <0>;
2587ec3e673SRob Clark	};
2597ec3e673SRob Clark
2607ec3e673SRob Clark	pwmleds {
2617ec3e673SRob Clark		compatible = "pwm-leds";
2627ec3e673SRob Clark		keyboard_backlight: keyboard-backlight {
2637ec3e673SRob Clark			status = "disabled";
2647ec3e673SRob Clark			label = "cros_ec::kbd_backlight";
2657ec3e673SRob Clark			pwms = <&cros_ec_pwm 0>;
2667ec3e673SRob Clark			max-brightness = <1023>;
2677ec3e673SRob Clark		};
2687ec3e673SRob Clark	};
2697ec3e673SRob Clark};
2707ec3e673SRob Clark
2717ec3e673SRob Clark&qfprom {
2727ec3e673SRob Clark	vcc-supply = <&pp1800_l11a>;
2737ec3e673SRob Clark};
2747ec3e673SRob Clark
2757ec3e673SRob Clark&qspi {
2767ec3e673SRob Clark	status = "okay";
2777ec3e673SRob Clark	pinctrl-names = "default";
2787ec3e673SRob Clark	pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>;
2797ec3e673SRob Clark
2807ec3e673SRob Clark	flash@0 {
2817ec3e673SRob Clark		compatible = "jedec,spi-nor";
2827ec3e673SRob Clark		reg = <0>;
2837ec3e673SRob Clark
2847ec3e673SRob Clark		/* TODO: Increase frequency after testing */
2857ec3e673SRob Clark		spi-max-frequency = <25000000>;
2867ec3e673SRob Clark		spi-tx-bus-width = <2>;
2877ec3e673SRob Clark		spi-rx-bus-width = <2>;
2887ec3e673SRob Clark	};
2897ec3e673SRob Clark};
2907ec3e673SRob Clark
2917ec3e673SRob Clark&apps_rsc {
2927ec3e673SRob Clark	pm6150-rpmh-regulators {
2937ec3e673SRob Clark		compatible = "qcom,pm6150-rpmh-regulators";
2947ec3e673SRob Clark		qcom,pmic-id = "a";
2957ec3e673SRob Clark
2967ec3e673SRob Clark		vddpx_1:
2977ec3e673SRob Clark		vdd2:
2987ec3e673SRob Clark		pp1125_s1a: smps1 {
2997ec3e673SRob Clark			regulator-min-microvolt = <1128000>;
3007ec3e673SRob Clark			regulator-max-microvolt = <1128000>;
3017ec3e673SRob Clark		};
3027ec3e673SRob Clark
3037ec3e673SRob Clark		vdd_qlink_lv:
3047ec3e673SRob Clark		vdd_qlink_lv_ck:
3057ec3e673SRob Clark		vdd_qusb_hs0_core:
3067ec3e673SRob Clark		vdd_ufs1_core:
3077ec3e673SRob Clark		vdda_mipi_csi0_0p9:
3087ec3e673SRob Clark		vdda_mipi_csi1_0p9:
3097ec3e673SRob Clark		vdda_mipi_csi2_0p9:
3107ec3e673SRob Clark		vdda_mipi_csi3_0p9:
3117ec3e673SRob Clark		vdda_mipi_dsi0_pll:
3127ec3e673SRob Clark		vdda_pll_cc_ebi01:
3137ec3e673SRob Clark		vdda_qrefs_0p9:
3147ec3e673SRob Clark		vdda_usb_ss_dp_core:
3157ec3e673SRob Clark		pp900_l4a: ldo4 {
3167ec3e673SRob Clark			regulator-min-microvolt = <824000>;
3177ec3e673SRob Clark			regulator-max-microvolt = <928000>;
3187ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3197ec3e673SRob Clark		};
3207ec3e673SRob Clark
3217ec3e673SRob Clark		vdd_cx_wlan:
3227ec3e673SRob Clark		pp800_l9a: ldo9 {
3237ec3e673SRob Clark			regulator-min-microvolt = <488000>;
3247ec3e673SRob Clark			regulator-max-microvolt = <800000>;
3257ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3267ec3e673SRob Clark		};
3277ec3e673SRob Clark
3287ec3e673SRob Clark		vdd1:
3297ec3e673SRob Clark		vddpx_3:
3307ec3e673SRob Clark		vddpx_7:
3317ec3e673SRob Clark		vio_in:
3327ec3e673SRob Clark		pp1800_l10a: ldo10 {
3337ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3347ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3357ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3367ec3e673SRob Clark		};
3377ec3e673SRob Clark
3387ec3e673SRob Clark		vdd_qfprom:
3397ec3e673SRob Clark		vdda_apc1_cs_1p8:
3407ec3e673SRob Clark		vdda_qrefs_1p8:
3417ec3e673SRob Clark		vdda_qusb_hs0_1p8:
3427ec3e673SRob Clark		vddpx_11:
3437ec3e673SRob Clark		vreg_bb_clk:
3447ec3e673SRob Clark		pp1800_l11a: ldo11 {
3457ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3467ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3477ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3487ec3e673SRob Clark		};
3497ec3e673SRob Clark
3507ec3e673SRob Clark		mcp_vccq:
3517ec3e673SRob Clark		pp1800_l12a_r: ldo12 {
3527ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3537ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3547ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3557ec3e673SRob Clark		};
3567ec3e673SRob Clark
357e5376f2eSDouglas Anderson		/*
358e5376f2eSDouglas Anderson		 * On trogdor this needs to match l10a since we use it to
359e5376f2eSDouglas Anderson		 * give power to things like SPI flash which communicate back
360e5376f2eSDouglas Anderson		 * on lines powered by l10a.  Thus we force to 1.8V.
361e5376f2eSDouglas Anderson		 */
3627ec3e673SRob Clark		pp1800_l13a: ldo13 {
3637ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3647ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3657ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3667ec3e673SRob Clark		};
3677ec3e673SRob Clark
3687ec3e673SRob Clark		pp1800_prox:
3697ec3e673SRob Clark		pp1800_l14a: ldo14 {
3707ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3717ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3727ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3737ec3e673SRob Clark		};
3747ec3e673SRob Clark
3757ec3e673SRob Clark		pp1800_alc5682:
3767ec3e673SRob Clark		pp1800_l15a: ldo15 {
3777ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3787ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3797ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3807ec3e673SRob Clark		};
3817ec3e673SRob Clark
3827ec3e673SRob Clark		vdda_qusb_hs0_3p1:
3837ec3e673SRob Clark		vdd_pdphy:
3847ec3e673SRob Clark		pp3100_l17a: ldo17 {
3857ec3e673SRob Clark			regulator-min-microvolt = <2920000>;
3867ec3e673SRob Clark			regulator-max-microvolt = <3232000>;
3877ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3887ec3e673SRob Clark		};
3897ec3e673SRob Clark
3907ec3e673SRob Clark		pp1800_pen:
3917ec3e673SRob Clark		pp1800_l18a: ldo18 {
3927ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
3937ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
3947ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
3957ec3e673SRob Clark		};
3967ec3e673SRob Clark
3977ec3e673SRob Clark		mcp_vcc:
3987ec3e673SRob Clark		pp2850_l19a: ldo19 {
3997ec3e673SRob Clark			regulator-min-microvolt = <2960000>;
4007ec3e673SRob Clark			regulator-max-microvolt = <2960000>;
4017ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4027ec3e673SRob Clark		};
4037ec3e673SRob Clark	};
4047ec3e673SRob Clark
4057ec3e673SRob Clark	pm6150l-rpmh-regulators {
4067ec3e673SRob Clark		compatible = "qcom,pm6150l-rpmh-regulators";
4077ec3e673SRob Clark		qcom,pmic-id = "c";
4087ec3e673SRob Clark
4097ec3e673SRob Clark		pp1300_s8c: smps8 {
4107ec3e673SRob Clark			regulator-min-microvolt = <1120000>;
4117ec3e673SRob Clark			regulator-max-microvolt = <1408000>;
4127ec3e673SRob Clark		};
4137ec3e673SRob Clark
4147ec3e673SRob Clark		pp1800_l1c: ldo1 {
415e5376f2eSDouglas Anderson			regulator-min-microvolt = <1616000>;
416e5376f2eSDouglas Anderson			regulator-max-microvolt = <1984000>;
4177ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4187ec3e673SRob Clark		};
4197ec3e673SRob Clark
4207ec3e673SRob Clark		vdd_wcss_adc_dac:
4217ec3e673SRob Clark		pp1300_l2c: ldo2 {
4227ec3e673SRob Clark			regulator-min-microvolt = <1168000>;
4237ec3e673SRob Clark			regulator-max-microvolt = <1304000>;
4247ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4257ec3e673SRob Clark		};
4267ec3e673SRob Clark
4277ec3e673SRob Clark		pp1200_brij:
4287ec3e673SRob Clark		vdd_ufs1_1p2:
4297ec3e673SRob Clark		vdda_csi0_1p25:
4307ec3e673SRob Clark		vdda_csi1_1p25:
4317ec3e673SRob Clark		vdda_csi2_1p25:
4327ec3e673SRob Clark		vdda_csi3_1p25:
4337ec3e673SRob Clark		vdda_hv_ebi0:
4347ec3e673SRob Clark		vdda_mipi_dsi0_1p2:
4357ec3e673SRob Clark		vdda_usb_ss_dp_1p2:
4367ec3e673SRob Clark		vddpx_10:
4377ec3e673SRob Clark		pp1200_l3c: ldo3 {
4387ec3e673SRob Clark			regulator-min-microvolt = <1200000>;
4397ec3e673SRob Clark			regulator-max-microvolt = <1200000>;
4407ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4417ec3e673SRob Clark		};
4427ec3e673SRob Clark
4437ec3e673SRob Clark		vddpx_2:
4447ec3e673SRob Clark		ppvar_l6c: ldo6 {
4457ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
446465b13ccSDouglas Anderson			regulator-max-microvolt = <2952000>;
4477ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4487ec3e673SRob Clark		};
4497ec3e673SRob Clark
4507ec3e673SRob Clark		pp3300_l7c: ldo7 {
4517ec3e673SRob Clark			regulator-min-microvolt = <3304000>;
4527ec3e673SRob Clark			regulator-max-microvolt = <3304000>;
4537ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4547ec3e673SRob Clark		};
4557ec3e673SRob Clark
4567ec3e673SRob Clark		pp1800_brij_vccio:
4577ec3e673SRob Clark		pp1800_edp_vpll:
4587ec3e673SRob Clark		pp1800_l8c: ldo8 {
4597ec3e673SRob Clark			regulator-min-microvolt = <1800000>;
4607ec3e673SRob Clark			regulator-max-microvolt = <1800000>;
4617ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4627ec3e673SRob Clark		};
4637ec3e673SRob Clark
4647ec3e673SRob Clark		pp2950_l9c: ldo9 {
4657ec3e673SRob Clark			regulator-min-microvolt = <2952000>;
4667ec3e673SRob Clark			regulator-max-microvolt = <2952000>;
4677ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4687ec3e673SRob Clark		};
4697ec3e673SRob Clark
4707ec3e673SRob Clark		pp3300_l10c: ldo10 {
4717ec3e673SRob Clark			regulator-min-microvolt = <3000000>;
4727ec3e673SRob Clark			regulator-max-microvolt = <3400000>;
4737ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4747ec3e673SRob Clark		};
4757ec3e673SRob Clark
4767ec3e673SRob Clark		pp3300_l11c: ldo11 {
4777ec3e673SRob Clark			regulator-min-microvolt = <3000000>;
4787ec3e673SRob Clark			regulator-max-microvolt = <3400000>;
4797ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
4807ec3e673SRob Clark		};
4817ec3e673SRob Clark
4827ec3e673SRob Clark		src_vreg_bob: bob {
4837ec3e673SRob Clark			regulator-min-microvolt = <3008000>;
4847ec3e673SRob Clark			regulator-max-microvolt = <3960000>;
4857ec3e673SRob Clark			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
4867ec3e673SRob Clark		};
4877ec3e673SRob Clark	};
4887ec3e673SRob Clark};
4897ec3e673SRob Clark
4907ec3e673SRob Clark&ap_ec_spi {
4917ec3e673SRob Clark	status = "okay";
4927ec3e673SRob Clark	cros_ec: ec@0 {
4937ec3e673SRob Clark		compatible = "google,cros-ec-spi";
4947ec3e673SRob Clark		reg = <0>;
4957ec3e673SRob Clark		interrupt-parent = <&tlmm>;
4967ec3e673SRob Clark		interrupts = <94 IRQ_TYPE_LEVEL_LOW>;
4977ec3e673SRob Clark		pinctrl-names = "default";
4987ec3e673SRob Clark		pinctrl-0 = <&ap_ec_int_l>;
4997ec3e673SRob Clark		spi-max-frequency = <3000000>;
5007ec3e673SRob Clark
5017ec3e673SRob Clark		cros_ec_pwm: ec-pwm {
5027ec3e673SRob Clark			compatible = "google,cros-ec-pwm";
5037ec3e673SRob Clark			#pwm-cells = <1>;
5047ec3e673SRob Clark		};
5057ec3e673SRob Clark
5067ec3e673SRob Clark		i2c_tunnel: i2c-tunnel {
5077ec3e673SRob Clark			compatible = "google,cros-ec-i2c-tunnel";
5087ec3e673SRob Clark			google,remote-bus = <0>;
5097ec3e673SRob Clark			#address-cells = <1>;
5107ec3e673SRob Clark			#size-cells = <0>;
5117ec3e673SRob Clark		};
5127ec3e673SRob Clark
5137ec3e673SRob Clark		pdupdate {
5147ec3e673SRob Clark			compatible = "google,cros-ec-pd-update";
5157ec3e673SRob Clark		};
5167ec3e673SRob Clark
5177ec3e673SRob Clark		typec {
5187ec3e673SRob Clark			compatible = "google,cros-ec-typec";
5197ec3e673SRob Clark			#address-cells = <1>;
5207ec3e673SRob Clark			#size-cells = <0>;
5217ec3e673SRob Clark
5227c6d828eSStephen Boyd			usb_c0: connector@0 {
5237ec3e673SRob Clark				compatible = "usb-c-connector";
5247ec3e673SRob Clark				reg = <0>;
5257ec3e673SRob Clark				label = "left";
5267ec3e673SRob Clark				power-role = "dual";
5277ec3e673SRob Clark				data-role = "host";
5287ec3e673SRob Clark				try-power-role = "source";
5297ec3e673SRob Clark			};
5307ec3e673SRob Clark
5317c6d828eSStephen Boyd			usb_c1: connector@1 {
5327ec3e673SRob Clark				compatible = "usb-c-connector";
5337ec3e673SRob Clark				reg = <1>;
5347ec3e673SRob Clark				label = "right";
5357ec3e673SRob Clark				power-role = "dual";
5367ec3e673SRob Clark				data-role = "host";
5377ec3e673SRob Clark				try-power-role = "source";
5387ec3e673SRob Clark			};
5397ec3e673SRob Clark		};
5407ec3e673SRob Clark	};
5417ec3e673SRob Clark};
5427ec3e673SRob Clark
5437ec3e673SRob Clark&ap_h1_spi {
5447ec3e673SRob Clark	status = "okay";
5457ec3e673SRob Clark	cr50: tpm@0 {
5467ec3e673SRob Clark		compatible = "google,cr50";
5477ec3e673SRob Clark		reg = <0>;
5487ec3e673SRob Clark		pinctrl-names = "default";
5497ec3e673SRob Clark		pinctrl-0 = <&h1_ap_int_odl>;
5507ec3e673SRob Clark		spi-max-frequency = <800000>;
5517ec3e673SRob Clark		interrupt-parent = <&tlmm>;
5527ec3e673SRob Clark		interrupts = <42 IRQ_TYPE_EDGE_RISING>;
5537ec3e673SRob Clark	};
5547ec3e673SRob Clark};
5557ec3e673SRob Clark
5567ec3e673SRob Clark&dsi0 {
5577ec3e673SRob Clark	status = "okay";
5587ec3e673SRob Clark	vdda-supply = <&vdda_mipi_dsi0_1p2>;
5597ec3e673SRob Clark
5607ec3e673SRob Clark	ports {
5617ec3e673SRob Clark		port@1 {
5627ec3e673SRob Clark			endpoint {
5637ec3e673SRob Clark				remote-endpoint = <&sn65dsi86_in>;
5647ec3e673SRob Clark				data-lanes = <0 1 2 3>;
5657ec3e673SRob Clark			};
5667ec3e673SRob Clark		};
5677ec3e673SRob Clark	};
5687ec3e673SRob Clark};
5697ec3e673SRob Clark
5707ec3e673SRob Clark&dsi_phy {
5717ec3e673SRob Clark	status = "okay";
5727ec3e673SRob Clark	vdds-supply = <&vdda_mipi_dsi0_pll>;
5737ec3e673SRob Clark};
5747ec3e673SRob Clark
5757ec3e673SRob Clarkedp_brij_i2c: &i2c2 {
5767ec3e673SRob Clark	status = "okay";
5777ec3e673SRob Clark	clock-frequency = <400000>;
5787ec3e673SRob Clark
5797ec3e673SRob Clark	sn65dsi86_bridge: bridge@2d {
5807ec3e673SRob Clark		compatible = "ti,sn65dsi86";
5817ec3e673SRob Clark		reg = <0x2d>;
5827ec3e673SRob Clark		pinctrl-names = "default";
5837ec3e673SRob Clark		pinctrl-0 = <&edp_brij_en>, <&edp_brij_irq>;
5847ec3e673SRob Clark		gpio-controller;
5857ec3e673SRob Clark		#gpio-cells = <2>;
5867ec3e673SRob Clark
5877ec3e673SRob Clark		interrupt-parent = <&tlmm>;
5887ec3e673SRob Clark		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
5897ec3e673SRob Clark
5907ec3e673SRob Clark		enable-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
5917ec3e673SRob Clark
5927ec3e673SRob Clark		vpll-supply = <&pp1800_edp_vpll>;
5937ec3e673SRob Clark		vccio-supply = <&pp1800_brij_vccio>;
5947ec3e673SRob Clark		vcca-supply = <&pp1200_brij>;
5957ec3e673SRob Clark		vcc-supply = <&pp1200_brij>;
5967ec3e673SRob Clark
5977ec3e673SRob Clark		clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
5987ec3e673SRob Clark		clock-names = "refclk";
5997ec3e673SRob Clark
6007ec3e673SRob Clark		ports {
6017ec3e673SRob Clark			#address-cells = <1>;
6027ec3e673SRob Clark			#size-cells = <0>;
6037ec3e673SRob Clark
6047ec3e673SRob Clark			port@0 {
6057ec3e673SRob Clark				reg = <0>;
6067ec3e673SRob Clark				sn65dsi86_in: endpoint {
6077ec3e673SRob Clark					remote-endpoint = <&dsi0_out>;
6087ec3e673SRob Clark				};
6097ec3e673SRob Clark			};
6107ec3e673SRob Clark
6117ec3e673SRob Clark			port@1 {
6127ec3e673SRob Clark				reg = <1>;
6137ec3e673SRob Clark				sn65dsi86_out: endpoint {
6147ec3e673SRob Clark					data-lanes = <0 1>;
6157ec3e673SRob Clark					remote-endpoint = <&panel_in_edp>;
6167ec3e673SRob Clark				};
6177ec3e673SRob Clark			};
6187ec3e673SRob Clark		};
6197ec3e673SRob Clark	};
6207ec3e673SRob Clark};
6217ec3e673SRob Clark
6227ec3e673SRob Clarkap_sar_sensor_i2c: &i2c5 {
6237ec3e673SRob Clark	clock-frequency = <400000>;
6247ec3e673SRob Clark
6257ec3e673SRob Clark	ap_sar_sensor: proximity@28 {
6267ec3e673SRob Clark		compatible = "semtech,sx9310";
6277ec3e673SRob Clark		reg = <0x28>;
6287ec3e673SRob Clark		#io-channel-cells = <1>;
6297ec3e673SRob Clark		pinctrl-names = "default";
6307ec3e673SRob Clark		pinctrl-0 = <&p_sensor_int_l>;
6317ec3e673SRob Clark
6327ec3e673SRob Clark		interrupt-parent = <&tlmm>;
6337ec3e673SRob Clark		interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
6347ec3e673SRob Clark
6357ec3e673SRob Clark		vdd-supply = <&pp3300_a>;
6367ec3e673SRob Clark		svdd-supply = <&pp1800_prox>;
6377ec3e673SRob Clark
6387ec3e673SRob Clark		status = "disabled";
6397ec3e673SRob Clark		label = "proximity-wifi";
6407ec3e673SRob Clark	};
6417ec3e673SRob Clark};
6427ec3e673SRob Clark
6437ec3e673SRob Clarkap_tp_i2c: &i2c7 {
6447ec3e673SRob Clark	status = "okay";
6457ec3e673SRob Clark	clock-frequency = <400000>;
6467ec3e673SRob Clark
6477ec3e673SRob Clark	trackpad@15 {
6487ec3e673SRob Clark		compatible = "elan,ekth3000";
6497ec3e673SRob Clark		reg = <0x15>;
6507ec3e673SRob Clark		pinctrl-names = "default";
6517ec3e673SRob Clark		pinctrl-0 = <&trackpad_int_1v8_odl>;
6527ec3e673SRob Clark
6537ec3e673SRob Clark		interrupt-parent = <&tlmm>;
6547ec3e673SRob Clark		interrupts = <58 IRQ_TYPE_EDGE_FALLING>;
6557ec3e673SRob Clark
6567ec3e673SRob Clark		vcc-supply = <&pp3300_fp_tp>;
6577ec3e673SRob Clark
6587ec3e673SRob Clark		wakeup-source;
6597ec3e673SRob Clark	};
6607ec3e673SRob Clark};
6617ec3e673SRob Clark
6627ec3e673SRob Clarkhp_i2c: &i2c9 {
6637ec3e673SRob Clark	status = "okay";
6647ec3e673SRob Clark	clock-frequency = <400000>;
6657ec3e673SRob Clark
6667ec3e673SRob Clark	alc5682: codec@1a {
6677ec3e673SRob Clark		compatible = "realtek,rt5682i";
6687ec3e673SRob Clark		reg = <0x1a>;
6697ec3e673SRob Clark		pinctrl-names = "default";
6707ec3e673SRob Clark		pinctrl-0 = <&hp_irq>;
6717ec3e673SRob Clark
6727ec3e673SRob Clark		#sound-dai-cells = <1>;
6737ec3e673SRob Clark
6747ec3e673SRob Clark		interrupt-parent = <&tlmm>;
6757ec3e673SRob Clark		/*
6767ec3e673SRob Clark		 * This will get ignored because the interrupt type
6777ec3e673SRob Clark		 * is set in rt5682.c.
6787ec3e673SRob Clark		 */
6797ec3e673SRob Clark		interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
6807ec3e673SRob Clark
6817ec3e673SRob Clark		AVDD-supply = <&pp1800_alc5682>;
6827ec3e673SRob Clark		MICVDD-supply = <&pp3300_codec>;
6837ec3e673SRob Clark		VBAT-supply = <&pp3300_audio>;
6847ec3e673SRob Clark
6857ec3e673SRob Clark		realtek,dmic1-data-pin = <1>;
6867ec3e673SRob Clark		realtek,dmic1-clk-pin = <1>;
6877ec3e673SRob Clark		realtek,jd-src = <1>;
6887ec3e673SRob Clark	};
6897ec3e673SRob Clark};
6907ec3e673SRob Clark
6917ec3e673SRob Clark&ipa {
6927ec3e673SRob Clark	status = "okay";
6937ec3e673SRob Clark
6947ec3e673SRob Clark	/*
6957ec3e673SRob Clark	 * Trogdor doesn't have QHEE (Qualcomm's EL2 blob), so the
6967ec3e673SRob Clark	 * modem needs to cover certain init steps (GSI init), and
6977ec3e673SRob Clark	 * the AP needs to wait for it.
6987ec3e673SRob Clark	 */
6997ec3e673SRob Clark	modem-init;
7007ec3e673SRob Clark};
7017ec3e673SRob Clark
7027ec3e673SRob Clark&mdp {
7037ec3e673SRob Clark	status = "okay";
7047ec3e673SRob Clark};
7057ec3e673SRob Clark
7067ec3e673SRob Clark&mdss {
7077ec3e673SRob Clark	status = "okay";
7087ec3e673SRob Clark};
7097ec3e673SRob Clark
710bb06eb36SAntony Wang&pm6150_adc {
711bb06eb36SAntony Wang	charger-thermistor@4f {
712bb06eb36SAntony Wang		reg = <ADC5_AMUX_THM3_100K_PU>;
713bb06eb36SAntony Wang		qcom,ratiometric;
714bb06eb36SAntony Wang		qcom,hw-settle-time = <200>;
715bb06eb36SAntony Wang	};
716bb06eb36SAntony Wang};
717bb06eb36SAntony Wang
718bb06eb36SAntony Wang&pm6150_adc_tm {
719bb06eb36SAntony Wang	status = "okay";
720bb06eb36SAntony Wang
721bb06eb36SAntony Wang	charger-thermistor@1 {
722bb06eb36SAntony Wang		reg = <1>;
723bb06eb36SAntony Wang		io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
724bb06eb36SAntony Wang		qcom,ratiometric;
725bb06eb36SAntony Wang		qcom,hw-settle-time-us = <200>;
726bb06eb36SAntony Wang	};
727bb06eb36SAntony Wang};
728bb06eb36SAntony Wang
7297ec3e673SRob Clark&pm6150_pwrkey {
7307ec3e673SRob Clark	status = "disabled";
7317ec3e673SRob Clark};
7327ec3e673SRob Clark
7337ec3e673SRob Clark&qupv3_id_0 {
7347ec3e673SRob Clark	status = "okay";
7357ec3e673SRob Clark};
7367ec3e673SRob Clark
7377ec3e673SRob Clark&qupv3_id_1 {
7387ec3e673SRob Clark	status = "okay";
7397ec3e673SRob Clark};
7407ec3e673SRob Clark
7417ec3e673SRob Clark&remoteproc_mpss {
7427ec3e673SRob Clark	status = "okay";
7437ec3e673SRob Clark	compatible = "qcom,sc7180-mss-pil";
7447ec3e673SRob Clark	iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
7457ec3e673SRob Clark	memory-region = <&mba_mem &mpss_mem>;
7467ec3e673SRob Clark
7477ec3e673SRob Clark	/* This gets overridden for SKUs with LTE support. */
7487ec3e673SRob Clark	firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn",
7497ec3e673SRob Clark			"qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn";
7507ec3e673SRob Clark};
7517ec3e673SRob Clark
7527ec3e673SRob Clark&sdhc_1 {
7537ec3e673SRob Clark	status = "okay";
7547ec3e673SRob Clark
7557ec3e673SRob Clark	pinctrl-names = "default", "sleep";
7567ec3e673SRob Clark	pinctrl-0 = <&sdc1_on>;
7577ec3e673SRob Clark	pinctrl-1 = <&sdc1_off>;
7587ec3e673SRob Clark	vmmc-supply = <&mcp_vcc>;
7597ec3e673SRob Clark	vqmmc-supply = <&mcp_vccq>;
7607ec3e673SRob Clark};
7617ec3e673SRob Clark
7627ec3e673SRob Clark&sdhc_2 {
7637ec3e673SRob Clark	pinctrl-names = "default", "sleep";
7647ec3e673SRob Clark	pinctrl-0 = <&sdc2_on>;
7657ec3e673SRob Clark	pinctrl-1 = <&sdc2_off>;
7667ec3e673SRob Clark	vmmc-supply = <&pp2950_l9c>;
7677ec3e673SRob Clark	vqmmc-supply = <&ppvar_l6c>;
7687ec3e673SRob Clark
7697ec3e673SRob Clark	cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
7707ec3e673SRob Clark};
7717ec3e673SRob Clark
772cfbb97fdSDouglas Anderson&spi0 {
773cfbb97fdSDouglas Anderson	pinctrl-0 = <&qup_spi0_cs_gpio>;
774cfbb97fdSDouglas Anderson	cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
775cfbb97fdSDouglas Anderson};
776cfbb97fdSDouglas Anderson
777cfbb97fdSDouglas Anderson&spi6 {
778cfbb97fdSDouglas Anderson	pinctrl-0 = <&qup_spi6_cs_gpio>;
779cfbb97fdSDouglas Anderson	cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
780cfbb97fdSDouglas Anderson};
781cfbb97fdSDouglas Anderson
7827ec3e673SRob Clarkap_spi_fp: &spi10 {
783cfbb97fdSDouglas Anderson	pinctrl-0 = <&qup_spi10_cs_gpio>;
784cfbb97fdSDouglas Anderson	cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
785cfbb97fdSDouglas Anderson
7867ec3e673SRob Clark	cros_ec_fp: ec@0 {
7877ec3e673SRob Clark		compatible = "google,cros-ec-spi";
7887ec3e673SRob Clark		reg = <0>;
7897ec3e673SRob Clark		interrupt-parent = <&tlmm>;
7907ec3e673SRob Clark		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
7917ec3e673SRob Clark		pinctrl-names = "default";
7927ec3e673SRob Clark		pinctrl-0 = <&fp_to_ap_irq_l>, <&fp_rst_l>, <&fpmcu_boot0>, <&fpmcu_sel>;
7937ec3e673SRob Clark		spi-max-frequency = <3000000>;
7947ec3e673SRob Clark	};
7957ec3e673SRob Clark};
7967ec3e673SRob Clark
7977ec3e673SRob Clark#include <arm/cros-ec-keyboard.dtsi>
7987ec3e673SRob Clark#include <arm/cros-ec-sbs.dtsi>
7997ec3e673SRob Clark
8007ec3e673SRob Clark&uart3 {
8017ec3e673SRob Clark	status = "okay";
8027ec3e673SRob Clark
8034e0a3e04Ssatya priya	/delete-property/interrupts;
8044e0a3e04Ssatya priya	interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
8054e0a3e04Ssatya priya				<&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
8064e0a3e04Ssatya priya
8074e0a3e04Ssatya priya	pinctrl-names = "default", "sleep";
8084e0a3e04Ssatya priya	pinctrl-1 = <&qup_uart3_sleep>;
8094e0a3e04Ssatya priya
8107ec3e673SRob Clark	bluetooth: bluetooth {
8117ec3e673SRob Clark		compatible = "qcom,wcn3991-bt";
8127ec3e673SRob Clark		vddio-supply = <&pp1800_l10a>;
8137ec3e673SRob Clark		vddxo-supply = <&pp1800_l1c>;
8147ec3e673SRob Clark		vddrf-supply = <&pp1300_l2c>;
8157ec3e673SRob Clark		vddch0-supply = <&pp3300_l10c>;
8167ec3e673SRob Clark		max-speed = <3200000>;
8177ec3e673SRob Clark		clocks = <&rpmhcc RPMH_RF_CLK2>;
8187ec3e673SRob Clark	};
8197ec3e673SRob Clark};
8207ec3e673SRob Clark
8217ec3e673SRob Clark&uart8 {
8227ec3e673SRob Clark	status = "okay";
8237ec3e673SRob Clark};
8247ec3e673SRob Clark
8257ec3e673SRob Clark&usb_1 {
8267ec3e673SRob Clark	status = "okay";
8277ec3e673SRob Clark};
8287ec3e673SRob Clark
8297ec3e673SRob Clark&usb_1_dwc3 {
8307ec3e673SRob Clark	dr_mode = "host";
8317ec3e673SRob Clark};
8327ec3e673SRob Clark
8337ec3e673SRob Clark&usb_1_hsphy {
8347ec3e673SRob Clark	status = "okay";
8357ec3e673SRob Clark	vdd-supply = <&vdd_qusb_hs0_core>;
8367ec3e673SRob Clark	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
8377ec3e673SRob Clark	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
8387ec3e673SRob Clark	qcom,imp-res-offset-value = <8>;
8397ec3e673SRob Clark	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
8407ec3e673SRob Clark	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
8417ec3e673SRob Clark	qcom,bias-ctrl-value = <0x22>;
8427ec3e673SRob Clark	qcom,charge-ctrl-value = <3>;
8437ec3e673SRob Clark	qcom,hsdisc-trim-value = <0>;
8447ec3e673SRob Clark};
8457ec3e673SRob Clark
8467ec3e673SRob Clark&usb_1_qmpphy {
8477ec3e673SRob Clark	status = "okay";
8487ec3e673SRob Clark	vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
8497ec3e673SRob Clark	vdda-pll-supply = <&vdda_usb_ss_dp_core>;
8507ec3e673SRob Clark};
8517ec3e673SRob Clark
8527ec3e673SRob Clark&venus {
8537ec3e673SRob Clark	video-firmware {
8547ec3e673SRob Clark		iommus = <&apps_smmu 0x0c42 0x0>;
8557ec3e673SRob Clark	};
8567ec3e673SRob Clark};
8577ec3e673SRob Clark
8587ec3e673SRob Clark&wifi {
8597ec3e673SRob Clark	status = "okay";
8607ec3e673SRob Clark	vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
8617ec3e673SRob Clark	vdd-1.8-xo-supply = <&pp1800_l1c>;
8627ec3e673SRob Clark	vdd-1.3-rfa-supply = <&pp1300_l2c>;
8637ec3e673SRob Clark	vdd-3.3-ch0-supply = <&pp3300_l10c>;
8647ec3e673SRob Clark	vdd-3.3-ch1-supply = <&pp3300_l11c>;
8657ec3e673SRob Clark
8667ec3e673SRob Clark	wifi-firmware {
8677ec3e673SRob Clark		iommus = <&apps_smmu 0xc2 0x1>;
8687ec3e673SRob Clark	};
8697ec3e673SRob Clark};
8707ec3e673SRob Clark
8717ec3e673SRob Clark/* PINCTRL - additions to nodes defined in sc7180.dtsi */
8727ec3e673SRob Clark
873f772081fSDouglas Anderson&dp_hot_plug_det {
874f772081fSDouglas Anderson	pinconf {
875f772081fSDouglas Anderson		pins = "gpio117";
876f772081fSDouglas Anderson		bias-disable;
877f772081fSDouglas Anderson	};
878f772081fSDouglas Anderson};
879f772081fSDouglas Anderson
8807ec3e673SRob Clark&qspi_cs0 {
8817ec3e673SRob Clark	pinconf {
8827ec3e673SRob Clark		pins = "gpio68";
8837ec3e673SRob Clark		bias-disable;
8847ec3e673SRob Clark	};
8857ec3e673SRob Clark};
8867ec3e673SRob Clark
8877ec3e673SRob Clark&qspi_clk {
8887ec3e673SRob Clark	pinconf {
8897ec3e673SRob Clark		pins = "gpio63";
8907ec3e673SRob Clark		bias-disable;
8917ec3e673SRob Clark	};
8927ec3e673SRob Clark};
8937ec3e673SRob Clark
8947ec3e673SRob Clark&qspi_data01 {
8957ec3e673SRob Clark	pinconf {
8967ec3e673SRob Clark		pins = "gpio64", "gpio65";
8977ec3e673SRob Clark
8987ec3e673SRob Clark		/* High-Z when no transfers; nice to park the lines */
8997ec3e673SRob Clark		bias-pull-up;
9007ec3e673SRob Clark	};
9017ec3e673SRob Clark};
9027ec3e673SRob Clark
9037ec3e673SRob Clark&qup_i2c2_default {
9047ec3e673SRob Clark	pinconf {
9057ec3e673SRob Clark		pins = "gpio15", "gpio16";
9067ec3e673SRob Clark		drive-strength = <2>;
9077ec3e673SRob Clark
9087ec3e673SRob Clark		/* Has external pullup */
9097ec3e673SRob Clark		bias-disable;
9107ec3e673SRob Clark	};
9117ec3e673SRob Clark};
9127ec3e673SRob Clark
9137ec3e673SRob Clark&qup_i2c4_default {
9147ec3e673SRob Clark	pinconf {
9157ec3e673SRob Clark		pins = "gpio115", "gpio116";
9167ec3e673SRob Clark		drive-strength = <2>;
9177ec3e673SRob Clark
9187ec3e673SRob Clark		/* Has external pullup */
9197ec3e673SRob Clark		bias-disable;
9207ec3e673SRob Clark	};
9217ec3e673SRob Clark};
9227ec3e673SRob Clark
9237ec3e673SRob Clark&qup_i2c5_default {
9247ec3e673SRob Clark	pinconf {
9257ec3e673SRob Clark		pins = "gpio25", "gpio26";
9267ec3e673SRob Clark		drive-strength = <2>;
9277ec3e673SRob Clark
9287ec3e673SRob Clark		/* Has external pullup */
9297ec3e673SRob Clark		bias-disable;
9307ec3e673SRob Clark	};
9317ec3e673SRob Clark};
9327ec3e673SRob Clark
9337ec3e673SRob Clark&qup_i2c7_default {
9347ec3e673SRob Clark	pinconf {
9357ec3e673SRob Clark		pins = "gpio6", "gpio7";
9367ec3e673SRob Clark		drive-strength = <2>;
9377ec3e673SRob Clark
9387ec3e673SRob Clark		/* Has external pullup */
9397ec3e673SRob Clark		bias-disable;
9407ec3e673SRob Clark	};
9417ec3e673SRob Clark};
9427ec3e673SRob Clark
9437ec3e673SRob Clark&qup_i2c9_default {
9447ec3e673SRob Clark	pinconf {
9457ec3e673SRob Clark		pins = "gpio46", "gpio47";
9467ec3e673SRob Clark		drive-strength = <2>;
9477ec3e673SRob Clark
9487ec3e673SRob Clark		/* Has external pullup */
9497ec3e673SRob Clark		bias-disable;
9507ec3e673SRob Clark	};
9517ec3e673SRob Clark};
9527ec3e673SRob Clark
953cfbb97fdSDouglas Anderson&qup_spi0_cs_gpio {
9547ec3e673SRob Clark	pinconf {
9557ec3e673SRob Clark		pins = "gpio34", "gpio35", "gpio36", "gpio37";
9567ec3e673SRob Clark		drive-strength = <2>;
9577ec3e673SRob Clark		bias-disable;
9587ec3e673SRob Clark	};
9597ec3e673SRob Clark};
9607ec3e673SRob Clark
961cfbb97fdSDouglas Anderson&qup_spi6_cs_gpio {
9627ec3e673SRob Clark	pinconf {
9637ec3e673SRob Clark		pins = "gpio59", "gpio60", "gpio61", "gpio62";
9647ec3e673SRob Clark		drive-strength = <2>;
9657ec3e673SRob Clark		bias-disable;
9667ec3e673SRob Clark	};
9677ec3e673SRob Clark};
9687ec3e673SRob Clark
969cfbb97fdSDouglas Anderson&qup_spi10_cs_gpio {
9707ec3e673SRob Clark	pinconf {
9717ec3e673SRob Clark		pins = "gpio86", "gpio87", "gpio88", "gpio89";
9727ec3e673SRob Clark		drive-strength = <2>;
9737ec3e673SRob Clark		bias-disable;
9747ec3e673SRob Clark	};
9757ec3e673SRob Clark};
9767ec3e673SRob Clark
9777ec3e673SRob Clark&qup_uart3_default {
9787ec3e673SRob Clark	pinconf-cts {
9797ec3e673SRob Clark		/*
9807ec3e673SRob Clark		 * Configure a pull-down on CTS to match the pull of
9817ec3e673SRob Clark		 * the Bluetooth module.
9827ec3e673SRob Clark		 */
9837ec3e673SRob Clark		pins = "gpio38";
9847ec3e673SRob Clark		bias-pull-down;
9857ec3e673SRob Clark	};
9867ec3e673SRob Clark
9877ec3e673SRob Clark	pinconf-rts-tx {
9887ec3e673SRob Clark		/* We'll drive RTS and TX, so no pull */
9897ec3e673SRob Clark		pins = "gpio39", "gpio40";
9907ec3e673SRob Clark		drive-strength = <2>;
9917ec3e673SRob Clark		bias-disable;
9927ec3e673SRob Clark	};
9937ec3e673SRob Clark
9947ec3e673SRob Clark	pinconf-rx {
9957ec3e673SRob Clark		/*
9967ec3e673SRob Clark		 * Configure a pull-up on RX. This is needed to avoid
9977ec3e673SRob Clark		 * garbage data when the TX pin of the Bluetooth module is
9987ec3e673SRob Clark		 * in tri-state (module powered off or not driving the
9997ec3e673SRob Clark		 * signal yet).
10007ec3e673SRob Clark		 */
10017ec3e673SRob Clark		pins = "gpio41";
10027ec3e673SRob Clark		bias-pull-up;
10037ec3e673SRob Clark	};
10047ec3e673SRob Clark};
10057ec3e673SRob Clark
10067ec3e673SRob Clark&qup_uart8_default {
10077ec3e673SRob Clark	pinconf-tx {
10087ec3e673SRob Clark		pins = "gpio44";
10097ec3e673SRob Clark		drive-strength = <2>;
10107ec3e673SRob Clark		bias-disable;
10117ec3e673SRob Clark	};
10127ec3e673SRob Clark
10137ec3e673SRob Clark	pinconf-rx {
10147ec3e673SRob Clark		pins = "gpio45";
10157ec3e673SRob Clark		drive-strength = <2>;
10167ec3e673SRob Clark		bias-pull-up;
10177ec3e673SRob Clark	};
10187ec3e673SRob Clark};
10197ec3e673SRob Clark
10207ec3e673SRob Clark/* PINCTRL - board-specific pinctrl */
10217ec3e673SRob Clark
10227ec3e673SRob Clark&pm6150_gpio {
10237ec3e673SRob Clark	status = "disabled"; /* No GPIOs are connected */
10247ec3e673SRob Clark};
10257ec3e673SRob Clark
10267ec3e673SRob Clark&pm6150l_gpio {
10277ec3e673SRob Clark	gpio-line-names = "AP_SUSPEND",
10287ec3e673SRob Clark			  "",
10297ec3e673SRob Clark			  "",
10307ec3e673SRob Clark			  "",
10317ec3e673SRob Clark			  "",
10327ec3e673SRob Clark			  "",
10337ec3e673SRob Clark			  "",
10347ec3e673SRob Clark			  "",
10357ec3e673SRob Clark			  "",
10367ec3e673SRob Clark			  "",
10377ec3e673SRob Clark			  "",
10387ec3e673SRob Clark			  "";
10397ec3e673SRob Clark};
10407ec3e673SRob Clark
10417ec3e673SRob Clark&tlmm {
10427ec3e673SRob Clark	/*
10437ec3e673SRob Clark	 * pinctrl settings for pins that have no real owners.
10447ec3e673SRob Clark	 */
10457ec3e673SRob Clark	pinctrl-names = "default";
10467ec3e673SRob Clark	pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
10477ec3e673SRob Clark
10487ec3e673SRob Clark	amp_en: amp-en {
10497ec3e673SRob Clark		pinmux {
10507ec3e673SRob Clark			pins = "gpio23";
10517ec3e673SRob Clark			function = "gpio";
10527ec3e673SRob Clark		};
10537ec3e673SRob Clark
10547ec3e673SRob Clark		pinconf {
10557ec3e673SRob Clark			pins = "gpio23";
10567ec3e673SRob Clark			bias-pull-down;
10577ec3e673SRob Clark		};
10587ec3e673SRob Clark	};
10597ec3e673SRob Clark
10607ec3e673SRob Clark	ap_ec_int_l: ap-ec-int-l {
10617ec3e673SRob Clark		pinmux {
10627ec3e673SRob Clark			pins = "gpio94";
10637ec3e673SRob Clark			function = "gpio";
10647ec3e673SRob Clark			input-enable;
10657ec3e673SRob Clark		};
10667ec3e673SRob Clark
10677ec3e673SRob Clark		pinconf {
10687ec3e673SRob Clark			pins = "gpio94";
10697ec3e673SRob Clark			bias-pull-up;
10707ec3e673SRob Clark		};
10717ec3e673SRob Clark	};
10727ec3e673SRob Clark
10737ec3e673SRob Clark	ap_edp_bklten: ap-edp-bklten {
10747ec3e673SRob Clark		pinmux {
10757ec3e673SRob Clark			pins = "gpio12";
10767ec3e673SRob Clark			function = "gpio";
10777ec3e673SRob Clark		};
10787ec3e673SRob Clark
10797ec3e673SRob Clark		pinconf {
10807ec3e673SRob Clark			pins = "gpio12";
10817ec3e673SRob Clark			drive-strength = <2>;
10827ec3e673SRob Clark			bias-disable;
10837ec3e673SRob Clark
10847ec3e673SRob Clark			/* Force backlight to be disabled to match state at boot. */
10857ec3e673SRob Clark			output-low;
10867ec3e673SRob Clark		};
10877ec3e673SRob Clark	};
10887ec3e673SRob Clark
10897ec3e673SRob Clark	ap_suspend_l_neuter: ap-suspend-l-neuter {
10907ec3e673SRob Clark		pinmux  {
10917ec3e673SRob Clark			pins = "gpio27";
10927ec3e673SRob Clark			function = "gpio";
10937ec3e673SRob Clark		};
10947ec3e673SRob Clark
10957ec3e673SRob Clark		pinconf {
10967ec3e673SRob Clark			pins = "gpio27";
10977ec3e673SRob Clark			bias-disable;
10987ec3e673SRob Clark		};
10997ec3e673SRob Clark	};
11007ec3e673SRob Clark
11017ec3e673SRob Clark	bios_flash_wp_l: bios-flash-wp-l {
11027ec3e673SRob Clark		pinmux {
11037ec3e673SRob Clark			pins = "gpio66";
11047ec3e673SRob Clark			function = "gpio";
11057ec3e673SRob Clark			input-enable;
11067ec3e673SRob Clark		};
11077ec3e673SRob Clark
11087ec3e673SRob Clark		pinconf {
11097ec3e673SRob Clark			pins = "gpio66";
11107ec3e673SRob Clark			bias-disable;
11117ec3e673SRob Clark		};
11127ec3e673SRob Clark	};
11137ec3e673SRob Clark
11147ec3e673SRob Clark	dp_hot_plug_det: dp-hot-plug-det {
11157ec3e673SRob Clark		 pinmux {
11167ec3e673SRob Clark			 pins = "gpio117";
11177ec3e673SRob Clark			 function = "dp_hot";
11187ec3e673SRob Clark		 };
11197ec3e673SRob Clark
11207ec3e673SRob Clark		 config {
11217ec3e673SRob Clark			 pins = "gpio117";
11227ec3e673SRob Clark			 bias-disable;
11237ec3e673SRob Clark			 input-enable;
11247ec3e673SRob Clark			 drive-strength = <2>;
11257ec3e673SRob Clark		 };
11267ec3e673SRob Clark	 };
11277ec3e673SRob Clark
11287ec3e673SRob Clark	edp_brij_en: edp-brij-en {
11297ec3e673SRob Clark		pinmux {
11307ec3e673SRob Clark			pins = "gpio104";
11317ec3e673SRob Clark			function = "gpio";
11327ec3e673SRob Clark		};
11337ec3e673SRob Clark
11347ec3e673SRob Clark		pinconf {
11357ec3e673SRob Clark			pins = "gpio104";
11367ec3e673SRob Clark			drive-strength = <2>;
11377ec3e673SRob Clark			bias-disable;
11387ec3e673SRob Clark		};
11397ec3e673SRob Clark	};
11407ec3e673SRob Clark
11417ec3e673SRob Clark	edp_brij_irq: edp-brij-irq {
11427ec3e673SRob Clark		pinmux {
11437ec3e673SRob Clark			pins = "gpio11";
11447ec3e673SRob Clark			function = "gpio";
11457ec3e673SRob Clark		};
11467ec3e673SRob Clark
11477ec3e673SRob Clark		pinconf {
11487ec3e673SRob Clark			pins = "gpio11";
11497ec3e673SRob Clark			drive-strength = <2>;
11507ec3e673SRob Clark			bias-pull-down;
11517ec3e673SRob Clark		};
11527ec3e673SRob Clark	};
11537ec3e673SRob Clark
11547ec3e673SRob Clark	en_pp3300_codec: en-pp3300-codec {
11557ec3e673SRob Clark		pinmux {
11567ec3e673SRob Clark			pins = "gpio83";
11577ec3e673SRob Clark			function = "gpio";
11587ec3e673SRob Clark		};
11597ec3e673SRob Clark
11607ec3e673SRob Clark		pinconf {
11617ec3e673SRob Clark			pins = "gpio83";
11627ec3e673SRob Clark			drive-strength = <2>;
11637ec3e673SRob Clark			bias-disable;
11647ec3e673SRob Clark		};
11657ec3e673SRob Clark	};
11667ec3e673SRob Clark
11677ec3e673SRob Clark	en_pp3300_dx_edp: en-pp3300-dx-edp {
11687ec3e673SRob Clark		pinmux {
11697ec3e673SRob Clark			pins = "gpio30";
11707ec3e673SRob Clark			function = "gpio";
11717ec3e673SRob Clark		};
11727ec3e673SRob Clark
11737ec3e673SRob Clark		pinconf {
11747ec3e673SRob Clark			pins = "gpio30";
11757ec3e673SRob Clark			drive-strength = <2>;
11767ec3e673SRob Clark			bias-disable;
11777ec3e673SRob Clark		};
11787ec3e673SRob Clark	};
11797ec3e673SRob Clark
1180066c2a94SMatthias Kaehlcke	en_pp3300_hub: en-pp3300-hub {
1181066c2a94SMatthias Kaehlcke		pinmux {
1182066c2a94SMatthias Kaehlcke			pins = "gpio84";
1183066c2a94SMatthias Kaehlcke			function = "gpio";
1184066c2a94SMatthias Kaehlcke		};
1185066c2a94SMatthias Kaehlcke
1186066c2a94SMatthias Kaehlcke		pinconf {
1187066c2a94SMatthias Kaehlcke			pins = "gpio84";
1188066c2a94SMatthias Kaehlcke			drive-strength = <2>;
1189066c2a94SMatthias Kaehlcke			bias-disable;
1190066c2a94SMatthias Kaehlcke		};
1191066c2a94SMatthias Kaehlcke	};
1192066c2a94SMatthias Kaehlcke
11937ec3e673SRob Clark	fpmcu_boot0: fpmcu-boot0 {
11947ec3e673SRob Clark		pinmux {
11957ec3e673SRob Clark			pins = "gpio10";
11967ec3e673SRob Clark			function = "gpio";
11977ec3e673SRob Clark		};
11987ec3e673SRob Clark
11997ec3e673SRob Clark		pinconf {
12007ec3e673SRob Clark			pins = "gpio10";
12017ec3e673SRob Clark			bias-disable;
12027ec3e673SRob Clark			drive-strength = <2>;
12037ec3e673SRob Clark			output-low;
12047ec3e673SRob Clark		};
12057ec3e673SRob Clark	};
12067ec3e673SRob Clark
12077ec3e673SRob Clark	fpmcu_sel: fpmcu-sel {
12087ec3e673SRob Clark		pinmux {
12097ec3e673SRob Clark			pins = "gpio22";
12107ec3e673SRob Clark			function = "gpio";
12117ec3e673SRob Clark		};
12127ec3e673SRob Clark
12137ec3e673SRob Clark		pinconf {
12147ec3e673SRob Clark			pins = "gpio22";
12157ec3e673SRob Clark			bias-disable;
12167ec3e673SRob Clark			drive-strength = <2>;
12177ec3e673SRob Clark			output-high;
12187ec3e673SRob Clark		};
12197ec3e673SRob Clark	};
12207ec3e673SRob Clark
12217ec3e673SRob Clark	fp_rst_l: fp-rst-l {
12227ec3e673SRob Clark		pinmux {
12237ec3e673SRob Clark			pins = "gpio5";
12247ec3e673SRob Clark			function = "gpio";
12257ec3e673SRob Clark		};
12267ec3e673SRob Clark
12277ec3e673SRob Clark		pinconf {
12287ec3e673SRob Clark			pins = "gpio5";
12297ec3e673SRob Clark			bias-disable;
12307ec3e673SRob Clark			drive-strength = <2>;
12317ec3e673SRob Clark			output-high;
12327ec3e673SRob Clark		};
12337ec3e673SRob Clark	};
12347ec3e673SRob Clark
12357ec3e673SRob Clark	fp_to_ap_irq_l: fp-to-ap-irq-l {
12367ec3e673SRob Clark		pinmux {
12377ec3e673SRob Clark			pins = "gpio4";
12387ec3e673SRob Clark			function = "gpio";
12397ec3e673SRob Clark			input-enable;
12407ec3e673SRob Clark		};
12417ec3e673SRob Clark
12427ec3e673SRob Clark		pinconf {
12437ec3e673SRob Clark			pins = "gpio4";
12447ec3e673SRob Clark
12457ec3e673SRob Clark			/* Has external pullup */
12467ec3e673SRob Clark			bias-disable;
12477ec3e673SRob Clark		};
12487ec3e673SRob Clark	};
12497ec3e673SRob Clark
12507ec3e673SRob Clark
12517ec3e673SRob Clark	h1_ap_int_odl: h1-ap-int-odl {
12527ec3e673SRob Clark		pinmux {
12537ec3e673SRob Clark			pins = "gpio42";
12547ec3e673SRob Clark			function = "gpio";
12557ec3e673SRob Clark			input-enable;
12567ec3e673SRob Clark		};
12577ec3e673SRob Clark
12587ec3e673SRob Clark		pinconf {
12597ec3e673SRob Clark			pins = "gpio42";
12607ec3e673SRob Clark			bias-pull-up;
12617ec3e673SRob Clark		};
12627ec3e673SRob Clark	};
12637ec3e673SRob Clark
12647ec3e673SRob Clark	hp_irq: hp-irq {
12657ec3e673SRob Clark		pinmux {
12667ec3e673SRob Clark			pins = "gpio28";
12677ec3e673SRob Clark			function = "gpio";
12687ec3e673SRob Clark		};
12697ec3e673SRob Clark
12707ec3e673SRob Clark		pinconf {
12717ec3e673SRob Clark			pins = "gpio28";
12727ec3e673SRob Clark			bias-pull-up;
12737ec3e673SRob Clark		};
12747ec3e673SRob Clark	};
12757ec3e673SRob Clark
12767ec3e673SRob Clark	pen_irq_l: pen-irq-l {
12777ec3e673SRob Clark		pinmux {
12787ec3e673SRob Clark			pins = "gpio21";
12797ec3e673SRob Clark			function = "gpio";
12807ec3e673SRob Clark		};
12817ec3e673SRob Clark
12827ec3e673SRob Clark		pinconf {
12837ec3e673SRob Clark			pins = "gpio21";
12847ec3e673SRob Clark
12857ec3e673SRob Clark			/* Has external pullup */
12867ec3e673SRob Clark			bias-disable;
12877ec3e673SRob Clark		};
12887ec3e673SRob Clark	};
12897ec3e673SRob Clark
12907ec3e673SRob Clark	pen_pdct_l: pen-pdct-l {
12917ec3e673SRob Clark		pinmux {
12927ec3e673SRob Clark			pins = "gpio52";
12937ec3e673SRob Clark			function = "gpio";
12947ec3e673SRob Clark		};
12957ec3e673SRob Clark
12967ec3e673SRob Clark		pinconf {
12977ec3e673SRob Clark			pins = "gpio52";
12987ec3e673SRob Clark
12997ec3e673SRob Clark			/* Has external pullup */
13007ec3e673SRob Clark			bias-disable;
13017ec3e673SRob Clark		};
13027ec3e673SRob Clark	};
13037ec3e673SRob Clark
13047ec3e673SRob Clark	pen_rst_odl: pen-rst-odl {
13057ec3e673SRob Clark		pinmux  {
13067ec3e673SRob Clark			pins = "gpio18";
13077ec3e673SRob Clark			function = "gpio";
13087ec3e673SRob Clark		};
13097ec3e673SRob Clark
13107ec3e673SRob Clark		pinconf {
13117ec3e673SRob Clark			pins = "gpio18";
13127ec3e673SRob Clark			bias-disable;
13137ec3e673SRob Clark			drive-strength = <2>;
13147ec3e673SRob Clark
13157ec3e673SRob Clark			/*
13167ec3e673SRob Clark			 * The pen driver doesn't currently support
13177ec3e673SRob Clark			 * driving this reset line.  By specifying
13187ec3e673SRob Clark			 * output-high here we're relying on the fact
13197ec3e673SRob Clark			 * that this pin has a default pulldown at boot
13207ec3e673SRob Clark			 * (which makes sure the pen was in reset if it
13217ec3e673SRob Clark			 * was powered) and then we set it high here to
13227ec3e673SRob Clark			 * take it out of reset.  Better would be if the
13237ec3e673SRob Clark			 * pen driver could control this and we could
13247ec3e673SRob Clark			 * remove "output-high" here.
13257ec3e673SRob Clark			 */
13267ec3e673SRob Clark			output-high; /* TODO: Remove this? */
13277ec3e673SRob Clark		};
13287ec3e673SRob Clark	};
13297ec3e673SRob Clark
13307ec3e673SRob Clark	p_sensor_int_l: p-sensor-int-l {
13317ec3e673SRob Clark		pinmux {
13327ec3e673SRob Clark			pins = "gpio24";
13337ec3e673SRob Clark			function = "gpio";
13347ec3e673SRob Clark			input-enable;
13357ec3e673SRob Clark		};
13367ec3e673SRob Clark
13377ec3e673SRob Clark		pinconf {
13387ec3e673SRob Clark			pins = "gpio24";
1339d5276bfaSStephen Boyd			/* Has external pullup */
1340d5276bfaSStephen Boyd			bias-disable;
13417ec3e673SRob Clark		};
13427ec3e673SRob Clark	};
13437ec3e673SRob Clark
13444e0a3e04Ssatya priya	qup_uart3_sleep: qup-uart3-sleep {
13454e0a3e04Ssatya priya		pinmux {
13464e0a3e04Ssatya priya			pins = "gpio38", "gpio39",
13474e0a3e04Ssatya priya			       "gpio40", "gpio41";
13484e0a3e04Ssatya priya			function = "gpio";
13494e0a3e04Ssatya priya		};
13504e0a3e04Ssatya priya
13514e0a3e04Ssatya priya		pinconf-cts {
13524e0a3e04Ssatya priya			/*
13534e0a3e04Ssatya priya			 * Configure a pull-down on CTS to match the pull of
13544e0a3e04Ssatya priya			 * the Bluetooth module.
13554e0a3e04Ssatya priya			 */
13564e0a3e04Ssatya priya			pins = "gpio38";
13574e0a3e04Ssatya priya			bias-pull-down;
13584e0a3e04Ssatya priya		};
13594e0a3e04Ssatya priya
13604e0a3e04Ssatya priya		pinconf-rts {
13614e0a3e04Ssatya priya			/*
13624e0a3e04Ssatya priya			 * Configure pull-down on RTS. As RTS is active low
13634e0a3e04Ssatya priya			 * signal, pull it low to indicate the BT SoC that it
13644e0a3e04Ssatya priya			 * can wakeup the system anytime from suspend state by
13654e0a3e04Ssatya priya			 * pulling RX low (by sending wakeup bytes).
13664e0a3e04Ssatya priya			 */
13674e0a3e04Ssatya priya			 pins = "gpio39";
13684e0a3e04Ssatya priya			 bias-pull-down;
13694e0a3e04Ssatya priya		};
13704e0a3e04Ssatya priya
13714e0a3e04Ssatya priya		pinconf-tx {
13724e0a3e04Ssatya priya			/*
13734e0a3e04Ssatya priya			 * Configure pull-up on TX when it isn't actively driven
13744e0a3e04Ssatya priya			 * to prevent BT SoC from receiving garbage during sleep.
13754e0a3e04Ssatya priya			 */
13764e0a3e04Ssatya priya			pins = "gpio40";
13774e0a3e04Ssatya priya			bias-pull-up;
13784e0a3e04Ssatya priya		};
13794e0a3e04Ssatya priya
13804e0a3e04Ssatya priya		pinconf-rx {
13814e0a3e04Ssatya priya			/*
13824e0a3e04Ssatya priya			 * Configure a pull-up on RX. This is needed to avoid
13834e0a3e04Ssatya priya			 * garbage data when the TX pin of the Bluetooth module
13844e0a3e04Ssatya priya			 * is floating which may cause spurious wakeups.
13854e0a3e04Ssatya priya			 */
13864e0a3e04Ssatya priya			pins = "gpio41";
13874e0a3e04Ssatya priya			bias-pull-up;
13884e0a3e04Ssatya priya		};
13894e0a3e04Ssatya priya	};
13904e0a3e04Ssatya priya
13917ec3e673SRob Clark	trackpad_int_1v8_odl: trackpad-int-1v8-odl {
13927ec3e673SRob Clark		pinmux {
13937ec3e673SRob Clark			pins = "gpio58";
13947ec3e673SRob Clark			function = "gpio";
13957ec3e673SRob Clark		};
13967ec3e673SRob Clark
13977ec3e673SRob Clark		pinconf {
13987ec3e673SRob Clark			pins = "gpio58";
13997ec3e673SRob Clark
14007ec3e673SRob Clark			/* Has external pullup */
14017ec3e673SRob Clark			bias-disable;
14027ec3e673SRob Clark		};
14037ec3e673SRob Clark	};
14047ec3e673SRob Clark
14057ec3e673SRob Clark	ts_int_l: ts-int-l {
14067ec3e673SRob Clark		pinmux  {
14077ec3e673SRob Clark			pins = "gpio9";
14087ec3e673SRob Clark			function = "gpio";
14097ec3e673SRob Clark		};
14107ec3e673SRob Clark
14117ec3e673SRob Clark		pinconf {
14127ec3e673SRob Clark			pins = "gpio9";
14137ec3e673SRob Clark			bias-pull-up;
14147ec3e673SRob Clark		};
14157ec3e673SRob Clark	};
14167ec3e673SRob Clark
14177ec3e673SRob Clark	ts_reset_l: ts-reset-l {
14187ec3e673SRob Clark		pinmux  {
14197ec3e673SRob Clark			pins = "gpio8";
14207ec3e673SRob Clark			function = "gpio";
14217ec3e673SRob Clark		};
14227ec3e673SRob Clark
14237ec3e673SRob Clark		pinconf {
14247ec3e673SRob Clark			pins = "gpio8";
14257ec3e673SRob Clark			bias-disable;
14267ec3e673SRob Clark			drive-strength = <2>;
14277ec3e673SRob Clark		};
14287ec3e673SRob Clark	};
14297ec3e673SRob Clark};
1430