162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device tree for Google Pixel 3a, adapted from google-blueline device tree, 462306a36Sopenharmony_ci * xiaomi-lavender device tree, and oneplus-common device tree. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (c) 2022, Richard Acayan. All rights reserved. 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/dts-v1/; 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1262306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1362306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 1462306a36Sopenharmony_ci#include <dt-bindings/power/qcom-rpmpd.h> 1562306a36Sopenharmony_ci#include "sdm670.dtsi" 1662306a36Sopenharmony_ci#include "pm660.dtsi" 1762306a36Sopenharmony_ci#include "pm660l.dtsi" 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/delete-node/ &mpss_region; 2062306a36Sopenharmony_ci/delete-node/ &venus_mem; 2162306a36Sopenharmony_ci/delete-node/ &wlan_msa_mem; 2262306a36Sopenharmony_ci/delete-node/ &cdsp_mem; 2362306a36Sopenharmony_ci/delete-node/ &mba_region; 2462306a36Sopenharmony_ci/delete-node/ &adsp_mem; 2562306a36Sopenharmony_ci/delete-node/ &ipa_fw_mem; 2662306a36Sopenharmony_ci/delete-node/ &ipa_gsi_mem; 2762306a36Sopenharmony_ci/delete-node/ &gpu_mem; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci/ { 3062306a36Sopenharmony_ci model = "Google Pixel 3a"; 3162306a36Sopenharmony_ci compatible = "google,sargo", "qcom,sdm670"; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci aliases { }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci chosen { 3662306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci #address-cells = <2>; 3962306a36Sopenharmony_ci #size-cells = <2>; 4062306a36Sopenharmony_ci ranges; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci framebuffer@9c000000 { 4362306a36Sopenharmony_ci compatible = "simple-framebuffer"; 4462306a36Sopenharmony_ci reg = <0 0x9c000000 0 (1080 * 2220 * 4)>; 4562306a36Sopenharmony_ci width = <1080>; 4662306a36Sopenharmony_ci height = <2220>; 4762306a36Sopenharmony_ci stride = <(1080 * 4)>; 4862306a36Sopenharmony_ci format = "a8r8g8b8"; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci clocks { 5362306a36Sopenharmony_ci sleep_clk: sleep-clk { 5462306a36Sopenharmony_ci compatible = "fixed-clock"; 5562306a36Sopenharmony_ci #clock-cells = <0>; 5662306a36Sopenharmony_ci clock-frequency = <32764>; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci xo_board: xo-board { 6062306a36Sopenharmony_ci compatible = "fixed-clock"; 6162306a36Sopenharmony_ci #clock-cells = <0>; 6262306a36Sopenharmony_ci clock-frequency = <38400000>; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci gpio-keys { 6762306a36Sopenharmony_ci compatible = "gpio-keys"; 6862306a36Sopenharmony_ci autorepeat; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci pinctrl-names = "default"; 7162306a36Sopenharmony_ci pinctrl-0 = <&vol_up_pin>; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci key-vol-up { 7462306a36Sopenharmony_ci label = "Volume Up"; 7562306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 7662306a36Sopenharmony_ci gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci reserved-memory { 8162306a36Sopenharmony_ci #address-cells = <2>; 8262306a36Sopenharmony_ci #size-cells = <2>; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci mpss_region: mpss@8b000000 { 8562306a36Sopenharmony_ci reg = <0 0x8b000000 0 0x9800000>; 8662306a36Sopenharmony_ci no-map; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci venus_mem: venus@94800000 { 9062306a36Sopenharmony_ci reg = <0 0x94800000 0 0x500000>; 9162306a36Sopenharmony_ci no-map; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci wlan_msa_mem: wlan-msa@94d00000 { 9562306a36Sopenharmony_ci reg = <0 0x94d00000 0 0x100000>; 9662306a36Sopenharmony_ci no-map; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci cdsp_mem: cdsp@94e00000 { 10062306a36Sopenharmony_ci reg = <0 0x94e00000 0 0x800000>; 10162306a36Sopenharmony_ci no-map; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci mba_region: mba@95600000 { 10562306a36Sopenharmony_ci reg = <0 0x95600000 0 0x200000>; 10662306a36Sopenharmony_ci no-map; 10762306a36Sopenharmony_ci }; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci adsp_mem: adsp@95800000 { 11062306a36Sopenharmony_ci reg = <0 0x95800000 0 0x2200000>; 11162306a36Sopenharmony_ci no-map; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci ipa_fw_mem: ipa-fw@97a00000 { 11562306a36Sopenharmony_ci reg = <0 0x97a00000 0 0x10000>; 11662306a36Sopenharmony_ci no-map; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci ipa_gsi_mem: ipa-gsi@97a10000 { 12062306a36Sopenharmony_ci reg = <0 0x97a10000 0 0x5000>; 12162306a36Sopenharmony_ci no-map; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci gpu_mem: gpu@97a15000 { 12562306a36Sopenharmony_ci reg = <0 0x97a15000 0 0x2000>; 12662306a36Sopenharmony_ci no-map; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci framebuffer-region@9c000000 { 13062306a36Sopenharmony_ci reg = <0 0x9c000000 0 0x2400000>; 13162306a36Sopenharmony_ci no-map; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci /* Also includes ramoops regions */ 13562306a36Sopenharmony_ci debug_info_mem: debug-info@a1800000 { 13662306a36Sopenharmony_ci reg = <0 0xa1800000 0 0x411000>; 13762306a36Sopenharmony_ci no-map; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci /* 14262306a36Sopenharmony_ci * The touchscreen regulator seems to be controlled somehow by a gpio. 14362306a36Sopenharmony_ci * Model it as a fixed regulator and keep it on. Without schematics we 14462306a36Sopenharmony_ci * don't know how this is actually wired up... 14562306a36Sopenharmony_ci */ 14662306a36Sopenharmony_ci ts_1p8_supply: ts-1p8-regulator { 14762306a36Sopenharmony_ci compatible = "regulator-fixed"; 14862306a36Sopenharmony_ci regulator-name = "ts_1p8_supply"; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 15162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci gpio = <&pm660_gpios 12 GPIO_ACTIVE_HIGH>; 15462306a36Sopenharmony_ci enable-active-high; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci vph_pwr: vph-pwr-regulator { 15862306a36Sopenharmony_ci compatible = "regulator-fixed"; 15962306a36Sopenharmony_ci regulator-name = "vph_pwr"; 16062306a36Sopenharmony_ci regulator-min-microvolt = <3312000>; 16162306a36Sopenharmony_ci regulator-max-microvolt = <3312000>; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci regulator-always-on; 16462306a36Sopenharmony_ci regulator-boot-on; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci /* 16862306a36Sopenharmony_ci * Supply map from xiaomi-lavender specifies this as the supply for 16962306a36Sopenharmony_ci * ldob1, ldob9, ldob10, ldoa2, and ldoa3, while downstream specifies 17062306a36Sopenharmony_ci * this as a power domain. Set this as a fixed regulator with the same 17162306a36Sopenharmony_ci * voltage as lavender until display is needed to avoid unneccessarily 17262306a36Sopenharmony_ci * using a deprecated binding (regulator-fixed-domain). 17362306a36Sopenharmony_ci */ 17462306a36Sopenharmony_ci vreg_s2b_1p05: vreg-s2b-regulator { 17562306a36Sopenharmony_ci compatible = "regulator-fixed"; 17662306a36Sopenharmony_ci regulator-name = "vreg_s2b"; 17762306a36Sopenharmony_ci regulator-min-microvolt = <1050000>; 17862306a36Sopenharmony_ci regulator-max-microvolt = <1050000>; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci}; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci&apps_rsc { 18362306a36Sopenharmony_ci regulators-0 { 18462306a36Sopenharmony_ci compatible = "qcom,pm660-rpmh-regulators"; 18562306a36Sopenharmony_ci qcom,pmic-id = "a"; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 18862306a36Sopenharmony_ci vdd-s2-supply = <&vph_pwr>; 18962306a36Sopenharmony_ci vdd-s3-supply = <&vph_pwr>; 19062306a36Sopenharmony_ci vdd-s4-supply = <&vph_pwr>; 19162306a36Sopenharmony_ci vdd-s5-supply = <&vph_pwr>; 19262306a36Sopenharmony_ci vdd-s6-supply = <&vph_pwr>; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci vdd-l1-l6-l7-supply = <&vreg_s6a_0p87>; 19562306a36Sopenharmony_ci vdd-l2-l3-supply = <&vreg_s2b_1p05>; 19662306a36Sopenharmony_ci vdd-l5-supply = <&vreg_s2b_1p05>; 19762306a36Sopenharmony_ci vdd-l8-l9-l10-l11-l12-l13-l14-supply = <&vreg_s4a_2p04>; 19862306a36Sopenharmony_ci vdd-l15-l16-l17-l18-l19-supply = <&vreg_bob>; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci /* 20162306a36Sopenharmony_ci * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed 20262306a36Sopenharmony_ci * by the Core Power Reduction hardened (CPRh) and the 20362306a36Sopenharmony_ci * Operating State Manager (OSM) HW automatically. 20462306a36Sopenharmony_ci */ 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci vreg_s4a_2p04: smps4 { 20762306a36Sopenharmony_ci regulator-min-microvolt = <1808000>; 20862306a36Sopenharmony_ci regulator-max-microvolt = <2040000>; 20962306a36Sopenharmony_ci regulator-enable-ramp-delay = <200>; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci vreg_s6a_0p87: smps6 { 21362306a36Sopenharmony_ci regulator-min-microvolt = <1224000>; 21462306a36Sopenharmony_ci regulator-max-microvolt = <1352000>; 21562306a36Sopenharmony_ci regulator-enable-ramp-delay = <150>; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci /* LDOs */ 21962306a36Sopenharmony_ci vreg_l1a_1p225: ldo1 { 22062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 22162306a36Sopenharmony_ci regulator-max-microvolt = <1250000>; 22262306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci vreg_l2a_1p0: ldo2 { 22662306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 22762306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 22862306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 22962306a36Sopenharmony_ci }; 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci vreg_l3a_1p0: ldo3 { 23262306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 23362306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 23462306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci vreg_l5a_0p848: ldo5 { 23862306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 23962306a36Sopenharmony_ci regulator-max-microvolt = <800000>; 24062306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci vreg_l6a_1p3: ldo6 { 24462306a36Sopenharmony_ci regulator-min-microvolt = <1248000>; 24562306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 24662306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 24762306a36Sopenharmony_ci }; 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci vreg_l7a_1p2: ldo7 { 25062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 25162306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 25262306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci vreg_l8a_1p8: ldo8 { 25662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 25762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 25862306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 25962306a36Sopenharmony_ci regulator-always-on; 26062306a36Sopenharmony_ci }; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci vreg_l9a_1p8: ldo9 { 26362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 26462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 26562306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 26662306a36Sopenharmony_ci }; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci vreg_l10a_1p8: ldo10 { 26962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 27062306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 27162306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 27262306a36Sopenharmony_ci }; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci vreg_l11a_1p8: ldo11 { 27562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 27662306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 27762306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 27862306a36Sopenharmony_ci }; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci vreg_l12a_1p8: ldo12 { 28162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 28262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 28362306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci vreg_l13a_1p8: ldo13 { 28762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 28862306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 28962306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 29062306a36Sopenharmony_ci }; 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ci vreg_l14a_1p8: ldo14 { 29362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 29462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 29562306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci vreg_l15a_1p8: ldo15 { 29962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 30062306a36Sopenharmony_ci regulator-max-microvolt = <2950000>; 30162306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 30262306a36Sopenharmony_ci }; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci vreg_l16a_2p7: ldo16 { 30562306a36Sopenharmony_ci regulator-min-microvolt = <2696000>; 30662306a36Sopenharmony_ci regulator-max-microvolt = <2696000>; 30762306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 30862306a36Sopenharmony_ci }; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci vreg_l17a_1p8: ldo17 { 31162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 31262306a36Sopenharmony_ci regulator-max-microvolt = <2950000>; 31362306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 31462306a36Sopenharmony_ci }; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci vreg_l19a_3p3: ldo19 { 31762306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 31862306a36Sopenharmony_ci regulator-max-microvolt = <3312000>; 31962306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 32062306a36Sopenharmony_ci }; 32162306a36Sopenharmony_ci }; 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci regulators-1 { 32462306a36Sopenharmony_ci compatible = "qcom,pm660l-rpmh-regulators"; 32562306a36Sopenharmony_ci qcom,pmic-id = "b"; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 32862306a36Sopenharmony_ci vdd-s2-supply = <&vph_pwr>; 32962306a36Sopenharmony_ci vdd-s3-s4-supply = <&vph_pwr>; 33062306a36Sopenharmony_ci vdd-s5-supply = <&vph_pwr>; 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci vdd-l1-l9-l10-supply = <&vreg_s2b_1p05>; 33362306a36Sopenharmony_ci vdd-l2-supply = <&vreg_bob>; 33462306a36Sopenharmony_ci vdd-l3-l5-l7-l8-supply = <&vreg_bob>; 33562306a36Sopenharmony_ci vdd-l4-l6-supply = <&vreg_bob>; 33662306a36Sopenharmony_ci vdd-bob-supply = <&vph_pwr>; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci /* LDOs */ 33962306a36Sopenharmony_ci vreg_l1b_0p925: ldo1 { 34062306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 34162306a36Sopenharmony_ci regulator-max-microvolt = <900000>; 34262306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci vreg_l2b_2p95: ldo2 { 34662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 34762306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 34862306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci vreg_l3b_3p0: ldo3 { 35262306a36Sopenharmony_ci regulator-min-microvolt = <2850000>; 35362306a36Sopenharmony_ci regulator-max-microvolt = <3008000>; 35462306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 35562306a36Sopenharmony_ci }; 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci vreg_l4b_2p95: ldo4 { 35862306a36Sopenharmony_ci regulator-min-microvolt = <2960000>; 35962306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 36062306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci vreg_l5b_2p95: ldo5 { 36462306a36Sopenharmony_ci regulator-min-microvolt = <2960000>; 36562306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 36662306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci vreg_l6b_3p3: ldo6 { 37062306a36Sopenharmony_ci regulator-min-microvolt = <3008000>; 37162306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 37262306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 37362306a36Sopenharmony_ci }; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci vreg_l7b_3p125: ldo7 { 37662306a36Sopenharmony_ci regulator-min-microvolt = <3088000>; 37762306a36Sopenharmony_ci regulator-max-microvolt = <3100000>; 37862306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci vreg_l8b_3p3: ldo8 { 38262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 38362306a36Sopenharmony_ci regulator-max-microvolt = <3312000>; 38462306a36Sopenharmony_ci regulator-enable-ramp-delay = <250>; 38562306a36Sopenharmony_ci }; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci /* 38862306a36Sopenharmony_ci * Downstream specifies a fixed voltage of 3.312 V, but the 38962306a36Sopenharmony_ci * PMIC4 BOB ranges don't support that. Widen the range a 39062306a36Sopenharmony_ci * little to avoid adding a new BOB regulator type. 39162306a36Sopenharmony_ci */ 39262306a36Sopenharmony_ci vreg_bob: bob { 39362306a36Sopenharmony_ci regulator-min-microvolt = <3296000>; 39462306a36Sopenharmony_ci regulator-max-microvolt = <3328000>; 39562306a36Sopenharmony_ci regulator-enable-ramp-delay = <500>; 39662306a36Sopenharmony_ci }; 39762306a36Sopenharmony_ci }; 39862306a36Sopenharmony_ci}; 39962306a36Sopenharmony_ci 40062306a36Sopenharmony_ci&gcc { 40162306a36Sopenharmony_ci protected-clocks = <GCC_QSPI_CORE_CLK>, 40262306a36Sopenharmony_ci <GCC_QSPI_CORE_CLK_SRC>, 40362306a36Sopenharmony_ci <GCC_QSPI_CNOC_PERIPH_AHB_CLK>; 40462306a36Sopenharmony_ci}; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci&gpi_dma1 { 40762306a36Sopenharmony_ci status = "okay"; 40862306a36Sopenharmony_ci}; 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci&i2c9 { 41162306a36Sopenharmony_ci clock-frequency = <100000>; 41262306a36Sopenharmony_ci status = "okay"; 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ci synaptics-rmi4-i2c@20 { 41562306a36Sopenharmony_ci compatible = "syna,rmi4-i2c"; 41662306a36Sopenharmony_ci reg = <0x20>; 41762306a36Sopenharmony_ci interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci pinctrl-names = "default"; 42062306a36Sopenharmony_ci pinctrl-0 = <&touchscreen_default>; 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci vio-supply = <&ts_1p8_supply>; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci syna,reset-delay-ms = <200>; 42562306a36Sopenharmony_ci syna,startup-delay-ms = <200>; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci #address-cells = <1>; 42862306a36Sopenharmony_ci #size-cells = <0>; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci rmi4-f01@1 { 43162306a36Sopenharmony_ci reg = <0x01>; 43262306a36Sopenharmony_ci syna,nosleep-mode = <1>; 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci rmi4-f12@12 { 43662306a36Sopenharmony_ci reg = <0x12>; 43762306a36Sopenharmony_ci touchscreen-x-mm = <62>; 43862306a36Sopenharmony_ci touchscreen-y-mm = <127>; 43962306a36Sopenharmony_ci syna,sensor-type = <1>; 44062306a36Sopenharmony_ci }; 44162306a36Sopenharmony_ci }; 44262306a36Sopenharmony_ci}; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci&pm660l_gpios { 44562306a36Sopenharmony_ci vol_up_pin: vol-up-state { 44662306a36Sopenharmony_ci pins = "gpio7"; 44762306a36Sopenharmony_ci function = "normal"; 44862306a36Sopenharmony_ci qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 44962306a36Sopenharmony_ci input-enable; 45062306a36Sopenharmony_ci bias-pull-up; 45162306a36Sopenharmony_ci }; 45262306a36Sopenharmony_ci}; 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ci&pon_pwrkey { 45562306a36Sopenharmony_ci status = "okay"; 45662306a36Sopenharmony_ci}; 45762306a36Sopenharmony_ci 45862306a36Sopenharmony_ci&pon_resin { 45962306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 46062306a36Sopenharmony_ci status = "okay"; 46162306a36Sopenharmony_ci}; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci&qupv3_id_1 { 46462306a36Sopenharmony_ci status = "okay"; 46562306a36Sopenharmony_ci}; 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_ci&sdhc_1 { 46862306a36Sopenharmony_ci supports-cqe; 46962306a36Sopenharmony_ci mmc-hs200-1_8v; 47062306a36Sopenharmony_ci mmc-hs400-1_8v; 47162306a36Sopenharmony_ci mmc-ddr-1_8v; 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_ci qcom,ddr-config = <0xc3040873>; 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci vmmc-supply = <&vreg_l4b_2p95>; 47662306a36Sopenharmony_ci vqmmc-supply = <&vreg_l8a_1p8>; 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci status = "okay"; 47962306a36Sopenharmony_ci}; 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci&tlmm { 48262306a36Sopenharmony_ci gpio-reserved-ranges = <0 4>, <81 4>; 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_ci touchscreen_default: ts-default-state { 48562306a36Sopenharmony_ci ts-reset-pins { 48662306a36Sopenharmony_ci pins = "gpio99"; 48762306a36Sopenharmony_ci function = "gpio"; 48862306a36Sopenharmony_ci drive-strength = <2>; 48962306a36Sopenharmony_ci bias-pull-up; 49062306a36Sopenharmony_ci output-high; 49162306a36Sopenharmony_ci }; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci ts-irq-pins { 49462306a36Sopenharmony_ci pins = "gpio125"; 49562306a36Sopenharmony_ci function = "gpio"; 49662306a36Sopenharmony_ci drive-strength = <2>; 49762306a36Sopenharmony_ci bias-disable; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci ts-switch-pins { 50162306a36Sopenharmony_ci pins = "gpio135"; 50262306a36Sopenharmony_ci function = "gpio"; 50362306a36Sopenharmony_ci drive-strength = <2>; 50462306a36Sopenharmony_ci bias-disable; 50562306a36Sopenharmony_ci output-low; 50662306a36Sopenharmony_ci }; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci}; 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ci&usb_1_hsphy { 51162306a36Sopenharmony_ci vdd-supply = <&vreg_l1b_0p925>; 51262306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l10a_1p8>; 51362306a36Sopenharmony_ci vdda-phy-dpdm-supply = <&vreg_l7b_3p125>; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci status = "okay"; 51662306a36Sopenharmony_ci}; 51762306a36Sopenharmony_ci 51862306a36Sopenharmony_ci&usb_1 { 51962306a36Sopenharmony_ci qcom,select-utmi-as-pipe-clk; 52062306a36Sopenharmony_ci status = "okay"; 52162306a36Sopenharmony_ci}; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci&usb_1_dwc3 { 52462306a36Sopenharmony_ci /* Only peripheral works for now */ 52562306a36Sopenharmony_ci dr_mode = "peripheral"; 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ci /* Do not assume that sdm670.dtsi will never support USB 3.0 */ 52862306a36Sopenharmony_ci phys = <&usb_1_hsphy>; 52962306a36Sopenharmony_ci phy-names = "usb2-phy"; 53062306a36Sopenharmony_ci maximum-speed = "high-speed"; 53162306a36Sopenharmony_ci}; 532