162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 762306a36Sopenharmony_ci#include "sm8250.dtsi" 862306a36Sopenharmony_ci#include "pm8150.dtsi" 962306a36Sopenharmony_ci#include "pm8150b.dtsi" 1062306a36Sopenharmony_ci#include "pm8150l.dtsi" 1162306a36Sopenharmony_ci#include "pm8009.dtsi" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/delete-node/ &adsp_mem; 1462306a36Sopenharmony_ci/delete-node/ &spss_mem; 1562306a36Sopenharmony_ci/delete-node/ &cdsp_secure_heap; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/ { 1862306a36Sopenharmony_ci qcom,msm-id = <356 0x20001>; /* SM8250 v2.1 */ 1962306a36Sopenharmony_ci qcom,board-id = <0x10008 0>; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci chosen { 2262306a36Sopenharmony_ci #address-cells = <2>; 2362306a36Sopenharmony_ci #size-cells = <2>; 2462306a36Sopenharmony_ci ranges; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci framebuffer: framebuffer@9c000000 { 2762306a36Sopenharmony_ci compatible = "simple-framebuffer"; 2862306a36Sopenharmony_ci reg = <0 0x9c000000 0 0x2300000>; 2962306a36Sopenharmony_ci /* pdx203 BL initializes in 2.5k mode, not 4k */ 3062306a36Sopenharmony_ci width = <1096>; 3162306a36Sopenharmony_ci height = <2560>; 3262306a36Sopenharmony_ci stride = <(1096 * 4)>; 3362306a36Sopenharmony_ci format = "a8r8g8b8"; 3462306a36Sopenharmony_ci /* 3562306a36Sopenharmony_ci * That's a lot of clocks, but it's necessary due 3662306a36Sopenharmony_ci * to unused clk cleanup & no panel driver yet.. 3762306a36Sopenharmony_ci */ 3862306a36Sopenharmony_ci clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 3962306a36Sopenharmony_ci <&gcc GCC_DISP_HF_AXI_CLK>, 4062306a36Sopenharmony_ci <&gcc GCC_DISP_SF_AXI_CLK>, 4162306a36Sopenharmony_ci <&dispcc DISP_CC_MDSS_VSYNC_CLK>, 4262306a36Sopenharmony_ci <&dispcc DISP_CC_MDSS_MDP_CLK>, 4362306a36Sopenharmony_ci <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 4462306a36Sopenharmony_ci <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 4562306a36Sopenharmony_ci <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 4662306a36Sopenharmony_ci <&dispcc DISP_CC_MDSS_ESC0_CLK>; 4762306a36Sopenharmony_ci power-domains = <&dispcc MDSS_GDSC>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci gpio_keys: gpio-keys { 5262306a36Sopenharmony_ci compatible = "gpio-keys"; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci pinctrl-0 = <&focus_n &snapshot_n &vol_down_n>; 5562306a36Sopenharmony_ci pinctrl-names = "default"; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci key-camera-focus { 5862306a36Sopenharmony_ci label = "Camera Focus"; 5962306a36Sopenharmony_ci linux,code = <KEY_CAMERA_FOCUS>; 6062306a36Sopenharmony_ci gpios = <&pm8150b_gpios 2 GPIO_ACTIVE_LOW>; 6162306a36Sopenharmony_ci debounce-interval = <15>; 6262306a36Sopenharmony_ci linux,can-disable; 6362306a36Sopenharmony_ci wakeup-source; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci key-camera-snapshot { 6762306a36Sopenharmony_ci label = "Camera Snapshot"; 6862306a36Sopenharmony_ci linux,code = <KEY_CAMERA>; 6962306a36Sopenharmony_ci gpios = <&pm8150b_gpios 1 GPIO_ACTIVE_LOW>; 7062306a36Sopenharmony_ci debounce-interval = <15>; 7162306a36Sopenharmony_ci linux,can-disable; 7262306a36Sopenharmony_ci wakeup-source; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci key-vol-down { 7662306a36Sopenharmony_ci label = "Volume Down"; 7762306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 7862306a36Sopenharmony_ci gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>; 7962306a36Sopenharmony_ci debounce-interval = <15>; 8062306a36Sopenharmony_ci linux,can-disable; 8162306a36Sopenharmony_ci wakeup-source; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci vph_pwr: vph-pwr-regulator { 8662306a36Sopenharmony_ci compatible = "regulator-fixed"; 8762306a36Sopenharmony_ci regulator-name = "vph_pwr"; 8862306a36Sopenharmony_ci regulator-min-microvolt = <3700000>; 8962306a36Sopenharmony_ci regulator-max-microvolt = <3700000>; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci /* S6c is really ebi.lvl but it's there for supply map completeness sake. */ 9362306a36Sopenharmony_ci vreg_s6c_0p88: smpc6-regulator { 9462306a36Sopenharmony_ci compatible = "regulator-fixed"; 9562306a36Sopenharmony_ci regulator-name = "vreg_s6c_0p88"; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 9862306a36Sopenharmony_ci regulator-max-microvolt = <880000>; 9962306a36Sopenharmony_ci regulator-always-on; 10062306a36Sopenharmony_ci vin-supply = <&vph_pwr>; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci reserved-memory { 10462306a36Sopenharmony_ci adsp_mem: memory@8a100000 { 10562306a36Sopenharmony_ci reg = <0x0 0x8a100000 0x0 0x2500000>; 10662306a36Sopenharmony_ci no-map; 10762306a36Sopenharmony_ci }; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci spss_mem: memory@8c600000 { 11062306a36Sopenharmony_ci reg = <0x0 0x8c600000 0x0 0x100000>; 11162306a36Sopenharmony_ci no-map; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci cdsp_secure_heap: memory@8c700000 { 11562306a36Sopenharmony_ci reg = <0x0 0x8c700000 0x0 0x4600000>; 11662306a36Sopenharmony_ci no-map; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci cont_splash_mem: memory@9c000000 { 12062306a36Sopenharmony_ci reg = <0x0 0x9c000000 0x0 0x2300000>; 12162306a36Sopenharmony_ci no-map; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci ramoops@ffc00000 { 12562306a36Sopenharmony_ci compatible = "ramoops"; 12662306a36Sopenharmony_ci reg = <0x0 0xffc00000 0x0 0x100000>; 12762306a36Sopenharmony_ci record-size = <0x1000>; 12862306a36Sopenharmony_ci console-size = <0x40000>; 12962306a36Sopenharmony_ci pmsg-size = <0x20000>; 13062306a36Sopenharmony_ci ecc-size = <16>; 13162306a36Sopenharmony_ci no-map; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci}; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci&adsp { 13762306a36Sopenharmony_ci status = "okay"; 13862306a36Sopenharmony_ci}; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci&apps_rsc { 14162306a36Sopenharmony_ci regulators-0 { 14262306a36Sopenharmony_ci compatible = "qcom,pm8150-rpmh-regulators"; 14362306a36Sopenharmony_ci qcom,pmic-id = "a"; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 14662306a36Sopenharmony_ci vdd-s2-supply = <&vph_pwr>; 14762306a36Sopenharmony_ci vdd-s3-supply = <&vph_pwr>; 14862306a36Sopenharmony_ci vdd-s4-supply = <&vph_pwr>; 14962306a36Sopenharmony_ci vdd-s5-supply = <&vph_pwr>; 15062306a36Sopenharmony_ci vdd-s6-supply = <&vph_pwr>; 15162306a36Sopenharmony_ci vdd-s7-supply = <&vph_pwr>; 15262306a36Sopenharmony_ci vdd-s8-supply = <&vph_pwr>; 15362306a36Sopenharmony_ci vdd-s9-supply = <&vph_pwr>; 15462306a36Sopenharmony_ci vdd-s10-supply = <&vph_pwr>; 15562306a36Sopenharmony_ci vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>; 15662306a36Sopenharmony_ci vdd-l2-l10-supply = <&vreg_bob>; 15762306a36Sopenharmony_ci vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p6>; 15862306a36Sopenharmony_ci vdd-l6-l9-supply = <&vreg_s8c_1p2>; 15962306a36Sopenharmony_ci vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; 16062306a36Sopenharmony_ci vdd-l13-l16-l17-supply = <&vreg_bob>; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci /* (S1+S2+S3) - cx.lvl (ARC) */ 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci vreg_s4a_1p8: smps4 { 16562306a36Sopenharmony_ci regulator-name = "vreg_s4a_1p8"; 16662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 16762306a36Sopenharmony_ci regulator-max-microvolt = <1920000>; 16862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci vreg_s5a_1p9: smps5 { 17262306a36Sopenharmony_ci regulator-name = "vreg_s5a_1p9"; 17362306a36Sopenharmony_ci regulator-min-microvolt = <1824000>; 17462306a36Sopenharmony_ci regulator-max-microvolt = <2040000>; 17562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci vreg_s6a_0p6: smps6 { 17962306a36Sopenharmony_ci regulator-name = "vreg_s6a_0p6"; 18062306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 18162306a36Sopenharmony_ci regulator-max-microvolt = <1128000>; 18262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci vreg_l2a_3p1: ldo2 { 18662306a36Sopenharmony_ci regulator-name = "vreg_l2a_3p1"; 18762306a36Sopenharmony_ci regulator-min-microvolt = <3072000>; 18862306a36Sopenharmony_ci regulator-max-microvolt = <3072000>; 18962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci vreg_l3a_0p9: ldo3 { 19362306a36Sopenharmony_ci regulator-name = "vreg_l3a_0p9"; 19462306a36Sopenharmony_ci regulator-min-microvolt = <928000>; 19562306a36Sopenharmony_ci regulator-max-microvolt = <932000>; 19662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci /* L4 - lmx.lvl (ARC) */ 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci vreg_l5a_0p88: ldo5 { 20262306a36Sopenharmony_ci regulator-name = "vreg_l5a_0p88"; 20362306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 20462306a36Sopenharmony_ci regulator-max-microvolt = <880000>; 20562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci vreg_l6a_1p2: ldo6 { 20962306a36Sopenharmony_ci regulator-name = "vreg_l6a_1p2"; 21062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 21162306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 21262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci /* L7 is unused. */ 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci vreg_l9a_1p2: ldo9 { 21862306a36Sopenharmony_ci regulator-name = "vreg_l9a_1p2"; 21962306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 22062306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 22162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci /* L10 is unused, L11 - lcx.lvl (ARC) */ 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci vreg_l12a_1p8: ldo12 { 22762306a36Sopenharmony_ci regulator-name = "vreg_l12a_1p8"; 22862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 22962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 23062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci /* L13 is unused. */ 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci vreg_l14a_1p8: ldo14 { 23662306a36Sopenharmony_ci regulator-name = "vreg_l14a_1p8"; 23762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 23862306a36Sopenharmony_ci regulator-max-microvolt = <1880000>; 23962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 24062306a36Sopenharmony_ci }; 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci /* L15 & L16 are unused. */ 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci vreg_l17a_3p0: ldo17 { 24562306a36Sopenharmony_ci regulator-name = "vreg_l17a_3p0"; 24662306a36Sopenharmony_ci regulator-min-microvolt = <2496000>; 24762306a36Sopenharmony_ci regulator-max-microvolt = <3008000>; 24862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 24962306a36Sopenharmony_ci }; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci vreg_l18a_0p9: ldo18 { 25262306a36Sopenharmony_ci regulator-name = "vreg_l18a_0p9"; 25362306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 25462306a36Sopenharmony_ci regulator-max-microvolt = <920000>; 25562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci /* 26062306a36Sopenharmony_ci * Remaining regulators that are not yet supported: 26162306a36Sopenharmony_ci * OLEDB: 4925000-8100000 26262306a36Sopenharmony_ci * ab: 4600000-6100000 26362306a36Sopenharmony_ci * ibb: 800000-5400000 26462306a36Sopenharmony_ci */ 26562306a36Sopenharmony_ci regulators-1 { 26662306a36Sopenharmony_ci compatible = "qcom,pm8150l-rpmh-regulators"; 26762306a36Sopenharmony_ci qcom,pmic-id = "c"; 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 27062306a36Sopenharmony_ci vdd-s2-supply = <&vph_pwr>; 27162306a36Sopenharmony_ci vdd-s3-supply = <&vph_pwr>; 27262306a36Sopenharmony_ci vdd-s4-supply = <&vph_pwr>; 27362306a36Sopenharmony_ci vdd-s5-supply = <&vph_pwr>; 27462306a36Sopenharmony_ci vdd-s6-supply = <&vph_pwr>; 27562306a36Sopenharmony_ci vdd-s7-supply = <&vph_pwr>; 27662306a36Sopenharmony_ci vdd-s8-supply = <&vph_pwr>; 27762306a36Sopenharmony_ci vdd-l1-l8-supply = <&vreg_s4a_1p8>; 27862306a36Sopenharmony_ci vdd-l2-l3-supply = <&vreg_s8c_1p2>; 27962306a36Sopenharmony_ci vdd-l4-l5-l6-supply = <&vreg_bob>; 28062306a36Sopenharmony_ci vdd-l7-l11-supply = <&vreg_bob>; 28162306a36Sopenharmony_ci vdd-l9-l10-supply = <&vreg_bob>; 28262306a36Sopenharmony_ci vdd-bob-supply = <&vph_pwr>; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci vreg_bob: bob { 28562306a36Sopenharmony_ci regulator-name = "vreg_bob"; 28662306a36Sopenharmony_ci regulator-min-microvolt = <3350000>; 28762306a36Sopenharmony_ci regulator-max-microvolt = <3960000>; 28862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci /* 29262306a36Sopenharmony_ci * S1-S6 are ARCs: 29362306a36Sopenharmony_ci * (S1+S2) - gfx.lvl, 29462306a36Sopenharmony_ci * S3 - mx.lvl, 29562306a36Sopenharmony_ci * (S4+S5) - mmcx.lvl, 29662306a36Sopenharmony_ci * S6 - ebi.lvl 29762306a36Sopenharmony_ci */ 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci vreg_s7c_0p35: smps7 { 30062306a36Sopenharmony_ci regulator-name = "vreg_s7c_0p35"; 30162306a36Sopenharmony_ci regulator-min-microvolt = <348000>; 30262306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 30362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 30462306a36Sopenharmony_ci }; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci vreg_s8c_1p2: smps8 { 30762306a36Sopenharmony_ci regulator-name = "vreg_s8c_1p2"; 30862306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 30962306a36Sopenharmony_ci regulator-max-microvolt = <1400000>; 31062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 31162306a36Sopenharmony_ci }; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci vreg_l1c_1p8: ldo1 { 31462306a36Sopenharmony_ci regulator-name = "vreg_l1c_1p8"; 31562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 31662306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 31762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 31862306a36Sopenharmony_ci }; 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ci /* L2-4 are unused. */ 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci vreg_l5c_1p8: ldo5 { 32362306a36Sopenharmony_ci regulator-name = "vreg_l5c_1p8"; 32462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 32562306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 32662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 32762306a36Sopenharmony_ci }; 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ci vreg_l6c_2p9: ldo6 { 33062306a36Sopenharmony_ci regulator-name = "vreg_l6c_2p9"; 33162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 33262306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 33362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 33462306a36Sopenharmony_ci regulator-allow-set-load; 33562306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 33662306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 33762306a36Sopenharmony_ci }; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci vreg_l7c_2p85: ldo7 { 34062306a36Sopenharmony_ci regulator-name = "vreg_l7c_2p85"; 34162306a36Sopenharmony_ci regulator-min-microvolt = <2856000>; 34262306a36Sopenharmony_ci regulator-max-microvolt = <3104000>; 34362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 34462306a36Sopenharmony_ci }; 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci vreg_l8c_1p8: ldo8 { 34762306a36Sopenharmony_ci regulator-name = "vreg_l8c_1p8"; 34862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 34962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 35062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 35162306a36Sopenharmony_ci }; 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ci vreg_l9c_2p9: ldo9 { 35462306a36Sopenharmony_ci regulator-name = "vreg_l9c_2p9"; 35562306a36Sopenharmony_ci regulator-min-microvolt = <2704000>; 35662306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 35762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 35862306a36Sopenharmony_ci regulator-allow-set-load; 35962306a36Sopenharmony_ci regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 36062306a36Sopenharmony_ci RPMH_REGULATOR_MODE_HPM>; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci vreg_l10c_3p3: ldo10 { 36462306a36Sopenharmony_ci regulator-name = "vreg_l10c_3p3"; 36562306a36Sopenharmony_ci regulator-min-microvolt = <3296000>; 36662306a36Sopenharmony_ci regulator-max-microvolt = <3296000>; 36762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 36862306a36Sopenharmony_ci }; 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_ci vreg_l11c_3p0: ldo11 { 37162306a36Sopenharmony_ci regulator-name = "vreg_l11c_3p0"; 37262306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 37362306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 37462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 37562306a36Sopenharmony_ci }; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci regulators-2 { 37962306a36Sopenharmony_ci compatible = "qcom,pm8009-rpmh-regulators"; 38062306a36Sopenharmony_ci qcom,pmic-id = "f"; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci vdd-s1-supply = <&vph_pwr>; 38362306a36Sopenharmony_ci vdd-s2-supply = <&vreg_bob>; 38462306a36Sopenharmony_ci vdd-l2-supply = <&vreg_s8c_1p2>; 38562306a36Sopenharmony_ci vdd-l5-l6-supply = <&vreg_bob>; 38662306a36Sopenharmony_ci vdd-l7-supply = <&vreg_s4a_1p8>; 38762306a36Sopenharmony_ci 38862306a36Sopenharmony_ci vreg_s1f_1p2: smps1 { 38962306a36Sopenharmony_ci regulator-name = "vreg_s1f_1p2"; 39062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 39162306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 39262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci vreg_s2f_0p5: smps2 { 39662306a36Sopenharmony_ci regulator-name = "vreg_s2f_0p5"; 39762306a36Sopenharmony_ci regulator-min-microvolt = <512000>; 39862306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 39962306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 40062306a36Sopenharmony_ci }; 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci /* L1 is unused. */ 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci vreg_l2f_1p3: ldo2 { 40562306a36Sopenharmony_ci regulator-name = "vreg_l2f_1p3"; 40662306a36Sopenharmony_ci regulator-min-microvolt = <1304000>; 40762306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 40862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 40962306a36Sopenharmony_ci }; 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci /* L3 & L4 are unused. */ 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci vreg_l5f_2p8: ldo5 { 41462306a36Sopenharmony_ci regulator-name = "vreg_l5f_2p85"; 41562306a36Sopenharmony_ci regulator-min-microvolt = <2800000>; 41662306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 41762306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 41862306a36Sopenharmony_ci }; 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ci vreg_l6f_2p8: ldo6 { 42162306a36Sopenharmony_ci regulator-name = "vreg_l6f_2p8"; 42262306a36Sopenharmony_ci regulator-min-microvolt = <2800000>; 42362306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 42462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 42562306a36Sopenharmony_ci }; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci vreg_l7f_1p8: ldo7 { 42862306a36Sopenharmony_ci regulator-name = "vreg_l7f_1p8"; 42962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 43062306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 43162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 43262306a36Sopenharmony_ci }; 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci}; 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci&cdsp { 43762306a36Sopenharmony_ci status = "okay"; 43862306a36Sopenharmony_ci}; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci&gpi_dma0 { 44162306a36Sopenharmony_ci status = "okay"; 44262306a36Sopenharmony_ci}; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci&gpi_dma1 { 44562306a36Sopenharmony_ci status = "okay"; 44662306a36Sopenharmony_ci}; 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci&gpi_dma2 { 44962306a36Sopenharmony_ci status = "okay"; 45062306a36Sopenharmony_ci}; 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ci&i2c1 { 45362306a36Sopenharmony_ci status = "okay"; 45462306a36Sopenharmony_ci clock-frequency = <400000>; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci nfc@28 { 45762306a36Sopenharmony_ci compatible = "nxp,nxp-nci-i2c"; 45862306a36Sopenharmony_ci reg = <0x28>; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 46162306a36Sopenharmony_ci interrupts = <111 IRQ_TYPE_EDGE_RISING>; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci enable-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; 46462306a36Sopenharmony_ci firmware-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci}; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci&i2c2 { 46962306a36Sopenharmony_ci status = "okay"; 47062306a36Sopenharmony_ci clock-frequency = <1000000>; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci cs35l41_l: speaker-amp@40 { 47362306a36Sopenharmony_ci compatible = "cirrus,cs35l41"; 47462306a36Sopenharmony_ci reg = <0x40>; 47562306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 47662306a36Sopenharmony_ci interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 47762306a36Sopenharmony_ci reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; 47862306a36Sopenharmony_ci cirrus,boost-peak-milliamp = <4000>; 47962306a36Sopenharmony_ci cirrus,boost-ind-nanohenry = <1000>; 48062306a36Sopenharmony_ci cirrus,boost-cap-microfarad = <15>; 48162306a36Sopenharmony_ci cirrus,asp-sdout-hiz = <3>; 48262306a36Sopenharmony_ci cirrus,gpio2-src-select = <2>; 48362306a36Sopenharmony_ci cirrus,gpio2-output-enable; 48462306a36Sopenharmony_ci #sound-dai-cells = <1>; 48562306a36Sopenharmony_ci }; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci cs35l41_r: speaker-amp@41 { 48862306a36Sopenharmony_ci compatible = "cirrus,cs35l41"; 48962306a36Sopenharmony_ci reg = <0x41>; 49062306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 49162306a36Sopenharmony_ci interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 49262306a36Sopenharmony_ci reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; 49362306a36Sopenharmony_ci cirrus,boost-peak-milliamp = <4000>; 49462306a36Sopenharmony_ci cirrus,boost-ind-nanohenry = <1000>; 49562306a36Sopenharmony_ci cirrus,boost-cap-microfarad = <15>; 49662306a36Sopenharmony_ci cirrus,asp-sdout-hiz = <3>; 49762306a36Sopenharmony_ci cirrus,gpio2-src-select = <2>; 49862306a36Sopenharmony_ci cirrus,gpio2-output-enable; 49962306a36Sopenharmony_ci #sound-dai-cells = <1>; 50062306a36Sopenharmony_ci }; 50162306a36Sopenharmony_ci}; 50262306a36Sopenharmony_ci 50362306a36Sopenharmony_ci&i2c9 { 50462306a36Sopenharmony_ci status = "okay"; 50562306a36Sopenharmony_ci clock-frequency = <400000>; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci /* AMS TCS3490 RGB+IR color sensor @ 72 */ 50862306a36Sopenharmony_ci}; 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ci&i2c13 { 51162306a36Sopenharmony_ci status = "okay"; 51262306a36Sopenharmony_ci clock-frequency = <400000>; 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci touchscreen@48 { 51562306a36Sopenharmony_ci compatible = "samsung,s6sy761"; 51662306a36Sopenharmony_ci reg = <0x48>; 51762306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 51862306a36Sopenharmony_ci interrupts = <39 0x2008>; 51962306a36Sopenharmony_ci /* It's "vddio" downstream but it works anyway! */ 52062306a36Sopenharmony_ci vdd-supply = <&vreg_l1c_1p8>; 52162306a36Sopenharmony_ci avdd-supply = <&vreg_l10c_3p3>; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci pinctrl-names = "default"; 52462306a36Sopenharmony_ci pinctrl-0 = <&ts_int_default>; 52562306a36Sopenharmony_ci }; 52662306a36Sopenharmony_ci}; 52762306a36Sopenharmony_ci 52862306a36Sopenharmony_ci&i2c15 { 52962306a36Sopenharmony_ci status = "okay"; 53062306a36Sopenharmony_ci clock-frequency = <400000>; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci /* Qcom SMB1390 @ 10 */ 53362306a36Sopenharmony_ci /* Qcom SMB1390_slave @ 18 */ 53462306a36Sopenharmony_ci /* HALO HL6111R Qi charger @ 25 */ 53562306a36Sopenharmony_ci}; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci&pcie0 { 53862306a36Sopenharmony_ci status = "okay"; 53962306a36Sopenharmony_ci}; 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ci&pcie0_phy { 54262306a36Sopenharmony_ci status = "okay"; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci vdda-phy-supply = <&vreg_l5a_0p88>; 54562306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l9a_1p2>; 54662306a36Sopenharmony_ci}; 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci&pcie2 { 54962306a36Sopenharmony_ci status = "okay"; 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_ci pinctrl-0 = <&pcie2_default_state &mdm2ap_default &ap2mdm_default>; 55262306a36Sopenharmony_ci}; 55362306a36Sopenharmony_ci 55462306a36Sopenharmony_ci&pcie2_phy { 55562306a36Sopenharmony_ci status = "okay"; 55662306a36Sopenharmony_ci 55762306a36Sopenharmony_ci vdda-phy-supply = <&vreg_l5a_0p88>; 55862306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l9a_1p2>; 55962306a36Sopenharmony_ci}; 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci&pm8150_gpios { 56262306a36Sopenharmony_ci vol_down_n: vol-down-n-state { 56362306a36Sopenharmony_ci pins = "gpio1"; 56462306a36Sopenharmony_ci function = "normal"; 56562306a36Sopenharmony_ci power-source = <0>; 56662306a36Sopenharmony_ci bias-pull-up; 56762306a36Sopenharmony_ci input-enable; 56862306a36Sopenharmony_ci }; 56962306a36Sopenharmony_ci}; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci&pm8150b_gpios { 57262306a36Sopenharmony_ci snapshot_n: snapshot-n-state { 57362306a36Sopenharmony_ci pins = "gpio1"; 57462306a36Sopenharmony_ci function = "normal"; 57562306a36Sopenharmony_ci power-source = <0>; 57662306a36Sopenharmony_ci bias-pull-up; 57762306a36Sopenharmony_ci input-enable; 57862306a36Sopenharmony_ci }; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci focus_n: focus-n-state { 58162306a36Sopenharmony_ci pins = "gpio2"; 58262306a36Sopenharmony_ci function = "normal"; 58362306a36Sopenharmony_ci power-source = <0>; 58462306a36Sopenharmony_ci bias-pull-up; 58562306a36Sopenharmony_ci input-enable; 58662306a36Sopenharmony_ci }; 58762306a36Sopenharmony_ci}; 58862306a36Sopenharmony_ci 58962306a36Sopenharmony_ci&pon_pwrkey { 59062306a36Sopenharmony_ci status = "okay"; 59162306a36Sopenharmony_ci}; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci&pon_resin { 59462306a36Sopenharmony_ci status = "okay"; 59562306a36Sopenharmony_ci 59662306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 59762306a36Sopenharmony_ci}; 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci&qupv3_id_0 { 60062306a36Sopenharmony_ci status = "okay"; 60162306a36Sopenharmony_ci}; 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_ci&qupv3_id_1 { 60462306a36Sopenharmony_ci status = "okay"; 60562306a36Sopenharmony_ci}; 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_ci&qupv3_id_2 { 60862306a36Sopenharmony_ci status = "okay"; 60962306a36Sopenharmony_ci}; 61062306a36Sopenharmony_ci 61162306a36Sopenharmony_ci&sdhc_2 { 61262306a36Sopenharmony_ci status = "okay"; 61362306a36Sopenharmony_ci 61462306a36Sopenharmony_ci cd-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>; 61562306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 61662306a36Sopenharmony_ci pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; 61762306a36Sopenharmony_ci pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>; 61862306a36Sopenharmony_ci vmmc-supply = <&vreg_l9c_2p9>; 61962306a36Sopenharmony_ci vqmmc-supply = <&vreg_l6c_2p9>; 62062306a36Sopenharmony_ci bus-width = <4>; 62162306a36Sopenharmony_ci no-sdio; 62262306a36Sopenharmony_ci no-mmc; 62362306a36Sopenharmony_ci}; 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci&slpi { 62662306a36Sopenharmony_ci status = "okay"; 62762306a36Sopenharmony_ci}; 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci&tlmm { 63062306a36Sopenharmony_ci gpio-reserved-ranges = <40 4>, <52 4>; 63162306a36Sopenharmony_ci 63262306a36Sopenharmony_ci sdc2_default_state: sdc2-default-state { 63362306a36Sopenharmony_ci clk-pins { 63462306a36Sopenharmony_ci pins = "sdc2_clk"; 63562306a36Sopenharmony_ci drive-strength = <16>; 63662306a36Sopenharmony_ci bias-disable; 63762306a36Sopenharmony_ci }; 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_ci cmd-pins { 64062306a36Sopenharmony_ci pins = "sdc2_cmd"; 64162306a36Sopenharmony_ci drive-strength = <16>; 64262306a36Sopenharmony_ci bias-pull-up; 64362306a36Sopenharmony_ci }; 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_ci data-pins { 64662306a36Sopenharmony_ci pins = "sdc2_data"; 64762306a36Sopenharmony_ci drive-strength = <16>; 64862306a36Sopenharmony_ci bias-pull-up; 64962306a36Sopenharmony_ci }; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci mdm2ap_default: mdm2ap-default-state { 65362306a36Sopenharmony_ci pins = "gpio1", "gpio3"; 65462306a36Sopenharmony_ci function = "gpio"; 65562306a36Sopenharmony_ci drive-strength = <8>; 65662306a36Sopenharmony_ci bias-disable; 65762306a36Sopenharmony_ci }; 65862306a36Sopenharmony_ci 65962306a36Sopenharmony_ci ts_int_default: ts-int-default-state { 66062306a36Sopenharmony_ci pins = "gpio39"; 66162306a36Sopenharmony_ci function = "gpio"; 66262306a36Sopenharmony_ci drive-strength = <2>; 66362306a36Sopenharmony_ci bias-disable; 66462306a36Sopenharmony_ci }; 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ci ap2mdm_default: ap2mdm-default-state { 66762306a36Sopenharmony_ci pins = "gpio56", "gpio57"; 66862306a36Sopenharmony_ci function = "gpio"; 66962306a36Sopenharmony_ci drive-strength = <16>; 67062306a36Sopenharmony_ci bias-disable; 67162306a36Sopenharmony_ci }; 67262306a36Sopenharmony_ci 67362306a36Sopenharmony_ci sdc2_card_det_n: sd-card-det-n-state { 67462306a36Sopenharmony_ci pins = "gpio77"; 67562306a36Sopenharmony_ci function = "gpio"; 67662306a36Sopenharmony_ci bias-pull-up; 67762306a36Sopenharmony_ci drive-strength = <2>; 67862306a36Sopenharmony_ci }; 67962306a36Sopenharmony_ci}; 68062306a36Sopenharmony_ci 68162306a36Sopenharmony_ci&uart12 { 68262306a36Sopenharmony_ci status = "okay"; 68362306a36Sopenharmony_ci}; 68462306a36Sopenharmony_ci 68562306a36Sopenharmony_ci/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */ 68662306a36Sopenharmony_ci&ufs_mem_hc { status = "disabled"; }; 68762306a36Sopenharmony_ci&ufs_mem_phy { status = "disabled"; }; 68862306a36Sopenharmony_ci 68962306a36Sopenharmony_ci&usb_1 { 69062306a36Sopenharmony_ci status = "okay"; 69162306a36Sopenharmony_ci}; 69262306a36Sopenharmony_ci 69362306a36Sopenharmony_ci&usb_1_dwc3 { 69462306a36Sopenharmony_ci dr_mode = "peripheral"; 69562306a36Sopenharmony_ci}; 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_ci&usb_1_hsphy { 69862306a36Sopenharmony_ci status = "okay"; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l5a_0p88>; 70162306a36Sopenharmony_ci vdda18-supply = <&vreg_l12a_1p8>; 70262306a36Sopenharmony_ci vdda33-supply = <&vreg_l2a_3p1>; 70362306a36Sopenharmony_ci}; 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_ci&usb_1_qmpphy { 70662306a36Sopenharmony_ci status = "okay"; 70762306a36Sopenharmony_ci 70862306a36Sopenharmony_ci vdda-phy-supply = <&vreg_l9a_1p2>; 70962306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l18a_0p9>; 71062306a36Sopenharmony_ci}; 71162306a36Sopenharmony_ci 71262306a36Sopenharmony_ci&venus { 71362306a36Sopenharmony_ci firmware-name = "qcom/sm8250/Sony/edo/venus.mbn"; 71462306a36Sopenharmony_ci status = "okay"; 71562306a36Sopenharmony_ci}; 716