162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Google Cheza device tree source (common between revisions) 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright 2018 Google LLC. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 962306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 1062306a36Sopenharmony_ci#include "sdm845.dtsi" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/* PMICs depend on spmi_bus label and so must come after SoC */ 1362306a36Sopenharmony_ci#include "pm8005.dtsi" 1462306a36Sopenharmony_ci#include "pm8998.dtsi" 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/ { 1762306a36Sopenharmony_ci aliases { 1862306a36Sopenharmony_ci bluetooth0 = &bluetooth; 1962306a36Sopenharmony_ci serial1 = &uart6; 2062306a36Sopenharmony_ci serial0 = &uart9; 2162306a36Sopenharmony_ci wifi0 = &wifi; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci chosen { 2562306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci backlight: backlight { 2962306a36Sopenharmony_ci compatible = "pwm-backlight"; 3062306a36Sopenharmony_ci pwms = <&cros_ec_pwm 0>; 3162306a36Sopenharmony_ci enable-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; 3262306a36Sopenharmony_ci power-supply = <&ppvar_sys>; 3362306a36Sopenharmony_ci pinctrl-names = "default"; 3462306a36Sopenharmony_ci pinctrl-0 = <&ap_edp_bklten>; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci /* FIXED REGULATORS - parents above children */ 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci /* This is the top level supply and variable voltage */ 4062306a36Sopenharmony_ci ppvar_sys: ppvar-sys-regulator { 4162306a36Sopenharmony_ci compatible = "regulator-fixed"; 4262306a36Sopenharmony_ci regulator-name = "ppvar_sys"; 4362306a36Sopenharmony_ci regulator-always-on; 4462306a36Sopenharmony_ci regulator-boot-on; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci /* This divides ppvar_sys by 2, so voltage is variable */ 4862306a36Sopenharmony_ci src_vph_pwr: src-vph-pwr-regulator { 4962306a36Sopenharmony_ci compatible = "regulator-fixed"; 5062306a36Sopenharmony_ci regulator-name = "src_vph_pwr"; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci /* EC turns on with switchcap_on_l; always on for AP */ 5362306a36Sopenharmony_ci regulator-always-on; 5462306a36Sopenharmony_ci regulator-boot-on; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci vin-supply = <&ppvar_sys>; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci pp5000_a: pp5000-a-regulator { 6062306a36Sopenharmony_ci compatible = "regulator-fixed"; 6162306a36Sopenharmony_ci regulator-name = "pp5000_a"; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci /* EC turns on with en_pp5000_a; always on for AP */ 6462306a36Sopenharmony_ci regulator-always-on; 6562306a36Sopenharmony_ci regulator-boot-on; 6662306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 6762306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci vin-supply = <&ppvar_sys>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci src_vreg_bob: src-vreg-bob-regulator { 7362306a36Sopenharmony_ci compatible = "regulator-fixed"; 7462306a36Sopenharmony_ci regulator-name = "src_vreg_bob"; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci /* EC turns on with vbob_en; always on for AP */ 7762306a36Sopenharmony_ci regulator-always-on; 7862306a36Sopenharmony_ci regulator-boot-on; 7962306a36Sopenharmony_ci regulator-min-microvolt = <3600000>; 8062306a36Sopenharmony_ci regulator-max-microvolt = <3600000>; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci vin-supply = <&ppvar_sys>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci pp3300_dx_edp: pp3300-dx-edp-regulator { 8662306a36Sopenharmony_ci compatible = "regulator-fixed"; 8762306a36Sopenharmony_ci regulator-name = "pp3300_dx_edp"; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 9062306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci gpio = <&tlmm 43 GPIO_ACTIVE_HIGH>; 9362306a36Sopenharmony_ci enable-active-high; 9462306a36Sopenharmony_ci pinctrl-names = "default"; 9562306a36Sopenharmony_ci pinctrl-0 = <&en_pp3300_dx_edp>; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci /* 9962306a36Sopenharmony_ci * Apparently RPMh does not provide support for PM8998 S4 because it 10062306a36Sopenharmony_ci * is always-on; model it as a fixed regulator. 10162306a36Sopenharmony_ci */ 10262306a36Sopenharmony_ci src_pp1800_s4a: pm8998-smps4 { 10362306a36Sopenharmony_ci compatible = "regulator-fixed"; 10462306a36Sopenharmony_ci regulator-name = "src_pp1800_s4a"; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 10762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci regulator-always-on; 11062306a36Sopenharmony_ci regulator-boot-on; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci vin-supply = <&src_vph_pwr>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci /* BOARD-SPECIFIC TOP LEVEL NODES */ 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci gpio-keys { 11862306a36Sopenharmony_ci compatible = "gpio-keys"; 11962306a36Sopenharmony_ci pinctrl-names = "default"; 12062306a36Sopenharmony_ci pinctrl-0 = <&pen_eject_odl>; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci switch-pen-insert { 12362306a36Sopenharmony_ci label = "Pen Insert"; 12462306a36Sopenharmony_ci /* Insert = low, eject = high */ 12562306a36Sopenharmony_ci gpios = <&tlmm 119 GPIO_ACTIVE_LOW>; 12662306a36Sopenharmony_ci linux,code = <SW_PEN_INSERTED>; 12762306a36Sopenharmony_ci linux,input-type = <EV_SW>; 12862306a36Sopenharmony_ci wakeup-source; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci panel: panel { 13362306a36Sopenharmony_ci compatible = "innolux,p120zdg-bf1"; 13462306a36Sopenharmony_ci power-supply = <&pp3300_dx_edp>; 13562306a36Sopenharmony_ci backlight = <&backlight>; 13662306a36Sopenharmony_ci no-hpd; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci panel_in: port { 13962306a36Sopenharmony_ci panel_in_edp: endpoint { 14062306a36Sopenharmony_ci remote-endpoint = <&sn65dsi86_out>; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci }; 14462306a36Sopenharmony_ci}; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci&cpufreq_hw { 14762306a36Sopenharmony_ci /delete-property/ interrupts-extended; /* reference to lmh_cluster[01] */ 14862306a36Sopenharmony_ci}; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci&psci { 15162306a36Sopenharmony_ci /delete-node/ power-domain-cpu0; 15262306a36Sopenharmony_ci /delete-node/ power-domain-cpu1; 15362306a36Sopenharmony_ci /delete-node/ power-domain-cpu2; 15462306a36Sopenharmony_ci /delete-node/ power-domain-cpu3; 15562306a36Sopenharmony_ci /delete-node/ power-domain-cpu4; 15662306a36Sopenharmony_ci /delete-node/ power-domain-cpu5; 15762306a36Sopenharmony_ci /delete-node/ power-domain-cpu6; 15862306a36Sopenharmony_ci /delete-node/ power-domain-cpu7; 15962306a36Sopenharmony_ci /delete-node/ power-domain-cluster; 16062306a36Sopenharmony_ci}; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci&cpus { 16362306a36Sopenharmony_ci /delete-node/ domain-idle-states; 16462306a36Sopenharmony_ci}; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci&cpu_idle_states { 16762306a36Sopenharmony_ci LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 { 16862306a36Sopenharmony_ci compatible = "arm,idle-state"; 16962306a36Sopenharmony_ci idle-state-name = "little-power-down"; 17062306a36Sopenharmony_ci arm,psci-suspend-param = <0x40000003>; 17162306a36Sopenharmony_ci entry-latency-us = <350>; 17262306a36Sopenharmony_ci exit-latency-us = <461>; 17362306a36Sopenharmony_ci min-residency-us = <1890>; 17462306a36Sopenharmony_ci local-timer-stop; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 { 17862306a36Sopenharmony_ci compatible = "arm,idle-state"; 17962306a36Sopenharmony_ci idle-state-name = "little-rail-power-down"; 18062306a36Sopenharmony_ci arm,psci-suspend-param = <0x40000004>; 18162306a36Sopenharmony_ci entry-latency-us = <360>; 18262306a36Sopenharmony_ci exit-latency-us = <531>; 18362306a36Sopenharmony_ci min-residency-us = <3934>; 18462306a36Sopenharmony_ci local-timer-stop; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci BIG_CPU_SLEEP_0: cpu-sleep-1-0 { 18862306a36Sopenharmony_ci compatible = "arm,idle-state"; 18962306a36Sopenharmony_ci idle-state-name = "big-power-down"; 19062306a36Sopenharmony_ci arm,psci-suspend-param = <0x40000003>; 19162306a36Sopenharmony_ci entry-latency-us = <264>; 19262306a36Sopenharmony_ci exit-latency-us = <621>; 19362306a36Sopenharmony_ci min-residency-us = <952>; 19462306a36Sopenharmony_ci local-timer-stop; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci BIG_CPU_SLEEP_1: cpu-sleep-1-1 { 19862306a36Sopenharmony_ci compatible = "arm,idle-state"; 19962306a36Sopenharmony_ci idle-state-name = "big-rail-power-down"; 20062306a36Sopenharmony_ci arm,psci-suspend-param = <0x40000004>; 20162306a36Sopenharmony_ci entry-latency-us = <702>; 20262306a36Sopenharmony_ci exit-latency-us = <1061>; 20362306a36Sopenharmony_ci min-residency-us = <4488>; 20462306a36Sopenharmony_ci local-timer-stop; 20562306a36Sopenharmony_ci }; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci CLUSTER_SLEEP_0: cluster-sleep-0 { 20862306a36Sopenharmony_ci compatible = "arm,idle-state"; 20962306a36Sopenharmony_ci idle-state-name = "cluster-power-down"; 21062306a36Sopenharmony_ci arm,psci-suspend-param = <0x400000F4>; 21162306a36Sopenharmony_ci entry-latency-us = <3263>; 21262306a36Sopenharmony_ci exit-latency-us = <6562>; 21362306a36Sopenharmony_ci min-residency-us = <9987>; 21462306a36Sopenharmony_ci local-timer-stop; 21562306a36Sopenharmony_ci }; 21662306a36Sopenharmony_ci}; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci&CPU0 { 21962306a36Sopenharmony_ci /delete-property/ power-domains; 22062306a36Sopenharmony_ci /delete-property/ power-domain-names; 22162306a36Sopenharmony_ci cpu-idle-states = <&LITTLE_CPU_SLEEP_0 22262306a36Sopenharmony_ci &LITTLE_CPU_SLEEP_1 22362306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 22462306a36Sopenharmony_ci}; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci&CPU1 { 22762306a36Sopenharmony_ci /delete-property/ power-domains; 22862306a36Sopenharmony_ci /delete-property/ power-domain-names; 22962306a36Sopenharmony_ci cpu-idle-states = <&LITTLE_CPU_SLEEP_0 23062306a36Sopenharmony_ci &LITTLE_CPU_SLEEP_1 23162306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 23262306a36Sopenharmony_ci}; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci&CPU2 { 23562306a36Sopenharmony_ci /delete-property/ power-domains; 23662306a36Sopenharmony_ci /delete-property/ power-domain-names; 23762306a36Sopenharmony_ci cpu-idle-states = <&LITTLE_CPU_SLEEP_0 23862306a36Sopenharmony_ci &LITTLE_CPU_SLEEP_1 23962306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 24062306a36Sopenharmony_ci}; 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci&CPU3 { 24362306a36Sopenharmony_ci /delete-property/ power-domains; 24462306a36Sopenharmony_ci /delete-property/ power-domain-names; 24562306a36Sopenharmony_ci cpu-idle-states = <&LITTLE_CPU_SLEEP_0 24662306a36Sopenharmony_ci &LITTLE_CPU_SLEEP_1 24762306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 24862306a36Sopenharmony_ci}; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci&CPU4 { 25162306a36Sopenharmony_ci /delete-property/ power-domains; 25262306a36Sopenharmony_ci /delete-property/ power-domain-names; 25362306a36Sopenharmony_ci cpu-idle-states = <&BIG_CPU_SLEEP_0 25462306a36Sopenharmony_ci &BIG_CPU_SLEEP_1 25562306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 25662306a36Sopenharmony_ci}; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci&CPU5 { 25962306a36Sopenharmony_ci /delete-property/ power-domains; 26062306a36Sopenharmony_ci /delete-property/ power-domain-names; 26162306a36Sopenharmony_ci cpu-idle-states = <&BIG_CPU_SLEEP_0 26262306a36Sopenharmony_ci &BIG_CPU_SLEEP_1 26362306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 26462306a36Sopenharmony_ci}; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci&CPU6 { 26762306a36Sopenharmony_ci /delete-property/ power-domains; 26862306a36Sopenharmony_ci /delete-property/ power-domain-names; 26962306a36Sopenharmony_ci cpu-idle-states = <&BIG_CPU_SLEEP_0 27062306a36Sopenharmony_ci &BIG_CPU_SLEEP_1 27162306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 27262306a36Sopenharmony_ci}; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci&CPU7 { 27562306a36Sopenharmony_ci /delete-property/ power-domains; 27662306a36Sopenharmony_ci /delete-property/ power-domain-names; 27762306a36Sopenharmony_ci cpu-idle-states = <&BIG_CPU_SLEEP_0 27862306a36Sopenharmony_ci &BIG_CPU_SLEEP_1 27962306a36Sopenharmony_ci &CLUSTER_SLEEP_0>; 28062306a36Sopenharmony_ci}; 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci&lmh_cluster0 { 28362306a36Sopenharmony_ci status = "disabled"; 28462306a36Sopenharmony_ci}; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci&lmh_cluster1 { 28762306a36Sopenharmony_ci status = "disabled"; 28862306a36Sopenharmony_ci}; 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ci/* 29162306a36Sopenharmony_ci * Reserved memory changes 29262306a36Sopenharmony_ci * 29362306a36Sopenharmony_ci * Putting this all together (out of order with the rest of the file) to keep 29462306a36Sopenharmony_ci * all modifications to the memory map (from sdm845.dtsi) in one place. 29562306a36Sopenharmony_ci */ 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci/* 29862306a36Sopenharmony_ci * Our mpss_region is 8MB bigger than the default one and that conflicts 29962306a36Sopenharmony_ci * with venus_mem and cdsp_mem. 30062306a36Sopenharmony_ci * 30162306a36Sopenharmony_ci * For venus_mem we'll delete and re-create at a different address. 30262306a36Sopenharmony_ci * 30362306a36Sopenharmony_ci * cdsp_mem isn't used on cheza right now so we won't bother re-creating it; but 30462306a36Sopenharmony_ci * that also means we need to delete cdsp_pas. 30562306a36Sopenharmony_ci */ 30662306a36Sopenharmony_ci/delete-node/ &venus_mem; 30762306a36Sopenharmony_ci/delete-node/ &cdsp_mem; 30862306a36Sopenharmony_ci/delete-node/ &cdsp_pas; 30962306a36Sopenharmony_ci/delete-node/ &gpu_mem; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci/* Increase the size from 120 MB to 128 MB */ 31262306a36Sopenharmony_ci&mpss_region { 31362306a36Sopenharmony_ci reg = <0 0x8e000000 0 0x8000000>; 31462306a36Sopenharmony_ci}; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci/* Increase the size from 2MB to 8MB */ 31762306a36Sopenharmony_ci&rmtfs_mem { 31862306a36Sopenharmony_ci reg = <0 0x88f00000 0 0x800000>; 31962306a36Sopenharmony_ci}; 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci/ { 32262306a36Sopenharmony_ci reserved-memory { 32362306a36Sopenharmony_ci venus_mem: memory@96000000 { 32462306a36Sopenharmony_ci reg = <0 0x96000000 0 0x500000>; 32562306a36Sopenharmony_ci no-map; 32662306a36Sopenharmony_ci }; 32762306a36Sopenharmony_ci }; 32862306a36Sopenharmony_ci}; 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci&qspi { 33162306a36Sopenharmony_ci status = "okay"; 33262306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 33362306a36Sopenharmony_ci pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data0>, <&qspi_data1>; 33462306a36Sopenharmony_ci pinctrl-1 = <&qspi_sleep>; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci flash@0 { 33762306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 33862306a36Sopenharmony_ci reg = <0>; 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci /* 34162306a36Sopenharmony_ci * In theory chip supports up to 104 MHz and controller up 34262306a36Sopenharmony_ci * to 80 MHz, but above 25 MHz wasn't reliable so we'll use 34362306a36Sopenharmony_ci * that for now. b:117440651 34462306a36Sopenharmony_ci */ 34562306a36Sopenharmony_ci spi-max-frequency = <25000000>; 34662306a36Sopenharmony_ci spi-tx-bus-width = <2>; 34762306a36Sopenharmony_ci spi-rx-bus-width = <2>; 34862306a36Sopenharmony_ci }; 34962306a36Sopenharmony_ci}; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci&apps_rsc { 35362306a36Sopenharmony_ci /delete-property/ power-domains; 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ci regulators-0 { 35662306a36Sopenharmony_ci compatible = "qcom,pm8998-rpmh-regulators"; 35762306a36Sopenharmony_ci qcom,pmic-id = "a"; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci vdd-s1-supply = <&src_vph_pwr>; 36062306a36Sopenharmony_ci vdd-s2-supply = <&src_vph_pwr>; 36162306a36Sopenharmony_ci vdd-s3-supply = <&src_vph_pwr>; 36262306a36Sopenharmony_ci vdd-s4-supply = <&src_vph_pwr>; 36362306a36Sopenharmony_ci vdd-s5-supply = <&src_vph_pwr>; 36462306a36Sopenharmony_ci vdd-s6-supply = <&src_vph_pwr>; 36562306a36Sopenharmony_ci vdd-s7-supply = <&src_vph_pwr>; 36662306a36Sopenharmony_ci vdd-s8-supply = <&src_vph_pwr>; 36762306a36Sopenharmony_ci vdd-s9-supply = <&src_vph_pwr>; 36862306a36Sopenharmony_ci vdd-s10-supply = <&src_vph_pwr>; 36962306a36Sopenharmony_ci vdd-s11-supply = <&src_vph_pwr>; 37062306a36Sopenharmony_ci vdd-s12-supply = <&src_vph_pwr>; 37162306a36Sopenharmony_ci vdd-s13-supply = <&src_vph_pwr>; 37262306a36Sopenharmony_ci vdd-l1-l27-supply = <&src_pp1025_s7a>; 37362306a36Sopenharmony_ci vdd-l2-l8-l17-supply = <&src_pp1350_s3a>; 37462306a36Sopenharmony_ci vdd-l3-l11-supply = <&src_pp1025_s7a>; 37562306a36Sopenharmony_ci vdd-l4-l5-supply = <&src_pp1025_s7a>; 37662306a36Sopenharmony_ci vdd-l6-supply = <&src_vph_pwr>; 37762306a36Sopenharmony_ci vdd-l7-l12-l14-l15-supply = <&src_pp2040_s5a>; 37862306a36Sopenharmony_ci vdd-l9-supply = <&src_pp2040_s5a>; 37962306a36Sopenharmony_ci vdd-l10-l23-l25-supply = <&src_vreg_bob>; 38062306a36Sopenharmony_ci vdd-l13-l19-l21-supply = <&src_vreg_bob>; 38162306a36Sopenharmony_ci vdd-l16-l28-supply = <&src_vreg_bob>; 38262306a36Sopenharmony_ci vdd-l18-l22-supply = <&src_vreg_bob>; 38362306a36Sopenharmony_ci vdd-l20-l24-supply = <&src_vreg_bob>; 38462306a36Sopenharmony_ci vdd-l26-supply = <&src_pp1350_s3a>; 38562306a36Sopenharmony_ci vin-lvs-1-2-supply = <&src_pp1800_s4a>; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci src_pp1125_s2a: smps2 { 38862306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 38962306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 39062306a36Sopenharmony_ci }; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci src_pp1350_s3a: smps3 { 39362306a36Sopenharmony_ci regulator-min-microvolt = <1352000>; 39462306a36Sopenharmony_ci regulator-max-microvolt = <1352000>; 39562306a36Sopenharmony_ci }; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci src_pp2040_s5a: smps5 { 39862306a36Sopenharmony_ci regulator-min-microvolt = <1904000>; 39962306a36Sopenharmony_ci regulator-max-microvolt = <2040000>; 40062306a36Sopenharmony_ci }; 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci src_pp1025_s7a: smps7 { 40362306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 40462306a36Sopenharmony_ci regulator-max-microvolt = <1028000>; 40562306a36Sopenharmony_ci }; 40662306a36Sopenharmony_ci 40762306a36Sopenharmony_ci vdd_qusb_hs0: 40862306a36Sopenharmony_ci vdda_hp_pcie_core: 40962306a36Sopenharmony_ci vdda_mipi_csi0_0p9: 41062306a36Sopenharmony_ci vdda_mipi_csi1_0p9: 41162306a36Sopenharmony_ci vdda_mipi_csi2_0p9: 41262306a36Sopenharmony_ci vdda_mipi_dsi0_pll: 41362306a36Sopenharmony_ci vdda_mipi_dsi1_pll: 41462306a36Sopenharmony_ci vdda_qlink_lv: 41562306a36Sopenharmony_ci vdda_qlink_lv_ck: 41662306a36Sopenharmony_ci vdda_qrefs_0p875: 41762306a36Sopenharmony_ci vdda_pcie_core: 41862306a36Sopenharmony_ci vdda_pll_cc_ebi01: 41962306a36Sopenharmony_ci vdda_pll_cc_ebi23: 42062306a36Sopenharmony_ci vdda_sp_sensor: 42162306a36Sopenharmony_ci vdda_ufs1_core: 42262306a36Sopenharmony_ci vdda_ufs2_core: 42362306a36Sopenharmony_ci vdda_usb1_ss_core: 42462306a36Sopenharmony_ci vdda_usb2_ss_core: 42562306a36Sopenharmony_ci src_pp875_l1a: ldo1 { 42662306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 42762306a36Sopenharmony_ci regulator-max-microvolt = <880000>; 42862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 42962306a36Sopenharmony_ci }; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci vddpx_10: 43262306a36Sopenharmony_ci src_pp1200_l2a: ldo2 { 43362306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 43462306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 43562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ci /* TODO: why??? */ 43862306a36Sopenharmony_ci regulator-always-on; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ci pp1000_l3a_sdr845: ldo3 { 44262306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 44362306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 44462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 44562306a36Sopenharmony_ci }; 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci vdd_wcss_cx: 44862306a36Sopenharmony_ci vdd_wcss_mx: 44962306a36Sopenharmony_ci vdda_wcss_pll: 45062306a36Sopenharmony_ci src_pp800_l5a: ldo5 { 45162306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 45262306a36Sopenharmony_ci regulator-max-microvolt = <800000>; 45362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci vddpx_13: 45762306a36Sopenharmony_ci src_pp1800_l6a: ldo6 { 45862306a36Sopenharmony_ci regulator-min-microvolt = <1856000>; 45962306a36Sopenharmony_ci regulator-max-microvolt = <1856000>; 46062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci pp1800_l7a_wcn3990: ldo7 { 46462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 46562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 46662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 46762306a36Sopenharmony_ci }; 46862306a36Sopenharmony_ci 46962306a36Sopenharmony_ci src_pp1200_l8a: ldo8 { 47062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 47162306a36Sopenharmony_ci regulator-max-microvolt = <1248000>; 47262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 47362306a36Sopenharmony_ci }; 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci pp1800_dx_pen: 47662306a36Sopenharmony_ci src_pp1800_l9a: ldo9 { 47762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 47862306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 47962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 48062306a36Sopenharmony_ci }; 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci src_pp1800_l10a: ldo10 { 48362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 48462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 48562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 48662306a36Sopenharmony_ci }; 48762306a36Sopenharmony_ci 48862306a36Sopenharmony_ci pp1000_l11a_sdr845: ldo11 { 48962306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 49062306a36Sopenharmony_ci regulator-max-microvolt = <1048000>; 49162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 49262306a36Sopenharmony_ci }; 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci vdd_qfprom: 49562306a36Sopenharmony_ci vdd_qfprom_sp: 49662306a36Sopenharmony_ci vdda_apc1_cs_1p8: 49762306a36Sopenharmony_ci vdda_gfx_cs_1p8: 49862306a36Sopenharmony_ci vdda_qrefs_1p8: 49962306a36Sopenharmony_ci vdda_qusb_hs0_1p8: 50062306a36Sopenharmony_ci vddpx_11: 50162306a36Sopenharmony_ci src_pp1800_l12a: ldo12 { 50262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 50362306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 50462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 50562306a36Sopenharmony_ci }; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci vddpx_2: 50862306a36Sopenharmony_ci src_pp2950_l13a: ldo13 { 50962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 51062306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 51162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 51262306a36Sopenharmony_ci }; 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci src_pp1800_l14a: ldo14 { 51562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 51662306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 51762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 51862306a36Sopenharmony_ci }; 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_ci src_pp1800_l15a: ldo15 { 52162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 52262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 52362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 52462306a36Sopenharmony_ci }; 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_ci pp2700_l16a: ldo16 { 52762306a36Sopenharmony_ci regulator-min-microvolt = <2704000>; 52862306a36Sopenharmony_ci regulator-max-microvolt = <2704000>; 52962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 53062306a36Sopenharmony_ci }; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci src_pp1300_l17a: ldo17 { 53362306a36Sopenharmony_ci regulator-min-microvolt = <1304000>; 53462306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 53562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 53662306a36Sopenharmony_ci }; 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci pp2700_l18a: ldo18 { 53962306a36Sopenharmony_ci regulator-min-microvolt = <2704000>; 54062306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 54162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 54262306a36Sopenharmony_ci }; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci /* 54562306a36Sopenharmony_ci * NOTE: this rail should have been called 54662306a36Sopenharmony_ci * src_pp3300_l19a in the schematic 54762306a36Sopenharmony_ci */ 54862306a36Sopenharmony_ci src_pp3000_l19a: ldo19 { 54962306a36Sopenharmony_ci regulator-min-microvolt = <3304000>; 55062306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 55362306a36Sopenharmony_ci }; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci src_pp2950_l20a: ldo20 { 55662306a36Sopenharmony_ci regulator-min-microvolt = <2704000>; 55762306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 55862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 55962306a36Sopenharmony_ci }; 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci src_pp2950_l21a: ldo21 { 56262306a36Sopenharmony_ci regulator-min-microvolt = <2704000>; 56362306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 56462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci pp3300_hub: 56862306a36Sopenharmony_ci src_pp3300_l22a: ldo22 { 56962306a36Sopenharmony_ci regulator-min-microvolt = <3304000>; 57062306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 57162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 57262306a36Sopenharmony_ci /* 57362306a36Sopenharmony_ci * HACK: Should add a usb hub node and driver 57462306a36Sopenharmony_ci * to turn this on and off at suspend/resume time 57562306a36Sopenharmony_ci */ 57662306a36Sopenharmony_ci regulator-boot-on; 57762306a36Sopenharmony_ci regulator-always-on; 57862306a36Sopenharmony_ci }; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci pp3300_l23a_ch1_wcn3990: ldo23 { 58162306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 58262306a36Sopenharmony_ci regulator-max-microvolt = <3312000>; 58362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 58462306a36Sopenharmony_ci }; 58562306a36Sopenharmony_ci 58662306a36Sopenharmony_ci vdda_qusb_hs0_3p1: 58762306a36Sopenharmony_ci src_pp3075_l24a: ldo24 { 58862306a36Sopenharmony_ci regulator-min-microvolt = <3088000>; 58962306a36Sopenharmony_ci regulator-max-microvolt = <3088000>; 59062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 59162306a36Sopenharmony_ci }; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci pp3300_l25a_ch0_wcn3990: ldo25 { 59462306a36Sopenharmony_ci regulator-min-microvolt = <3304000>; 59562306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 59662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 59762306a36Sopenharmony_ci }; 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci pp1200_hub: 60062306a36Sopenharmony_ci vdda_hp_pcie_1p2: 60162306a36Sopenharmony_ci vdda_hv_ebi0: 60262306a36Sopenharmony_ci vdda_hv_ebi1: 60362306a36Sopenharmony_ci vdda_hv_ebi2: 60462306a36Sopenharmony_ci vdda_hv_ebi3: 60562306a36Sopenharmony_ci vdda_mipi_csi_1p25: 60662306a36Sopenharmony_ci vdda_mipi_dsi0_1p2: 60762306a36Sopenharmony_ci vdda_mipi_dsi1_1p2: 60862306a36Sopenharmony_ci vdda_pcie_1p2: 60962306a36Sopenharmony_ci vdda_ufs1_1p2: 61062306a36Sopenharmony_ci vdda_ufs2_1p2: 61162306a36Sopenharmony_ci vdda_usb1_ss_1p2: 61262306a36Sopenharmony_ci vdda_usb2_ss_1p2: 61362306a36Sopenharmony_ci src_pp1200_l26a: ldo26 { 61462306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 61562306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 61662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 61762306a36Sopenharmony_ci }; 61862306a36Sopenharmony_ci 61962306a36Sopenharmony_ci pp3300_dx_pen: 62062306a36Sopenharmony_ci src_pp3300_l28a: ldo28 { 62162306a36Sopenharmony_ci regulator-min-microvolt = <3304000>; 62262306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 62362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 62462306a36Sopenharmony_ci }; 62562306a36Sopenharmony_ci 62662306a36Sopenharmony_ci src_pp1800_lvs1: lvs1 { 62762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 62862306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 62962306a36Sopenharmony_ci }; 63062306a36Sopenharmony_ci 63162306a36Sopenharmony_ci src_pp1800_lvs2: lvs2 { 63262306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 63362306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 63462306a36Sopenharmony_ci }; 63562306a36Sopenharmony_ci }; 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_ci regulators-1 { 63862306a36Sopenharmony_ci compatible = "qcom,pm8005-rpmh-regulators"; 63962306a36Sopenharmony_ci qcom,pmic-id = "c"; 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_ci vdd-s1-supply = <&src_vph_pwr>; 64262306a36Sopenharmony_ci vdd-s2-supply = <&src_vph_pwr>; 64362306a36Sopenharmony_ci vdd-s3-supply = <&src_vph_pwr>; 64462306a36Sopenharmony_ci vdd-s4-supply = <&src_vph_pwr>; 64562306a36Sopenharmony_ci 64662306a36Sopenharmony_ci src_pp600_s3c: smps3 { 64762306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 64862306a36Sopenharmony_ci regulator-max-microvolt = <600000>; 64962306a36Sopenharmony_ci }; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci}; 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ciedp_brij_i2c: &i2c3 { 65462306a36Sopenharmony_ci status = "okay"; 65562306a36Sopenharmony_ci clock-frequency = <400000>; 65662306a36Sopenharmony_ci 65762306a36Sopenharmony_ci sn65dsi86_bridge: bridge@2d { 65862306a36Sopenharmony_ci compatible = "ti,sn65dsi86"; 65962306a36Sopenharmony_ci reg = <0x2d>; 66062306a36Sopenharmony_ci pinctrl-names = "default"; 66162306a36Sopenharmony_ci pinctrl-0 = <&edp_brij_en &edp_brij_irq>; 66262306a36Sopenharmony_ci 66362306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 66462306a36Sopenharmony_ci interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ci enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>; 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ci vpll-supply = <&src_pp1800_s4a>; 66962306a36Sopenharmony_ci vccio-supply = <&src_pp1800_s4a>; 67062306a36Sopenharmony_ci vcca-supply = <&src_pp1200_l2a>; 67162306a36Sopenharmony_ci vcc-supply = <&src_pp1200_l2a>; 67262306a36Sopenharmony_ci 67362306a36Sopenharmony_ci clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 67462306a36Sopenharmony_ci clock-names = "refclk"; 67562306a36Sopenharmony_ci 67662306a36Sopenharmony_ci no-hpd; 67762306a36Sopenharmony_ci 67862306a36Sopenharmony_ci ports { 67962306a36Sopenharmony_ci #address-cells = <1>; 68062306a36Sopenharmony_ci #size-cells = <0>; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci port@0 { 68362306a36Sopenharmony_ci reg = <0>; 68462306a36Sopenharmony_ci sn65dsi86_in: endpoint { 68562306a36Sopenharmony_ci remote-endpoint = <&mdss_dsi0_out>; 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci }; 68862306a36Sopenharmony_ci 68962306a36Sopenharmony_ci port@1 { 69062306a36Sopenharmony_ci reg = <1>; 69162306a36Sopenharmony_ci sn65dsi86_out: endpoint { 69262306a36Sopenharmony_ci remote-endpoint = <&panel_in_edp>; 69362306a36Sopenharmony_ci }; 69462306a36Sopenharmony_ci }; 69562306a36Sopenharmony_ci }; 69662306a36Sopenharmony_ci }; 69762306a36Sopenharmony_ci}; 69862306a36Sopenharmony_ci 69962306a36Sopenharmony_ciap_pen_1v8: &i2c11 { 70062306a36Sopenharmony_ci status = "okay"; 70162306a36Sopenharmony_ci clock-frequency = <400000>; 70262306a36Sopenharmony_ci 70362306a36Sopenharmony_ci digitizer@9 { 70462306a36Sopenharmony_ci compatible = "wacom,w9013", "hid-over-i2c"; 70562306a36Sopenharmony_ci reg = <0x9>; 70662306a36Sopenharmony_ci pinctrl-names = "default"; 70762306a36Sopenharmony_ci pinctrl-0 = <&pen_irq_l>, <&pen_pdct_l>, <&pen_rst_l>; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_ci vdd-supply = <&pp3300_dx_pen>; 71062306a36Sopenharmony_ci vddl-supply = <&pp1800_dx_pen>; 71162306a36Sopenharmony_ci post-power-on-delay-ms = <100>; 71262306a36Sopenharmony_ci 71362306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 71462306a36Sopenharmony_ci interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 71562306a36Sopenharmony_ci 71662306a36Sopenharmony_ci hid-descr-addr = <0x1>; 71762306a36Sopenharmony_ci }; 71862306a36Sopenharmony_ci}; 71962306a36Sopenharmony_ci 72062306a36Sopenharmony_ciamp_i2c: &i2c12 { 72162306a36Sopenharmony_ci status = "okay"; 72262306a36Sopenharmony_ci clock-frequency = <400000>; 72362306a36Sopenharmony_ci}; 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_ciap_ts_i2c: &i2c14 { 72662306a36Sopenharmony_ci status = "okay"; 72762306a36Sopenharmony_ci clock-frequency = <400000>; 72862306a36Sopenharmony_ci 72962306a36Sopenharmony_ci touchscreen@10 { 73062306a36Sopenharmony_ci compatible = "elan,ekth3500"; 73162306a36Sopenharmony_ci reg = <0x10>; 73262306a36Sopenharmony_ci pinctrl-names = "default"; 73362306a36Sopenharmony_ci pinctrl-0 = <&ts_int_l &ts_reset_l>; 73462306a36Sopenharmony_ci 73562306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 73662306a36Sopenharmony_ci interrupts = <125 IRQ_TYPE_LEVEL_LOW>; 73762306a36Sopenharmony_ci 73862306a36Sopenharmony_ci vcc33-supply = <&src_pp3300_l28a>; 73962306a36Sopenharmony_ci 74062306a36Sopenharmony_ci reset-gpios = <&tlmm 118 GPIO_ACTIVE_LOW>; 74162306a36Sopenharmony_ci }; 74262306a36Sopenharmony_ci}; 74362306a36Sopenharmony_ci 74462306a36Sopenharmony_ci&gmu { 74562306a36Sopenharmony_ci status = "okay"; 74662306a36Sopenharmony_ci}; 74762306a36Sopenharmony_ci 74862306a36Sopenharmony_ci&gpu { 74962306a36Sopenharmony_ci status = "okay"; 75062306a36Sopenharmony_ci}; 75162306a36Sopenharmony_ci 75262306a36Sopenharmony_ci&ipa { 75362306a36Sopenharmony_ci qcom,gsi-loader = "modem"; 75462306a36Sopenharmony_ci status = "okay"; 75562306a36Sopenharmony_ci}; 75662306a36Sopenharmony_ci 75762306a36Sopenharmony_ci&lpasscc { 75862306a36Sopenharmony_ci status = "okay"; 75962306a36Sopenharmony_ci}; 76062306a36Sopenharmony_ci 76162306a36Sopenharmony_ci&mdss { 76262306a36Sopenharmony_ci status = "okay"; 76362306a36Sopenharmony_ci}; 76462306a36Sopenharmony_ci 76562306a36Sopenharmony_ci&mdss_dsi0 { 76662306a36Sopenharmony_ci status = "okay"; 76762306a36Sopenharmony_ci vdda-supply = <&vdda_mipi_dsi0_1p2>; 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ci ports { 77062306a36Sopenharmony_ci port@1 { 77162306a36Sopenharmony_ci endpoint { 77262306a36Sopenharmony_ci remote-endpoint = <&sn65dsi86_in>; 77362306a36Sopenharmony_ci data-lanes = <0 1 2 3>; 77462306a36Sopenharmony_ci }; 77562306a36Sopenharmony_ci }; 77662306a36Sopenharmony_ci }; 77762306a36Sopenharmony_ci}; 77862306a36Sopenharmony_ci 77962306a36Sopenharmony_ci&mdss_dsi0_phy { 78062306a36Sopenharmony_ci status = "okay"; 78162306a36Sopenharmony_ci vdds-supply = <&vdda_mipi_dsi0_pll>; 78262306a36Sopenharmony_ci}; 78362306a36Sopenharmony_ci 78462306a36Sopenharmony_ci/* 78562306a36Sopenharmony_ci * Cheza fw does not properly program the GPU aperture to allow the 78662306a36Sopenharmony_ci * GPU to update the SMMU pagetables for context switches. Work 78762306a36Sopenharmony_ci * around this by dropping the "qcom,adreno-smmu" compat string. 78862306a36Sopenharmony_ci */ 78962306a36Sopenharmony_ci&adreno_smmu { 79062306a36Sopenharmony_ci compatible = "qcom,sdm845-smmu-v2", "qcom,smmu-v2"; 79162306a36Sopenharmony_ci}; 79262306a36Sopenharmony_ci 79362306a36Sopenharmony_ci&mss_pil { 79462306a36Sopenharmony_ci status = "okay"; 79562306a36Sopenharmony_ci 79662306a36Sopenharmony_ci iommus = <&apps_smmu 0x781 0x0>, 79762306a36Sopenharmony_ci <&apps_smmu 0x724 0x3>; 79862306a36Sopenharmony_ci}; 79962306a36Sopenharmony_ci 80062306a36Sopenharmony_ci&pm8998_pwrkey { 80162306a36Sopenharmony_ci status = "disabled"; 80262306a36Sopenharmony_ci}; 80362306a36Sopenharmony_ci 80462306a36Sopenharmony_ci&qupv3_id_0 { 80562306a36Sopenharmony_ci status = "okay"; 80662306a36Sopenharmony_ci iommus = <&apps_smmu 0x0 0x3>; 80762306a36Sopenharmony_ci}; 80862306a36Sopenharmony_ci 80962306a36Sopenharmony_ci&qupv3_id_1 { 81062306a36Sopenharmony_ci status = "okay"; 81162306a36Sopenharmony_ci iommus = <&apps_smmu 0x6c0 0x3>; 81262306a36Sopenharmony_ci}; 81362306a36Sopenharmony_ci 81462306a36Sopenharmony_ci&sdhc_2 { 81562306a36Sopenharmony_ci status = "okay"; 81662306a36Sopenharmony_ci 81762306a36Sopenharmony_ci pinctrl-names = "default"; 81862306a36Sopenharmony_ci pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data &sd_cd_odl>; 81962306a36Sopenharmony_ci 82062306a36Sopenharmony_ci vmmc-supply = <&src_pp2950_l21a>; 82162306a36Sopenharmony_ci vqmmc-supply = <&vddpx_2>; 82262306a36Sopenharmony_ci 82362306a36Sopenharmony_ci cd-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; 82462306a36Sopenharmony_ci}; 82562306a36Sopenharmony_ci 82662306a36Sopenharmony_ci&spi0 { 82762306a36Sopenharmony_ci status = "okay"; 82862306a36Sopenharmony_ci}; 82962306a36Sopenharmony_ci 83062306a36Sopenharmony_ci&spi5 { 83162306a36Sopenharmony_ci status = "okay"; 83262306a36Sopenharmony_ci 83362306a36Sopenharmony_ci tpm@0 { 83462306a36Sopenharmony_ci compatible = "google,cr50"; 83562306a36Sopenharmony_ci reg = <0>; 83662306a36Sopenharmony_ci pinctrl-names = "default"; 83762306a36Sopenharmony_ci pinctrl-0 = <&h1_ap_int_odl>; 83862306a36Sopenharmony_ci spi-max-frequency = <800000>; 83962306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 84062306a36Sopenharmony_ci interrupts = <129 IRQ_TYPE_EDGE_RISING>; 84162306a36Sopenharmony_ci }; 84262306a36Sopenharmony_ci}; 84362306a36Sopenharmony_ci 84462306a36Sopenharmony_ci&spi10 { 84562306a36Sopenharmony_ci status = "okay"; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ci cros_ec: ec@0 { 84862306a36Sopenharmony_ci compatible = "google,cros-ec-spi"; 84962306a36Sopenharmony_ci reg = <0>; 85062306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 85162306a36Sopenharmony_ci interrupts = <122 IRQ_TYPE_LEVEL_LOW>; 85262306a36Sopenharmony_ci pinctrl-names = "default"; 85362306a36Sopenharmony_ci pinctrl-0 = <&ec_ap_int_l>; 85462306a36Sopenharmony_ci spi-max-frequency = <3000000>; 85562306a36Sopenharmony_ci 85662306a36Sopenharmony_ci cros_ec_pwm: pwm { 85762306a36Sopenharmony_ci compatible = "google,cros-ec-pwm"; 85862306a36Sopenharmony_ci #pwm-cells = <1>; 85962306a36Sopenharmony_ci }; 86062306a36Sopenharmony_ci 86162306a36Sopenharmony_ci i2c_tunnel: i2c-tunnel { 86262306a36Sopenharmony_ci compatible = "google,cros-ec-i2c-tunnel"; 86362306a36Sopenharmony_ci google,remote-bus = <0>; 86462306a36Sopenharmony_ci #address-cells = <1>; 86562306a36Sopenharmony_ci #size-cells = <0>; 86662306a36Sopenharmony_ci }; 86762306a36Sopenharmony_ci }; 86862306a36Sopenharmony_ci}; 86962306a36Sopenharmony_ci 87062306a36Sopenharmony_ci#include <arm/cros-ec-keyboard.dtsi> 87162306a36Sopenharmony_ci#include <arm/cros-ec-sbs.dtsi> 87262306a36Sopenharmony_ci 87362306a36Sopenharmony_ci&uart6 { 87462306a36Sopenharmony_ci status = "okay"; 87562306a36Sopenharmony_ci 87662306a36Sopenharmony_ci pinctrl-0 = <&qup_uart6_4pin>; 87762306a36Sopenharmony_ci 87862306a36Sopenharmony_ci bluetooth: bluetooth { 87962306a36Sopenharmony_ci compatible = "qcom,wcn3990-bt"; 88062306a36Sopenharmony_ci vddio-supply = <&src_pp1800_s4a>; 88162306a36Sopenharmony_ci vddxo-supply = <&pp1800_l7a_wcn3990>; 88262306a36Sopenharmony_ci vddrf-supply = <&src_pp1300_l17a>; 88362306a36Sopenharmony_ci vddch0-supply = <&pp3300_l25a_ch0_wcn3990>; 88462306a36Sopenharmony_ci max-speed = <3200000>; 88562306a36Sopenharmony_ci }; 88662306a36Sopenharmony_ci}; 88762306a36Sopenharmony_ci 88862306a36Sopenharmony_ci&uart9 { 88962306a36Sopenharmony_ci status = "okay"; 89062306a36Sopenharmony_ci}; 89162306a36Sopenharmony_ci 89262306a36Sopenharmony_ci&ufs_mem_hc { 89362306a36Sopenharmony_ci status = "okay"; 89462306a36Sopenharmony_ci 89562306a36Sopenharmony_ci reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 89662306a36Sopenharmony_ci 89762306a36Sopenharmony_ci vcc-supply = <&src_pp2950_l20a>; 89862306a36Sopenharmony_ci vcc-max-microamp = <600000>; 89962306a36Sopenharmony_ci}; 90062306a36Sopenharmony_ci 90162306a36Sopenharmony_ci&ufs_mem_phy { 90262306a36Sopenharmony_ci status = "okay"; 90362306a36Sopenharmony_ci 90462306a36Sopenharmony_ci vdda-phy-supply = <&vdda_ufs1_core>; 90562306a36Sopenharmony_ci vdda-pll-supply = <&vdda_ufs1_1p2>; 90662306a36Sopenharmony_ci}; 90762306a36Sopenharmony_ci 90862306a36Sopenharmony_ci&usb_1 { 90962306a36Sopenharmony_ci status = "okay"; 91062306a36Sopenharmony_ci 91162306a36Sopenharmony_ci /* We'll use this as USB 2.0 only */ 91262306a36Sopenharmony_ci qcom,select-utmi-as-pipe-clk; 91362306a36Sopenharmony_ci}; 91462306a36Sopenharmony_ci 91562306a36Sopenharmony_ci&usb_1_dwc3 { 91662306a36Sopenharmony_ci /* 91762306a36Sopenharmony_ci * The hardware design intends this port to be hooked up in peripheral 91862306a36Sopenharmony_ci * mode, so we'll hardcode it here. Some details: 91962306a36Sopenharmony_ci * - SDM845 expects only a single Type C connector so it has only one 92062306a36Sopenharmony_ci * native Type C port but cheza has two Type C connectors. 92162306a36Sopenharmony_ci * - The only source of DP is the single native Type C port. 92262306a36Sopenharmony_ci * - On cheza we want to be able to hook DP up to _either_ of the 92362306a36Sopenharmony_ci * two Type C connectors and want to be able to achieve 4 lanes of DP. 92462306a36Sopenharmony_ci * - When you configure a Type C port for 4 lanes of DP you lose USB3. 92562306a36Sopenharmony_ci * - In order to make everything work, the native Type C port is always 92662306a36Sopenharmony_ci * configured as 4-lanes DP so it's always available. 92762306a36Sopenharmony_ci * - The extra USB3 port on SDM845 goes to a USB 3 hub which is then 92862306a36Sopenharmony_ci * sent to the two Type C connectors. 92962306a36Sopenharmony_ci * - The extra USB2 lines from the native Type C port are always 93062306a36Sopenharmony_ci * setup as "peripheral" so that we can mux them over to one connector 93162306a36Sopenharmony_ci * or the other if someone needs the connector configured as a gadget 93262306a36Sopenharmony_ci * (but they only get USB2 speeds). 93362306a36Sopenharmony_ci * 93462306a36Sopenharmony_ci * All the hardware muxes would allow us to hook things up in different 93562306a36Sopenharmony_ci * ways to some potential benefit for static configurations (you could 93662306a36Sopenharmony_ci * achieve extra USB2 bandwidth by using two different ports for the 93762306a36Sopenharmony_ci * two connectors or possibly even get USB3 peripheral mode), but in 93862306a36Sopenharmony_ci * each case you end up forcing to disconnect/reconnect an in-use 93962306a36Sopenharmony_ci * USB session in some cases depending on what you hotplug into the 94062306a36Sopenharmony_ci * other connector. Thus hardcoding this as peripheral makes sense. 94162306a36Sopenharmony_ci */ 94262306a36Sopenharmony_ci dr_mode = "peripheral"; 94362306a36Sopenharmony_ci 94462306a36Sopenharmony_ci /* 94562306a36Sopenharmony_ci * We always need the high speed pins as 4-lanes DP in case someone 94662306a36Sopenharmony_ci * hotplugs a DP peripheral. Thus limit this port to a max of high 94762306a36Sopenharmony_ci * speed. 94862306a36Sopenharmony_ci */ 94962306a36Sopenharmony_ci maximum-speed = "high-speed"; 95062306a36Sopenharmony_ci 95162306a36Sopenharmony_ci /* 95262306a36Sopenharmony_ci * We don't need the usb3-phy since we run in highspeed mode always, so 95362306a36Sopenharmony_ci * re-define these properties removing the superspeed USB PHY reference. 95462306a36Sopenharmony_ci */ 95562306a36Sopenharmony_ci phys = <&usb_1_hsphy>; 95662306a36Sopenharmony_ci phy-names = "usb2-phy"; 95762306a36Sopenharmony_ci}; 95862306a36Sopenharmony_ci 95962306a36Sopenharmony_ci&usb_1_hsphy { 96062306a36Sopenharmony_ci status = "okay"; 96162306a36Sopenharmony_ci 96262306a36Sopenharmony_ci vdd-supply = <&vdda_usb1_ss_core>; 96362306a36Sopenharmony_ci vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 96462306a36Sopenharmony_ci vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 96562306a36Sopenharmony_ci 96662306a36Sopenharmony_ci qcom,imp-res-offset-value = <8>; 96762306a36Sopenharmony_ci qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 96862306a36Sopenharmony_ci qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 96962306a36Sopenharmony_ci qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 97062306a36Sopenharmony_ci}; 97162306a36Sopenharmony_ci 97262306a36Sopenharmony_ci&usb_2 { 97362306a36Sopenharmony_ci status = "okay"; 97462306a36Sopenharmony_ci}; 97562306a36Sopenharmony_ci 97662306a36Sopenharmony_ci&usb_2_dwc3 { 97762306a36Sopenharmony_ci /* We have this hooked up to a hub and we always use in host mode */ 97862306a36Sopenharmony_ci dr_mode = "host"; 97962306a36Sopenharmony_ci}; 98062306a36Sopenharmony_ci 98162306a36Sopenharmony_ci&usb_2_hsphy { 98262306a36Sopenharmony_ci status = "okay"; 98362306a36Sopenharmony_ci 98462306a36Sopenharmony_ci vdd-supply = <&vdda_usb2_ss_core>; 98562306a36Sopenharmony_ci vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 98662306a36Sopenharmony_ci vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 98762306a36Sopenharmony_ci 98862306a36Sopenharmony_ci qcom,imp-res-offset-value = <8>; 98962306a36Sopenharmony_ci qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 99062306a36Sopenharmony_ci}; 99162306a36Sopenharmony_ci 99262306a36Sopenharmony_ci&usb_2_qmpphy { 99362306a36Sopenharmony_ci status = "okay"; 99462306a36Sopenharmony_ci 99562306a36Sopenharmony_ci vdda-phy-supply = <&vdda_usb2_ss_1p2>; 99662306a36Sopenharmony_ci vdda-pll-supply = <&vdda_usb2_ss_core>; 99762306a36Sopenharmony_ci}; 99862306a36Sopenharmony_ci 99962306a36Sopenharmony_ci&wifi { 100062306a36Sopenharmony_ci status = "okay"; 100162306a36Sopenharmony_ci 100262306a36Sopenharmony_ci vdd-0.8-cx-mx-supply = <&src_pp800_l5a >; 100362306a36Sopenharmony_ci vdd-1.8-xo-supply = <&pp1800_l7a_wcn3990>; 100462306a36Sopenharmony_ci vdd-1.3-rfa-supply = <&src_pp1300_l17a>; 100562306a36Sopenharmony_ci vdd-3.3-ch0-supply = <&pp3300_l25a_ch0_wcn3990>; 100662306a36Sopenharmony_ci}; 100762306a36Sopenharmony_ci 100862306a36Sopenharmony_ci/* PINCTRL - additions to nodes defined in sdm845.dtsi */ 100962306a36Sopenharmony_ci 101062306a36Sopenharmony_ci&qspi_cs0 { 101162306a36Sopenharmony_ci bias-disable; /* External pullup */ 101262306a36Sopenharmony_ci}; 101362306a36Sopenharmony_ci 101462306a36Sopenharmony_ci&qspi_clk { 101562306a36Sopenharmony_ci bias-disable; /* Rely on Cr50 internal pulldown */ 101662306a36Sopenharmony_ci}; 101762306a36Sopenharmony_ci 101862306a36Sopenharmony_ci&qspi_data0 { 101962306a36Sopenharmony_ci bias-disable; /* Rely on Cr50 internal pulldown */ 102062306a36Sopenharmony_ci}; 102162306a36Sopenharmony_ci 102262306a36Sopenharmony_ci&qspi_data1 { 102362306a36Sopenharmony_ci bias-pull-down; 102462306a36Sopenharmony_ci}; 102562306a36Sopenharmony_ci 102662306a36Sopenharmony_ci&qup_i2c3_default { 102762306a36Sopenharmony_ci drive-strength = <2>; 102862306a36Sopenharmony_ci 102962306a36Sopenharmony_ci /* Has external pullup */ 103062306a36Sopenharmony_ci bias-disable; 103162306a36Sopenharmony_ci}; 103262306a36Sopenharmony_ci 103362306a36Sopenharmony_ci&qup_i2c11_default { 103462306a36Sopenharmony_ci drive-strength = <2>; 103562306a36Sopenharmony_ci 103662306a36Sopenharmony_ci /* Has external pullup */ 103762306a36Sopenharmony_ci bias-disable; 103862306a36Sopenharmony_ci}; 103962306a36Sopenharmony_ci 104062306a36Sopenharmony_ci&qup_i2c12_default { 104162306a36Sopenharmony_ci drive-strength = <2>; 104262306a36Sopenharmony_ci 104362306a36Sopenharmony_ci /* Has external pullup */ 104462306a36Sopenharmony_ci bias-disable; 104562306a36Sopenharmony_ci}; 104662306a36Sopenharmony_ci 104762306a36Sopenharmony_ci&qup_i2c14_default { 104862306a36Sopenharmony_ci drive-strength = <2>; 104962306a36Sopenharmony_ci 105062306a36Sopenharmony_ci /* Has external pullup */ 105162306a36Sopenharmony_ci bias-disable; 105262306a36Sopenharmony_ci}; 105362306a36Sopenharmony_ci 105462306a36Sopenharmony_ci&qup_spi0_default { 105562306a36Sopenharmony_ci drive-strength = <2>; 105662306a36Sopenharmony_ci bias-disable; 105762306a36Sopenharmony_ci}; 105862306a36Sopenharmony_ci 105962306a36Sopenharmony_ci&qup_spi5_default { 106062306a36Sopenharmony_ci drive-strength = <2>; 106162306a36Sopenharmony_ci bias-disable; 106262306a36Sopenharmony_ci}; 106362306a36Sopenharmony_ci 106462306a36Sopenharmony_ci&qup_spi10_default { 106562306a36Sopenharmony_ci drive-strength = <2>; 106662306a36Sopenharmony_ci bias-disable; 106762306a36Sopenharmony_ci}; 106862306a36Sopenharmony_ci 106962306a36Sopenharmony_ci&qup_uart9_rx { 107062306a36Sopenharmony_ci drive-strength = <2>; 107162306a36Sopenharmony_ci bias-pull-up; 107262306a36Sopenharmony_ci}; 107362306a36Sopenharmony_ci 107462306a36Sopenharmony_ci&qup_uart9_tx { 107562306a36Sopenharmony_ci drive-strength = <2>; 107662306a36Sopenharmony_ci bias-disable; 107762306a36Sopenharmony_ci}; 107862306a36Sopenharmony_ci 107962306a36Sopenharmony_ci/* PINCTRL - board-specific pinctrl */ 108062306a36Sopenharmony_ci&pm8005_gpios { 108162306a36Sopenharmony_ci gpio-line-names = "", 108262306a36Sopenharmony_ci "", 108362306a36Sopenharmony_ci "SLB", 108462306a36Sopenharmony_ci ""; 108562306a36Sopenharmony_ci}; 108662306a36Sopenharmony_ci 108762306a36Sopenharmony_ci&pm8998_adc { 108862306a36Sopenharmony_ci channel@4d { 108962306a36Sopenharmony_ci reg = <ADC5_AMUX_THM1_100K_PU>; 109062306a36Sopenharmony_ci label = "sdm_temp"; 109162306a36Sopenharmony_ci }; 109262306a36Sopenharmony_ci 109362306a36Sopenharmony_ci channel@4e { 109462306a36Sopenharmony_ci reg = <ADC5_AMUX_THM2_100K_PU>; 109562306a36Sopenharmony_ci label = "quiet_temp"; 109662306a36Sopenharmony_ci }; 109762306a36Sopenharmony_ci 109862306a36Sopenharmony_ci channel@4f { 109962306a36Sopenharmony_ci reg = <ADC5_AMUX_THM3_100K_PU>; 110062306a36Sopenharmony_ci label = "lte_temp_1"; 110162306a36Sopenharmony_ci }; 110262306a36Sopenharmony_ci 110362306a36Sopenharmony_ci channel@50 { 110462306a36Sopenharmony_ci reg = <ADC5_AMUX_THM4_100K_PU>; 110562306a36Sopenharmony_ci label = "lte_temp_2"; 110662306a36Sopenharmony_ci }; 110762306a36Sopenharmony_ci 110862306a36Sopenharmony_ci channel@51 { 110962306a36Sopenharmony_ci reg = <ADC5_AMUX_THM5_100K_PU>; 111062306a36Sopenharmony_ci label = "charger_temp"; 111162306a36Sopenharmony_ci }; 111262306a36Sopenharmony_ci}; 111362306a36Sopenharmony_ci 111462306a36Sopenharmony_ci&pm8998_gpios { 111562306a36Sopenharmony_ci gpio-line-names = "", 111662306a36Sopenharmony_ci "", 111762306a36Sopenharmony_ci "SW_CTRL", 111862306a36Sopenharmony_ci "", 111962306a36Sopenharmony_ci "", 112062306a36Sopenharmony_ci "", 112162306a36Sopenharmony_ci "", 112262306a36Sopenharmony_ci "", 112362306a36Sopenharmony_ci "", 112462306a36Sopenharmony_ci "", 112562306a36Sopenharmony_ci "", 112662306a36Sopenharmony_ci "", 112762306a36Sopenharmony_ci "", 112862306a36Sopenharmony_ci "", 112962306a36Sopenharmony_ci "", 113062306a36Sopenharmony_ci "", 113162306a36Sopenharmony_ci "", 113262306a36Sopenharmony_ci "", 113362306a36Sopenharmony_ci "", 113462306a36Sopenharmony_ci "", 113562306a36Sopenharmony_ci "", 113662306a36Sopenharmony_ci "CFG_OPT1", 113762306a36Sopenharmony_ci "WCSS_PWR_REQ", 113862306a36Sopenharmony_ci "", 113962306a36Sopenharmony_ci "CFG_OPT2", 114062306a36Sopenharmony_ci "SLB"; 114162306a36Sopenharmony_ci}; 114262306a36Sopenharmony_ci 114362306a36Sopenharmony_ci&tlmm { 114462306a36Sopenharmony_ci /* 114562306a36Sopenharmony_ci * pinctrl settings for pins that have no real owners. 114662306a36Sopenharmony_ci */ 114762306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 114862306a36Sopenharmony_ci pinctrl-0 = <&bios_flash_wp_r_l>, 114962306a36Sopenharmony_ci <&ap_suspend_l_deassert>; 115062306a36Sopenharmony_ci 115162306a36Sopenharmony_ci pinctrl-1 = <&bios_flash_wp_r_l>, 115262306a36Sopenharmony_ci <&ap_suspend_l_assert>; 115362306a36Sopenharmony_ci 115462306a36Sopenharmony_ci /* 115562306a36Sopenharmony_ci * Hogs prevent usermode from changing the value. A GPIO can be both 115662306a36Sopenharmony_ci * here and in the pinctrl section. 115762306a36Sopenharmony_ci */ 115862306a36Sopenharmony_ci ap-suspend-l-hog { 115962306a36Sopenharmony_ci gpio-hog; 116062306a36Sopenharmony_ci gpios = <126 GPIO_ACTIVE_LOW>; 116162306a36Sopenharmony_ci output-low; 116262306a36Sopenharmony_ci }; 116362306a36Sopenharmony_ci 116462306a36Sopenharmony_ci ap_edp_bklten: ap-edp-bklten-state { 116562306a36Sopenharmony_ci pins = "gpio37"; 116662306a36Sopenharmony_ci function = "gpio"; 116762306a36Sopenharmony_ci drive-strength = <2>; 116862306a36Sopenharmony_ci bias-disable; 116962306a36Sopenharmony_ci }; 117062306a36Sopenharmony_ci 117162306a36Sopenharmony_ci bios_flash_wp_r_l: bios-flash-wp-r-l-state { 117262306a36Sopenharmony_ci pins = "gpio128"; 117362306a36Sopenharmony_ci function = "gpio"; 117462306a36Sopenharmony_ci bias-disable; 117562306a36Sopenharmony_ci }; 117662306a36Sopenharmony_ci 117762306a36Sopenharmony_ci ec_ap_int_l: ec-ap-int-l-state { 117862306a36Sopenharmony_ci pins = "gpio122"; 117962306a36Sopenharmony_ci function = "gpio"; 118062306a36Sopenharmony_ci bias-pull-up; 118162306a36Sopenharmony_ci }; 118262306a36Sopenharmony_ci 118362306a36Sopenharmony_ci edp_brij_en: edp-brij-en-state { 118462306a36Sopenharmony_ci pins = "gpio102"; 118562306a36Sopenharmony_ci function = "gpio"; 118662306a36Sopenharmony_ci drive-strength = <2>; 118762306a36Sopenharmony_ci bias-disable; 118862306a36Sopenharmony_ci }; 118962306a36Sopenharmony_ci 119062306a36Sopenharmony_ci edp_brij_irq: edp-brij-irq-state { 119162306a36Sopenharmony_ci pins = "gpio10"; 119262306a36Sopenharmony_ci function = "gpio"; 119362306a36Sopenharmony_ci drive-strength = <2>; 119462306a36Sopenharmony_ci bias-pull-down; 119562306a36Sopenharmony_ci }; 119662306a36Sopenharmony_ci 119762306a36Sopenharmony_ci en_pp3300_dx_edp: en-pp3300-dx-edp-state { 119862306a36Sopenharmony_ci pins = "gpio43"; 119962306a36Sopenharmony_ci function = "gpio"; 120062306a36Sopenharmony_ci drive-strength = <2>; 120162306a36Sopenharmony_ci bias-disable; 120262306a36Sopenharmony_ci }; 120362306a36Sopenharmony_ci 120462306a36Sopenharmony_ci h1_ap_int_odl: h1-ap-int-odl-state { 120562306a36Sopenharmony_ci pins = "gpio129"; 120662306a36Sopenharmony_ci function = "gpio"; 120762306a36Sopenharmony_ci bias-pull-up; 120862306a36Sopenharmony_ci }; 120962306a36Sopenharmony_ci 121062306a36Sopenharmony_ci pen_eject_odl: pen-eject-odl-state { 121162306a36Sopenharmony_ci pins = "gpio119"; 121262306a36Sopenharmony_ci function = "gpio"; 121362306a36Sopenharmony_ci bias-pull-up; 121462306a36Sopenharmony_ci }; 121562306a36Sopenharmony_ci 121662306a36Sopenharmony_ci pen_irq_l: pen-irq-l-state { 121762306a36Sopenharmony_ci pins = "gpio24"; 121862306a36Sopenharmony_ci function = "gpio"; 121962306a36Sopenharmony_ci 122062306a36Sopenharmony_ci /* Has external pullup */ 122162306a36Sopenharmony_ci bias-disable; 122262306a36Sopenharmony_ci }; 122362306a36Sopenharmony_ci 122462306a36Sopenharmony_ci pen_pdct_l: pen-pdct-l-state { 122562306a36Sopenharmony_ci pins = "gpio63"; 122662306a36Sopenharmony_ci function = "gpio"; 122762306a36Sopenharmony_ci 122862306a36Sopenharmony_ci /* Has external pullup */ 122962306a36Sopenharmony_ci bias-disable; 123062306a36Sopenharmony_ci }; 123162306a36Sopenharmony_ci 123262306a36Sopenharmony_ci pen_rst_l: pen-rst-l-state { 123362306a36Sopenharmony_ci pins = "gpio23"; 123462306a36Sopenharmony_ci function = "gpio"; 123562306a36Sopenharmony_ci bias-disable; 123662306a36Sopenharmony_ci drive-strength = <2>; 123762306a36Sopenharmony_ci 123862306a36Sopenharmony_ci /* 123962306a36Sopenharmony_ci * The pen driver doesn't currently support 124062306a36Sopenharmony_ci * driving this reset line. By specifying 124162306a36Sopenharmony_ci * output-high here we're relying on the fact 124262306a36Sopenharmony_ci * that this pin has a default pulldown at boot 124362306a36Sopenharmony_ci * (which makes sure the pen was in reset if it 124462306a36Sopenharmony_ci * was powered) and then we set it high here to 124562306a36Sopenharmony_ci * take it out of reset. Better would be if the 124662306a36Sopenharmony_ci * pen driver could control this and we could 124762306a36Sopenharmony_ci * remove "output-high" here. 124862306a36Sopenharmony_ci */ 124962306a36Sopenharmony_ci output-high; 125062306a36Sopenharmony_ci }; 125162306a36Sopenharmony_ci 125262306a36Sopenharmony_ci qspi_sleep: qspi-sleep-state { 125362306a36Sopenharmony_ci pins = "gpio90", "gpio91", "gpio92", "gpio95"; 125462306a36Sopenharmony_ci 125562306a36Sopenharmony_ci /* 125662306a36Sopenharmony_ci * When we're not actively transferring we want pins as GPIOs 125762306a36Sopenharmony_ci * with output disabled so that the quad SPI IP block stops 125862306a36Sopenharmony_ci * driving them. We rely on the normal pulls configured in 125962306a36Sopenharmony_ci * the active state and don't redefine them here. Also note 126062306a36Sopenharmony_ci * that we don't need the reverse (output-enable) in the 126162306a36Sopenharmony_ci * normal mode since the "output-enable" only matters for 126262306a36Sopenharmony_ci * GPIO function. 126362306a36Sopenharmony_ci */ 126462306a36Sopenharmony_ci function = "gpio"; 126562306a36Sopenharmony_ci output-disable; 126662306a36Sopenharmony_ci }; 126762306a36Sopenharmony_ci 126862306a36Sopenharmony_ci sdc2_clk: sdc2-clk-state { 126962306a36Sopenharmony_ci pins = "sdc2_clk"; 127062306a36Sopenharmony_ci bias-disable; 127162306a36Sopenharmony_ci 127262306a36Sopenharmony_ci /* 127362306a36Sopenharmony_ci * It seems that mmc_test reports errors if drive 127462306a36Sopenharmony_ci * strength is not 16. 127562306a36Sopenharmony_ci */ 127662306a36Sopenharmony_ci drive-strength = <16>; 127762306a36Sopenharmony_ci }; 127862306a36Sopenharmony_ci 127962306a36Sopenharmony_ci sdc2_cmd: sdc2-cmd-state { 128062306a36Sopenharmony_ci pins = "sdc2_cmd"; 128162306a36Sopenharmony_ci bias-pull-up; 128262306a36Sopenharmony_ci drive-strength = <16>; 128362306a36Sopenharmony_ci }; 128462306a36Sopenharmony_ci 128562306a36Sopenharmony_ci sdc2_data: sdc2-data-state { 128662306a36Sopenharmony_ci pins = "sdc2_data"; 128762306a36Sopenharmony_ci bias-pull-up; 128862306a36Sopenharmony_ci drive-strength = <16>; 128962306a36Sopenharmony_ci }; 129062306a36Sopenharmony_ci 129162306a36Sopenharmony_ci sd_cd_odl: sd-cd-odl-state { 129262306a36Sopenharmony_ci pins = "gpio44"; 129362306a36Sopenharmony_ci function = "gpio"; 129462306a36Sopenharmony_ci bias-pull-up; 129562306a36Sopenharmony_ci }; 129662306a36Sopenharmony_ci 129762306a36Sopenharmony_ci ts_int_l: ts-int-l-state { 129862306a36Sopenharmony_ci pins = "gpio125"; 129962306a36Sopenharmony_ci function = "gpio"; 130062306a36Sopenharmony_ci bias-pull-up; 130162306a36Sopenharmony_ci }; 130262306a36Sopenharmony_ci 130362306a36Sopenharmony_ci ts_reset_l: ts-reset-l-state { 130462306a36Sopenharmony_ci pins = "gpio118"; 130562306a36Sopenharmony_ci function = "gpio"; 130662306a36Sopenharmony_ci bias-disable; 130762306a36Sopenharmony_ci drive-strength = <2>; 130862306a36Sopenharmony_ci }; 130962306a36Sopenharmony_ci 131062306a36Sopenharmony_ci ap_suspend_l_assert: ap-suspend-l-assert-state { 131162306a36Sopenharmony_ci pins = "gpio126"; 131262306a36Sopenharmony_ci function = "gpio"; 131362306a36Sopenharmony_ci bias-disable; 131462306a36Sopenharmony_ci drive-strength = <2>; 131562306a36Sopenharmony_ci output-low; 131662306a36Sopenharmony_ci }; 131762306a36Sopenharmony_ci 131862306a36Sopenharmony_ci ap_suspend_l_deassert: ap-suspend-l-deassert-state { 131962306a36Sopenharmony_ci pins = "gpio126"; 132062306a36Sopenharmony_ci function = "gpio"; 132162306a36Sopenharmony_ci bias-disable; 132262306a36Sopenharmony_ci drive-strength = <2>; 132362306a36Sopenharmony_ci output-high; 132462306a36Sopenharmony_ci }; 132562306a36Sopenharmony_ci}; 132662306a36Sopenharmony_ci 132762306a36Sopenharmony_ci&venus { 132862306a36Sopenharmony_ci status = "okay"; 132962306a36Sopenharmony_ci 133062306a36Sopenharmony_ci video-firmware { 133162306a36Sopenharmony_ci iommus = <&apps_smmu 0x10b2 0x0>; 133262306a36Sopenharmony_ci }; 133362306a36Sopenharmony_ci}; 1334