xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sdm670-google-sargo.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
18bab661aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
28bab661aSEmmanuel Vadot/*
38bab661aSEmmanuel Vadot * Device tree for Google Pixel 3a, adapted from google-blueline device tree,
48bab661aSEmmanuel Vadot * xiaomi-lavender device tree, and oneplus-common device tree.
58bab661aSEmmanuel Vadot *
68bab661aSEmmanuel Vadot * Copyright (c) 2022, Richard Acayan. All rights reserved.
78bab661aSEmmanuel Vadot */
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadot/dts-v1/;
108bab661aSEmmanuel Vadot
118bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
128bab661aSEmmanuel Vadot#include <dt-bindings/input/input.h>
138bab661aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
148bab661aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
158bab661aSEmmanuel Vadot#include "sdm670.dtsi"
168bab661aSEmmanuel Vadot#include "pm660.dtsi"
178bab661aSEmmanuel Vadot#include "pm660l.dtsi"
188bab661aSEmmanuel Vadot
198bab661aSEmmanuel Vadot/delete-node/ &mpss_region;
208bab661aSEmmanuel Vadot/delete-node/ &venus_mem;
218bab661aSEmmanuel Vadot/delete-node/ &wlan_msa_mem;
228bab661aSEmmanuel Vadot/delete-node/ &cdsp_mem;
238bab661aSEmmanuel Vadot/delete-node/ &mba_region;
248bab661aSEmmanuel Vadot/delete-node/ &adsp_mem;
258bab661aSEmmanuel Vadot/delete-node/ &ipa_fw_mem;
268bab661aSEmmanuel Vadot/delete-node/ &ipa_gsi_mem;
278bab661aSEmmanuel Vadot/delete-node/ &gpu_mem;
288bab661aSEmmanuel Vadot
298bab661aSEmmanuel Vadot/ {
308bab661aSEmmanuel Vadot	model = "Google Pixel 3a";
318bab661aSEmmanuel Vadot	compatible = "google,sargo", "qcom,sdm670";
328bab661aSEmmanuel Vadot
338bab661aSEmmanuel Vadot	aliases { };
348bab661aSEmmanuel Vadot
358bab661aSEmmanuel Vadot	chosen {
368bab661aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
378bab661aSEmmanuel Vadot
388bab661aSEmmanuel Vadot		#address-cells = <2>;
398bab661aSEmmanuel Vadot		#size-cells = <2>;
408bab661aSEmmanuel Vadot		ranges;
418bab661aSEmmanuel Vadot
428bab661aSEmmanuel Vadot		framebuffer@9c000000 {
438bab661aSEmmanuel Vadot			compatible = "simple-framebuffer";
448bab661aSEmmanuel Vadot			reg = <0 0x9c000000 0 (1080 * 2220 * 4)>;
458bab661aSEmmanuel Vadot			width = <1080>;
468bab661aSEmmanuel Vadot			height = <2220>;
478bab661aSEmmanuel Vadot			stride = <(1080 * 4)>;
488bab661aSEmmanuel Vadot			format = "a8r8g8b8";
498bab661aSEmmanuel Vadot		};
508bab661aSEmmanuel Vadot	};
518bab661aSEmmanuel Vadot
528bab661aSEmmanuel Vadot	clocks {
538bab661aSEmmanuel Vadot		sleep_clk: sleep-clk {
548bab661aSEmmanuel Vadot			compatible = "fixed-clock";
558bab661aSEmmanuel Vadot			#clock-cells = <0>;
568bab661aSEmmanuel Vadot			clock-frequency = <32764>;
578bab661aSEmmanuel Vadot		};
588bab661aSEmmanuel Vadot
598bab661aSEmmanuel Vadot		xo_board: xo-board {
608bab661aSEmmanuel Vadot			compatible = "fixed-clock";
618bab661aSEmmanuel Vadot			#clock-cells = <0>;
628bab661aSEmmanuel Vadot			clock-frequency = <38400000>;
638bab661aSEmmanuel Vadot		};
648bab661aSEmmanuel Vadot	};
658bab661aSEmmanuel Vadot
668bab661aSEmmanuel Vadot	gpio-keys {
678bab661aSEmmanuel Vadot		compatible = "gpio-keys";
688bab661aSEmmanuel Vadot		autorepeat;
698bab661aSEmmanuel Vadot
708bab661aSEmmanuel Vadot		pinctrl-names = "default";
718bab661aSEmmanuel Vadot		pinctrl-0 = <&vol_up_pin>;
728bab661aSEmmanuel Vadot
738bab661aSEmmanuel Vadot		key-vol-up {
748bab661aSEmmanuel Vadot			label = "Volume Up";
758bab661aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
768bab661aSEmmanuel Vadot			gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
778bab661aSEmmanuel Vadot		};
788bab661aSEmmanuel Vadot	};
798bab661aSEmmanuel Vadot
808bab661aSEmmanuel Vadot	reserved-memory {
818bab661aSEmmanuel Vadot		#address-cells = <2>;
828bab661aSEmmanuel Vadot		#size-cells = <2>;
838bab661aSEmmanuel Vadot
848bab661aSEmmanuel Vadot		mpss_region: mpss@8b000000 {
858bab661aSEmmanuel Vadot			reg = <0 0x8b000000 0 0x9800000>;
868bab661aSEmmanuel Vadot			no-map;
878bab661aSEmmanuel Vadot		};
888bab661aSEmmanuel Vadot
898bab661aSEmmanuel Vadot		venus_mem: venus@94800000 {
908bab661aSEmmanuel Vadot			reg = <0 0x94800000 0 0x500000>;
918bab661aSEmmanuel Vadot			no-map;
928bab661aSEmmanuel Vadot		};
938bab661aSEmmanuel Vadot
948bab661aSEmmanuel Vadot		wlan_msa_mem: wlan-msa@94d00000 {
958bab661aSEmmanuel Vadot			reg = <0 0x94d00000 0 0x100000>;
968bab661aSEmmanuel Vadot			no-map;
978bab661aSEmmanuel Vadot		};
988bab661aSEmmanuel Vadot
998bab661aSEmmanuel Vadot		cdsp_mem: cdsp@94e00000 {
1008bab661aSEmmanuel Vadot			reg = <0 0x94e00000 0 0x800000>;
1018bab661aSEmmanuel Vadot			no-map;
1028bab661aSEmmanuel Vadot		};
1038bab661aSEmmanuel Vadot
1048bab661aSEmmanuel Vadot		mba_region: mba@95600000 {
1058bab661aSEmmanuel Vadot			reg = <0 0x95600000 0 0x200000>;
1068bab661aSEmmanuel Vadot			no-map;
1078bab661aSEmmanuel Vadot		};
1088bab661aSEmmanuel Vadot
1098bab661aSEmmanuel Vadot		adsp_mem: adsp@95800000 {
1108bab661aSEmmanuel Vadot			reg = <0 0x95800000 0 0x2200000>;
1118bab661aSEmmanuel Vadot			no-map;
1128bab661aSEmmanuel Vadot		};
1138bab661aSEmmanuel Vadot
1148bab661aSEmmanuel Vadot		ipa_fw_mem: ipa-fw@97a00000 {
1158bab661aSEmmanuel Vadot			reg = <0 0x97a00000 0 0x10000>;
1168bab661aSEmmanuel Vadot			no-map;
1178bab661aSEmmanuel Vadot		};
1188bab661aSEmmanuel Vadot
1198bab661aSEmmanuel Vadot		ipa_gsi_mem: ipa-gsi@97a10000 {
1208bab661aSEmmanuel Vadot			reg = <0 0x97a10000 0 0x5000>;
1218bab661aSEmmanuel Vadot			no-map;
1228bab661aSEmmanuel Vadot		};
1238bab661aSEmmanuel Vadot
1248bab661aSEmmanuel Vadot		gpu_mem: gpu@97a15000 {
1258bab661aSEmmanuel Vadot			reg = <0 0x97a15000 0 0x2000>;
1268bab661aSEmmanuel Vadot			no-map;
1278bab661aSEmmanuel Vadot		};
1288bab661aSEmmanuel Vadot
1298bab661aSEmmanuel Vadot		framebuffer-region@9c000000 {
1308bab661aSEmmanuel Vadot			reg = <0 0x9c000000 0 0x2400000>;
1318bab661aSEmmanuel Vadot			no-map;
1328bab661aSEmmanuel Vadot		};
1338bab661aSEmmanuel Vadot
1348bab661aSEmmanuel Vadot		/* Also includes ramoops regions */
1358bab661aSEmmanuel Vadot		debug_info_mem: debug-info@a1800000 {
1368bab661aSEmmanuel Vadot			reg = <0 0xa1800000 0 0x411000>;
1378bab661aSEmmanuel Vadot			no-map;
1388bab661aSEmmanuel Vadot		};
1398bab661aSEmmanuel Vadot	};
1408bab661aSEmmanuel Vadot
1418bab661aSEmmanuel Vadot	/*
1428bab661aSEmmanuel Vadot	 * The touchscreen regulator seems to be controlled somehow by a gpio.
1438bab661aSEmmanuel Vadot	 * Model it as a fixed regulator and keep it on. Without schematics we
1448bab661aSEmmanuel Vadot	 * don't know how this is actually wired up...
1458bab661aSEmmanuel Vadot	 */
1468bab661aSEmmanuel Vadot	ts_1p8_supply: ts-1p8-regulator {
1478bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1488bab661aSEmmanuel Vadot		regulator-name = "ts_1p8_supply";
1498bab661aSEmmanuel Vadot
1508bab661aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
1518bab661aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
1528bab661aSEmmanuel Vadot
1538bab661aSEmmanuel Vadot		gpio = <&pm660_gpios 12 GPIO_ACTIVE_HIGH>;
1548bab661aSEmmanuel Vadot		enable-active-high;
1558bab661aSEmmanuel Vadot	};
1568bab661aSEmmanuel Vadot
1578bab661aSEmmanuel Vadot	vph_pwr: vph-pwr-regulator {
1588bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1598bab661aSEmmanuel Vadot		regulator-name = "vph_pwr";
1608bab661aSEmmanuel Vadot		regulator-min-microvolt = <3312000>;
1618bab661aSEmmanuel Vadot		regulator-max-microvolt = <3312000>;
1628bab661aSEmmanuel Vadot
1638bab661aSEmmanuel Vadot		regulator-always-on;
1648bab661aSEmmanuel Vadot		regulator-boot-on;
1658bab661aSEmmanuel Vadot	};
1668bab661aSEmmanuel Vadot
1678bab661aSEmmanuel Vadot	/*
1688bab661aSEmmanuel Vadot	 * Supply map from xiaomi-lavender specifies this as the supply for
1698bab661aSEmmanuel Vadot	 * ldob1, ldob9, ldob10, ldoa2, and ldoa3, while downstream specifies
1708bab661aSEmmanuel Vadot	 * this as a power domain. Set this as a fixed regulator with the same
1718bab661aSEmmanuel Vadot	 * voltage as lavender until display is needed to avoid unneccessarily
1728bab661aSEmmanuel Vadot	 * using a deprecated binding (regulator-fixed-domain).
1738bab661aSEmmanuel Vadot	 */
1748bab661aSEmmanuel Vadot	vreg_s2b_1p05: vreg-s2b-regulator {
1758bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1768bab661aSEmmanuel Vadot		regulator-name = "vreg_s2b";
1778bab661aSEmmanuel Vadot		regulator-min-microvolt = <1050000>;
1788bab661aSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
1798bab661aSEmmanuel Vadot	};
1808bab661aSEmmanuel Vadot};
1818bab661aSEmmanuel Vadot
1828bab661aSEmmanuel Vadot&apps_rsc {
1838bab661aSEmmanuel Vadot	regulators-0 {
1848bab661aSEmmanuel Vadot		compatible = "qcom,pm660-rpmh-regulators";
1858bab661aSEmmanuel Vadot		qcom,pmic-id = "a";
1868bab661aSEmmanuel Vadot
1878bab661aSEmmanuel Vadot		vdd-s1-supply = <&vph_pwr>;
1888bab661aSEmmanuel Vadot		vdd-s2-supply = <&vph_pwr>;
1898bab661aSEmmanuel Vadot		vdd-s3-supply = <&vph_pwr>;
1908bab661aSEmmanuel Vadot		vdd-s4-supply = <&vph_pwr>;
1918bab661aSEmmanuel Vadot		vdd-s5-supply = <&vph_pwr>;
1928bab661aSEmmanuel Vadot		vdd-s6-supply = <&vph_pwr>;
1938bab661aSEmmanuel Vadot
1948bab661aSEmmanuel Vadot		vdd-l1-l6-l7-supply = <&vreg_s6a_0p87>;
1958bab661aSEmmanuel Vadot		vdd-l2-l3-supply = <&vreg_s2b_1p05>;
1968bab661aSEmmanuel Vadot		vdd-l5-supply = <&vreg_s2b_1p05>;
1978bab661aSEmmanuel Vadot		vdd-l8-l9-l10-l11-l12-l13-l14-supply = <&vreg_s4a_2p04>;
1988bab661aSEmmanuel Vadot		vdd-l15-l16-l17-l18-l19-supply = <&vreg_bob>;
1998bab661aSEmmanuel Vadot
2008bab661aSEmmanuel Vadot		/*
2018bab661aSEmmanuel Vadot		 * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed
2028bab661aSEmmanuel Vadot		 * by the Core Power Reduction hardened (CPRh) and the
2038bab661aSEmmanuel Vadot		 * Operating State Manager (OSM) HW automatically.
2048bab661aSEmmanuel Vadot		 */
2058bab661aSEmmanuel Vadot
2068bab661aSEmmanuel Vadot		vreg_s4a_2p04: smps4 {
2078bab661aSEmmanuel Vadot			regulator-min-microvolt = <1808000>;
2088bab661aSEmmanuel Vadot			regulator-max-microvolt = <2040000>;
2098bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <200>;
2108bab661aSEmmanuel Vadot		};
2118bab661aSEmmanuel Vadot
2128bab661aSEmmanuel Vadot		vreg_s6a_0p87: smps6 {
2138bab661aSEmmanuel Vadot			regulator-min-microvolt = <1224000>;
2148bab661aSEmmanuel Vadot			regulator-max-microvolt = <1352000>;
2158bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <150>;
2168bab661aSEmmanuel Vadot		};
2178bab661aSEmmanuel Vadot
2188bab661aSEmmanuel Vadot		/* LDOs */
2198bab661aSEmmanuel Vadot		vreg_l1a_1p225: ldo1 {
2208bab661aSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
2218bab661aSEmmanuel Vadot			regulator-max-microvolt = <1250000>;
2228bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2238bab661aSEmmanuel Vadot		};
2248bab661aSEmmanuel Vadot
2258bab661aSEmmanuel Vadot		vreg_l2a_1p0: ldo2 {
2268bab661aSEmmanuel Vadot			regulator-min-microvolt = <1000000>;
2278bab661aSEmmanuel Vadot			regulator-max-microvolt = <1000000>;
2288bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2298bab661aSEmmanuel Vadot		};
2308bab661aSEmmanuel Vadot
2318bab661aSEmmanuel Vadot		vreg_l3a_1p0: ldo3 {
2328bab661aSEmmanuel Vadot			regulator-min-microvolt = <1000000>;
2338bab661aSEmmanuel Vadot			regulator-max-microvolt = <1000000>;
2348bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2358bab661aSEmmanuel Vadot		};
2368bab661aSEmmanuel Vadot
2378bab661aSEmmanuel Vadot		vreg_l5a_0p848: ldo5 {
2388bab661aSEmmanuel Vadot			regulator-min-microvolt = <800000>;
2398bab661aSEmmanuel Vadot			regulator-max-microvolt = <800000>;
2408bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2418bab661aSEmmanuel Vadot		};
2428bab661aSEmmanuel Vadot
2438bab661aSEmmanuel Vadot		vreg_l6a_1p3: ldo6 {
2448bab661aSEmmanuel Vadot			regulator-min-microvolt = <1248000>;
2458bab661aSEmmanuel Vadot			regulator-max-microvolt = <1304000>;
2468bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2478bab661aSEmmanuel Vadot		};
2488bab661aSEmmanuel Vadot
2498bab661aSEmmanuel Vadot		vreg_l7a_1p2: ldo7 {
2508bab661aSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
2518bab661aSEmmanuel Vadot			regulator-max-microvolt = <1200000>;
2528bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2538bab661aSEmmanuel Vadot		};
2548bab661aSEmmanuel Vadot
2558bab661aSEmmanuel Vadot		vreg_l8a_1p8: ldo8 {
2568bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2578bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2588bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
259cb7aa33aSEmmanuel Vadot			regulator-always-on;
2608bab661aSEmmanuel Vadot		};
2618bab661aSEmmanuel Vadot
2628bab661aSEmmanuel Vadot		vreg_l9a_1p8: ldo9 {
2638bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2648bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2658bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2668bab661aSEmmanuel Vadot		};
2678bab661aSEmmanuel Vadot
2688bab661aSEmmanuel Vadot		vreg_l10a_1p8: ldo10 {
2698bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2708bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2718bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2728bab661aSEmmanuel Vadot		};
2738bab661aSEmmanuel Vadot
2748bab661aSEmmanuel Vadot		vreg_l11a_1p8: ldo11 {
2758bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2768bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2778bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2788bab661aSEmmanuel Vadot		};
2798bab661aSEmmanuel Vadot
2808bab661aSEmmanuel Vadot		vreg_l12a_1p8: ldo12 {
2818bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2828bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2838bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2848bab661aSEmmanuel Vadot		};
2858bab661aSEmmanuel Vadot
2868bab661aSEmmanuel Vadot		vreg_l13a_1p8: ldo13 {
2878bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2888bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2898bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2908bab661aSEmmanuel Vadot		};
2918bab661aSEmmanuel Vadot
2928bab661aSEmmanuel Vadot		vreg_l14a_1p8: ldo14 {
2938bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
2948bab661aSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
2958bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
2968bab661aSEmmanuel Vadot		};
2978bab661aSEmmanuel Vadot
2988bab661aSEmmanuel Vadot		vreg_l15a_1p8: ldo15 {
2998bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
3008bab661aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
3018bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3028bab661aSEmmanuel Vadot		};
3038bab661aSEmmanuel Vadot
3048bab661aSEmmanuel Vadot		vreg_l16a_2p7: ldo16 {
3058bab661aSEmmanuel Vadot			regulator-min-microvolt = <2696000>;
3068bab661aSEmmanuel Vadot			regulator-max-microvolt = <2696000>;
3078bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3088bab661aSEmmanuel Vadot		};
3098bab661aSEmmanuel Vadot
3108bab661aSEmmanuel Vadot		vreg_l17a_1p8: ldo17 {
3118bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
3128bab661aSEmmanuel Vadot			regulator-max-microvolt = <2950000>;
3138bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3148bab661aSEmmanuel Vadot		};
3158bab661aSEmmanuel Vadot
3168bab661aSEmmanuel Vadot		vreg_l19a_3p3: ldo19 {
3178bab661aSEmmanuel Vadot			regulator-min-microvolt = <3000000>;
3188bab661aSEmmanuel Vadot			regulator-max-microvolt = <3312000>;
3198bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3208bab661aSEmmanuel Vadot		};
3218bab661aSEmmanuel Vadot	};
3228bab661aSEmmanuel Vadot
3238bab661aSEmmanuel Vadot	regulators-1 {
3248bab661aSEmmanuel Vadot		compatible = "qcom,pm660l-rpmh-regulators";
3258bab661aSEmmanuel Vadot		qcom,pmic-id = "b";
3268bab661aSEmmanuel Vadot
3278bab661aSEmmanuel Vadot		vdd-s1-supply = <&vph_pwr>;
3288bab661aSEmmanuel Vadot		vdd-s2-supply = <&vph_pwr>;
3298bab661aSEmmanuel Vadot		vdd-s3-s4-supply = <&vph_pwr>;
3308bab661aSEmmanuel Vadot		vdd-s5-supply = <&vph_pwr>;
3318bab661aSEmmanuel Vadot
3328bab661aSEmmanuel Vadot		vdd-l1-l9-l10-supply = <&vreg_s2b_1p05>;
3338bab661aSEmmanuel Vadot		vdd-l2-supply = <&vreg_bob>;
3348bab661aSEmmanuel Vadot		vdd-l3-l5-l7-l8-supply = <&vreg_bob>;
3358bab661aSEmmanuel Vadot		vdd-l4-l6-supply = <&vreg_bob>;
3368bab661aSEmmanuel Vadot		vdd-bob-supply = <&vph_pwr>;
3378bab661aSEmmanuel Vadot
3388bab661aSEmmanuel Vadot		/* LDOs */
3398bab661aSEmmanuel Vadot		vreg_l1b_0p925: ldo1 {
3408bab661aSEmmanuel Vadot			regulator-min-microvolt = <880000>;
3418bab661aSEmmanuel Vadot			regulator-max-microvolt = <900000>;
3428bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3438bab661aSEmmanuel Vadot		};
3448bab661aSEmmanuel Vadot
3458bab661aSEmmanuel Vadot		vreg_l2b_2p95: ldo2 {
3468bab661aSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
3478bab661aSEmmanuel Vadot			regulator-max-microvolt = <2960000>;
3488bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3498bab661aSEmmanuel Vadot		};
3508bab661aSEmmanuel Vadot
3518bab661aSEmmanuel Vadot		vreg_l3b_3p0: ldo3 {
3528bab661aSEmmanuel Vadot			regulator-min-microvolt = <2850000>;
3538bab661aSEmmanuel Vadot			regulator-max-microvolt = <3008000>;
3548bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3558bab661aSEmmanuel Vadot		};
3568bab661aSEmmanuel Vadot
3578bab661aSEmmanuel Vadot		vreg_l4b_2p95: ldo4 {
3588bab661aSEmmanuel Vadot			regulator-min-microvolt = <2960000>;
3598bab661aSEmmanuel Vadot			regulator-max-microvolt = <2960000>;
3608bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3618bab661aSEmmanuel Vadot		};
3628bab661aSEmmanuel Vadot
3638bab661aSEmmanuel Vadot		vreg_l5b_2p95: ldo5 {
3648bab661aSEmmanuel Vadot			regulator-min-microvolt = <2960000>;
3658bab661aSEmmanuel Vadot			regulator-max-microvolt = <2960000>;
3668bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3678bab661aSEmmanuel Vadot		};
3688bab661aSEmmanuel Vadot
3698bab661aSEmmanuel Vadot		vreg_l6b_3p3: ldo6 {
3708bab661aSEmmanuel Vadot			regulator-min-microvolt = <3008000>;
3718bab661aSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
3728bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3738bab661aSEmmanuel Vadot		};
3748bab661aSEmmanuel Vadot
3758bab661aSEmmanuel Vadot		vreg_l7b_3p125: ldo7 {
3768bab661aSEmmanuel Vadot			regulator-min-microvolt = <3088000>;
3778bab661aSEmmanuel Vadot			regulator-max-microvolt = <3100000>;
3788bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3798bab661aSEmmanuel Vadot		};
3808bab661aSEmmanuel Vadot
3818bab661aSEmmanuel Vadot		vreg_l8b_3p3: ldo8 {
3828bab661aSEmmanuel Vadot			regulator-min-microvolt = <3300000>;
3838bab661aSEmmanuel Vadot			regulator-max-microvolt = <3312000>;
3848bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
3858bab661aSEmmanuel Vadot		};
3868bab661aSEmmanuel Vadot
3878bab661aSEmmanuel Vadot		/*
3888bab661aSEmmanuel Vadot		 * Downstream specifies a fixed voltage of 3.312 V, but the
3898bab661aSEmmanuel Vadot		 * PMIC4 BOB ranges don't support that. Widen the range a
3908bab661aSEmmanuel Vadot		 * little to avoid adding a new BOB regulator type.
3918bab661aSEmmanuel Vadot		 */
3928bab661aSEmmanuel Vadot		vreg_bob: bob {
3938bab661aSEmmanuel Vadot			regulator-min-microvolt = <3296000>;
3948bab661aSEmmanuel Vadot			regulator-max-microvolt = <3328000>;
3958bab661aSEmmanuel Vadot			regulator-enable-ramp-delay = <500>;
3968bab661aSEmmanuel Vadot		};
3978bab661aSEmmanuel Vadot	};
3988bab661aSEmmanuel Vadot};
3998bab661aSEmmanuel Vadot
4008bab661aSEmmanuel Vadot&gcc {
4018bab661aSEmmanuel Vadot	protected-clocks = <GCC_QSPI_CORE_CLK>,
4028bab661aSEmmanuel Vadot			   <GCC_QSPI_CORE_CLK_SRC>,
4038bab661aSEmmanuel Vadot			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>;
4048bab661aSEmmanuel Vadot};
4058bab661aSEmmanuel Vadot
4068bab661aSEmmanuel Vadot&gpi_dma1 {
4078bab661aSEmmanuel Vadot	status = "okay";
4088bab661aSEmmanuel Vadot};
4098bab661aSEmmanuel Vadot
4108bab661aSEmmanuel Vadot&i2c9 {
4118bab661aSEmmanuel Vadot	clock-frequency = <100000>;
4128bab661aSEmmanuel Vadot	status = "okay";
4138bab661aSEmmanuel Vadot
4148bab661aSEmmanuel Vadot	synaptics-rmi4-i2c@20 {
4158bab661aSEmmanuel Vadot		compatible = "syna,rmi4-i2c";
4168bab661aSEmmanuel Vadot		reg = <0x20>;
4178bab661aSEmmanuel Vadot		interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
4188bab661aSEmmanuel Vadot
4198bab661aSEmmanuel Vadot		pinctrl-names = "default";
4208bab661aSEmmanuel Vadot		pinctrl-0 = <&touchscreen_default>;
4218bab661aSEmmanuel Vadot
4228bab661aSEmmanuel Vadot		vio-supply = <&ts_1p8_supply>;
4238bab661aSEmmanuel Vadot
4248bab661aSEmmanuel Vadot		syna,reset-delay-ms = <200>;
4258bab661aSEmmanuel Vadot		syna,startup-delay-ms = <200>;
4268bab661aSEmmanuel Vadot
4278bab661aSEmmanuel Vadot		#address-cells = <1>;
4288bab661aSEmmanuel Vadot		#size-cells = <0>;
4298bab661aSEmmanuel Vadot
4308bab661aSEmmanuel Vadot		rmi4-f01@1 {
4318bab661aSEmmanuel Vadot			reg = <0x01>;
4328bab661aSEmmanuel Vadot			syna,nosleep-mode = <1>;
4338bab661aSEmmanuel Vadot		};
4348bab661aSEmmanuel Vadot
4358bab661aSEmmanuel Vadot		rmi4-f12@12 {
4368bab661aSEmmanuel Vadot			reg = <0x12>;
4378bab661aSEmmanuel Vadot			touchscreen-x-mm = <62>;
4388bab661aSEmmanuel Vadot			touchscreen-y-mm = <127>;
4398bab661aSEmmanuel Vadot			syna,sensor-type = <1>;
4408bab661aSEmmanuel Vadot		};
4418bab661aSEmmanuel Vadot	};
4428bab661aSEmmanuel Vadot};
4438bab661aSEmmanuel Vadot
444*7d0873ebSEmmanuel Vadot&mdss {
445*7d0873ebSEmmanuel Vadot	status = "okay";
446*7d0873ebSEmmanuel Vadot};
447*7d0873ebSEmmanuel Vadot
448*7d0873ebSEmmanuel Vadot&mdss_dsi0 {
449*7d0873ebSEmmanuel Vadot	vdda-supply = <&vreg_l1a_1p225>;
450*7d0873ebSEmmanuel Vadot	status = "okay";
451*7d0873ebSEmmanuel Vadot
452*7d0873ebSEmmanuel Vadot	panel@0 {
453*7d0873ebSEmmanuel Vadot		compatible = "samsung,s6e3fa7-ams559nk06";
454*7d0873ebSEmmanuel Vadot		reg = <0>;
455*7d0873ebSEmmanuel Vadot
456*7d0873ebSEmmanuel Vadot		reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
457*7d0873ebSEmmanuel Vadot
458*7d0873ebSEmmanuel Vadot		pinctrl-names = "default";
459*7d0873ebSEmmanuel Vadot		pinctrl-0 = <&panel_default>;
460*7d0873ebSEmmanuel Vadot
461*7d0873ebSEmmanuel Vadot		power-supply = <&vreg_l6b_3p3>;
462*7d0873ebSEmmanuel Vadot
463*7d0873ebSEmmanuel Vadot		port {
464*7d0873ebSEmmanuel Vadot			panel_in: endpoint {
465*7d0873ebSEmmanuel Vadot				remote-endpoint = <&mdss_dsi0_out>;
466*7d0873ebSEmmanuel Vadot			};
467*7d0873ebSEmmanuel Vadot		};
468*7d0873ebSEmmanuel Vadot	};
469*7d0873ebSEmmanuel Vadot};
470*7d0873ebSEmmanuel Vadot
471*7d0873ebSEmmanuel Vadot&mdss_dsi0_out {
472*7d0873ebSEmmanuel Vadot	remote-endpoint = <&panel_in>;
473*7d0873ebSEmmanuel Vadot	data-lanes = <0 1 2 3>;
474*7d0873ebSEmmanuel Vadot};
475*7d0873ebSEmmanuel Vadot
476*7d0873ebSEmmanuel Vadot&mdss_dsi0_phy {
477*7d0873ebSEmmanuel Vadot	vdds-supply = <&vreg_l1b_0p925>;
478*7d0873ebSEmmanuel Vadot	status = "okay";
479*7d0873ebSEmmanuel Vadot};
480*7d0873ebSEmmanuel Vadot
481*7d0873ebSEmmanuel Vadot&mdss_mdp {
482*7d0873ebSEmmanuel Vadot	status = "okay";
483*7d0873ebSEmmanuel Vadot};
484*7d0873ebSEmmanuel Vadot
4858bab661aSEmmanuel Vadot&pm660l_gpios {
4868bab661aSEmmanuel Vadot	vol_up_pin: vol-up-state {
4878bab661aSEmmanuel Vadot		pins = "gpio7";
4888bab661aSEmmanuel Vadot		function = "normal";
4898bab661aSEmmanuel Vadot		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
4908bab661aSEmmanuel Vadot		input-enable;
4918bab661aSEmmanuel Vadot		bias-pull-up;
4928bab661aSEmmanuel Vadot	};
4938bab661aSEmmanuel Vadot};
4948bab661aSEmmanuel Vadot
4958bab661aSEmmanuel Vadot&pon_pwrkey {
4968bab661aSEmmanuel Vadot	status = "okay";
4978bab661aSEmmanuel Vadot};
4988bab661aSEmmanuel Vadot
4998bab661aSEmmanuel Vadot&pon_resin {
5008bab661aSEmmanuel Vadot	linux,code = <KEY_VOLUMEDOWN>;
5018bab661aSEmmanuel Vadot	status = "okay";
5028bab661aSEmmanuel Vadot};
5038bab661aSEmmanuel Vadot
5048bab661aSEmmanuel Vadot&qupv3_id_1 {
5058bab661aSEmmanuel Vadot	status = "okay";
5068bab661aSEmmanuel Vadot};
5078bab661aSEmmanuel Vadot
5088bab661aSEmmanuel Vadot&sdhc_1 {
5098bab661aSEmmanuel Vadot	supports-cqe;
5108bab661aSEmmanuel Vadot	mmc-hs200-1_8v;
5118bab661aSEmmanuel Vadot	mmc-hs400-1_8v;
5128bab661aSEmmanuel Vadot	mmc-ddr-1_8v;
5138bab661aSEmmanuel Vadot
5148bab661aSEmmanuel Vadot	qcom,ddr-config = <0xc3040873>;
5158bab661aSEmmanuel Vadot
5168bab661aSEmmanuel Vadot	vmmc-supply = <&vreg_l4b_2p95>;
5178bab661aSEmmanuel Vadot	vqmmc-supply = <&vreg_l8a_1p8>;
5188bab661aSEmmanuel Vadot
5198bab661aSEmmanuel Vadot	status = "okay";
5208bab661aSEmmanuel Vadot};
5218bab661aSEmmanuel Vadot
5228bab661aSEmmanuel Vadot&tlmm {
5238bab661aSEmmanuel Vadot	gpio-reserved-ranges = <0 4>, <81 4>;
5248bab661aSEmmanuel Vadot
525*7d0873ebSEmmanuel Vadot	panel_default: panel-default-state {
526*7d0873ebSEmmanuel Vadot		te-pins {
527*7d0873ebSEmmanuel Vadot			pins = "gpio10";
528*7d0873ebSEmmanuel Vadot			function = "mdp_vsync";
529*7d0873ebSEmmanuel Vadot			drive-strength = <2>;
530*7d0873ebSEmmanuel Vadot			bias-pull-down;
531*7d0873ebSEmmanuel Vadot		};
532*7d0873ebSEmmanuel Vadot
533*7d0873ebSEmmanuel Vadot		reset-pins {
534*7d0873ebSEmmanuel Vadot			pins = "gpio75";
535*7d0873ebSEmmanuel Vadot			function = "gpio";
536*7d0873ebSEmmanuel Vadot			drive-strength = <8>;
537*7d0873ebSEmmanuel Vadot			bias-disable;
538*7d0873ebSEmmanuel Vadot		};
539*7d0873ebSEmmanuel Vadot
540*7d0873ebSEmmanuel Vadot		mode-pins {
541*7d0873ebSEmmanuel Vadot			pins = "gpio76";
542*7d0873ebSEmmanuel Vadot			function = "gpio";
543*7d0873ebSEmmanuel Vadot			drive-strength = <8>;
544*7d0873ebSEmmanuel Vadot			bias-disable;
545*7d0873ebSEmmanuel Vadot		};
546*7d0873ebSEmmanuel Vadot	};
547*7d0873ebSEmmanuel Vadot
5488bab661aSEmmanuel Vadot	touchscreen_default: ts-default-state {
5498bab661aSEmmanuel Vadot		ts-reset-pins {
5508bab661aSEmmanuel Vadot			pins = "gpio99";
5518bab661aSEmmanuel Vadot			function = "gpio";
5528bab661aSEmmanuel Vadot			drive-strength = <2>;
5538bab661aSEmmanuel Vadot			bias-pull-up;
5548bab661aSEmmanuel Vadot			output-high;
5558bab661aSEmmanuel Vadot		};
5568bab661aSEmmanuel Vadot
5578bab661aSEmmanuel Vadot		ts-irq-pins {
5588bab661aSEmmanuel Vadot			pins = "gpio125";
5598bab661aSEmmanuel Vadot			function = "gpio";
5608bab661aSEmmanuel Vadot			drive-strength = <2>;
5618bab661aSEmmanuel Vadot			bias-disable;
5628bab661aSEmmanuel Vadot		};
5638bab661aSEmmanuel Vadot
5648bab661aSEmmanuel Vadot		ts-switch-pins {
5658bab661aSEmmanuel Vadot			pins = "gpio135";
5668bab661aSEmmanuel Vadot			function = "gpio";
5678bab661aSEmmanuel Vadot			drive-strength = <2>;
5688bab661aSEmmanuel Vadot			bias-disable;
5698bab661aSEmmanuel Vadot			output-low;
5708bab661aSEmmanuel Vadot		};
5718bab661aSEmmanuel Vadot	};
5728bab661aSEmmanuel Vadot};
5738bab661aSEmmanuel Vadot
5748bab661aSEmmanuel Vadot&usb_1_hsphy {
5758bab661aSEmmanuel Vadot	vdd-supply = <&vreg_l1b_0p925>;
5768bab661aSEmmanuel Vadot	vdda-pll-supply = <&vreg_l10a_1p8>;
5778bab661aSEmmanuel Vadot	vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
5788bab661aSEmmanuel Vadot
5798bab661aSEmmanuel Vadot	status = "okay";
5808bab661aSEmmanuel Vadot};
5818bab661aSEmmanuel Vadot
5828bab661aSEmmanuel Vadot&usb_1 {
5838bab661aSEmmanuel Vadot	qcom,select-utmi-as-pipe-clk;
5848bab661aSEmmanuel Vadot	status = "okay";
5858bab661aSEmmanuel Vadot};
5868bab661aSEmmanuel Vadot
5878bab661aSEmmanuel Vadot&usb_1_dwc3 {
5888bab661aSEmmanuel Vadot	/* Only peripheral works for now */
5898bab661aSEmmanuel Vadot	dr_mode = "peripheral";
5908bab661aSEmmanuel Vadot
5918bab661aSEmmanuel Vadot	/* Do not assume that sdm670.dtsi will never support USB 3.0 */
5928bab661aSEmmanuel Vadot	phys = <&usb_1_hsphy>;
5938bab661aSEmmanuel Vadot	phy-names = "usb2-phy";
5948bab661aSEmmanuel Vadot	maximum-speed = "high-speed";
5958bab661aSEmmanuel Vadot};
596