162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Samsung Galaxy Book2 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2022, Xilin Wu <strongtz@yeah.net> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 1162306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h> 1262306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1362306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 1462306a36Sopenharmony_ci#include <dt-bindings/sound/qcom,q6afe.h> 1562306a36Sopenharmony_ci#include <dt-bindings/sound/qcom,q6asm.h> 1662306a36Sopenharmony_ci#include "sdm850.dtsi" 1762306a36Sopenharmony_ci#include "sdm845-wcd9340.dtsi" 1862306a36Sopenharmony_ci#include "pm8998.dtsi" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* 2162306a36Sopenharmony_ci * Update following upstream (sdm845.dtsi) reserved 2262306a36Sopenharmony_ci * memory mappings for firmware loading to succeed 2362306a36Sopenharmony_ci */ 2462306a36Sopenharmony_ci/delete-node/ &qseecom_mem; 2562306a36Sopenharmony_ci/delete-node/ &wlan_msa_mem; 2662306a36Sopenharmony_ci/delete-node/ &slpi_mem; 2762306a36Sopenharmony_ci/delete-node/ &ipa_fw_mem; 2862306a36Sopenharmony_ci/delete-node/ &ipa_gsi_mem; 2962306a36Sopenharmony_ci/delete-node/ &gpu_mem; 3062306a36Sopenharmony_ci/delete-node/ &mpss_region; 3162306a36Sopenharmony_ci/delete-node/ &adsp_mem; 3262306a36Sopenharmony_ci/delete-node/ &cdsp_mem; 3362306a36Sopenharmony_ci/delete-node/ &venus_mem; 3462306a36Sopenharmony_ci/delete-node/ &mba_region; 3562306a36Sopenharmony_ci/delete-node/ &spss_mem; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci/ { 3862306a36Sopenharmony_ci model = "Samsung Galaxy Book2"; 3962306a36Sopenharmony_ci compatible = "samsung,w737", "qcom,sdm845"; 4062306a36Sopenharmony_ci chassis-type = "convertible"; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci chosen { 4362306a36Sopenharmony_ci #address-cells = <2>; 4462306a36Sopenharmony_ci #size-cells = <2>; 4562306a36Sopenharmony_ci ranges; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci /* Firmware initialized the display at 1280p instead of 1440p */ 4862306a36Sopenharmony_ci framebuffer0: framebuffer@80400000 { 4962306a36Sopenharmony_ci compatible = "simple-framebuffer"; 5062306a36Sopenharmony_ci reg = <0 0x80400000 0 (1920 * 1280 * 4)>; 5162306a36Sopenharmony_ci width = <1920>; 5262306a36Sopenharmony_ci height = <1280>; 5362306a36Sopenharmony_ci stride = <(1920 * 4)>; 5462306a36Sopenharmony_ci format = "a8r8g8b8"; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci aliases { 5962306a36Sopenharmony_ci serial1 = &uart6; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci /* Reserved memory changes */ 6362306a36Sopenharmony_ci reserved-memory { 6462306a36Sopenharmony_ci /* Bootloader display framebuffer region */ 6562306a36Sopenharmony_ci cont_splash_mem: memory@80400000 { 6662306a36Sopenharmony_ci reg = <0x0 0x80400000 0x0 0x960000>; 6762306a36Sopenharmony_ci no-map; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci qseecom_mem: memory@8b500000 { 7162306a36Sopenharmony_ci reg = <0 0x8b500000 0 0xa00000>; 7262306a36Sopenharmony_ci no-map; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci wlan_msa_mem: memory@8c400000 { 7662306a36Sopenharmony_ci reg = <0 0x8c400000 0 0x100000>; 7762306a36Sopenharmony_ci no-map; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci slpi_mem: memory@8c500000 { 8162306a36Sopenharmony_ci reg = <0 0x8c500000 0 0x1200000>; 8262306a36Sopenharmony_ci no-map; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci ipa_fw_mem: memory@8d700000 { 8662306a36Sopenharmony_ci reg = <0 0x8d700000 0 0x100000>; 8762306a36Sopenharmony_ci no-map; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci gpu_mem: memory@8d800000 { 9162306a36Sopenharmony_ci reg = <0 0x8d800000 0 0x5000>; 9262306a36Sopenharmony_ci no-map; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci mpss_region: memory@8e000000 { 9662306a36Sopenharmony_ci reg = <0 0x8e000000 0 0x8000000>; 9762306a36Sopenharmony_ci no-map; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci adsp_mem: memory@96000000 { 10162306a36Sopenharmony_ci reg = <0 0x96000000 0 0x2000000>; 10262306a36Sopenharmony_ci no-map; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci cdsp_mem: memory@98000000 { 10662306a36Sopenharmony_ci reg = <0 0x98000000 0 0x800000>; 10762306a36Sopenharmony_ci no-map; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci venus_mem: memory@98800000 { 11162306a36Sopenharmony_ci reg = <0 0x98800000 0 0x500000>; 11262306a36Sopenharmony_ci no-map; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci mba_region: memory@98d00000 { 11662306a36Sopenharmony_ci reg = <0 0x98d00000 0 0x200000>; 11762306a36Sopenharmony_ci no-map; 11862306a36Sopenharmony_ci }; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci spss_mem: memory@98f00000 { 12162306a36Sopenharmony_ci reg = <0 0x98f00000 0 0x100000>; 12262306a36Sopenharmony_ci no-map; 12362306a36Sopenharmony_ci }; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci}; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci&adsp_pas { 12862306a36Sopenharmony_ci firmware-name = "qcom/sdm850/samsung/w737/qcadsp850.mbn"; 12962306a36Sopenharmony_ci status = "okay"; 13062306a36Sopenharmony_ci}; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci&apps_rsc { 13362306a36Sopenharmony_ci regulators-0 { 13462306a36Sopenharmony_ci compatible = "qcom,pm8998-rpmh-regulators"; 13562306a36Sopenharmony_ci qcom,pmic-id = "a"; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 13862306a36Sopenharmony_ci vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci vreg_s2a_1p125: smps2 { 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci vreg_s3a_1p35: smps3 { 14462306a36Sopenharmony_ci regulator-min-microvolt = <1352000>; 14562306a36Sopenharmony_ci regulator-max-microvolt = <1352000>; 14662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci vreg_s4a_1p8: smps4 { 15062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 15162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 15262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci vreg_s5a_2p04: smps5 { 15662306a36Sopenharmony_ci regulator-min-microvolt = <2040000>; 15762306a36Sopenharmony_ci regulator-max-microvolt = <2040000>; 15862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci vreg_s7a_1p025: smps7 { 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci vdd_qusb_hs0: 16562306a36Sopenharmony_ci vdda_hp_pcie_core: 16662306a36Sopenharmony_ci vdda_mipi_csi0_0p9: 16762306a36Sopenharmony_ci vdda_mipi_csi1_0p9: 16862306a36Sopenharmony_ci vdda_mipi_csi2_0p9: 16962306a36Sopenharmony_ci vdda_mipi_dsi0_pll: 17062306a36Sopenharmony_ci vdda_mipi_dsi1_pll: 17162306a36Sopenharmony_ci vdda_qlink_lv: 17262306a36Sopenharmony_ci vdda_qlink_lv_ck: 17362306a36Sopenharmony_ci vdda_qrefs_0p875: 17462306a36Sopenharmony_ci vdda_pcie_core: 17562306a36Sopenharmony_ci vdda_pll_cc_ebi01: 17662306a36Sopenharmony_ci vdda_pll_cc_ebi23: 17762306a36Sopenharmony_ci vdda_sp_sensor: 17862306a36Sopenharmony_ci vdda_ufs1_core: 17962306a36Sopenharmony_ci vdda_ufs2_core: 18062306a36Sopenharmony_ci vdda_usb1_ss_core: 18162306a36Sopenharmony_ci vdda_usb2_ss_core: 18262306a36Sopenharmony_ci vreg_l1a_0p875: ldo1 { 18362306a36Sopenharmony_ci regulator-min-microvolt = <880000>; 18462306a36Sopenharmony_ci regulator-max-microvolt = <880000>; 18562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci vddpx_10: 18962306a36Sopenharmony_ci vreg_l2a_1p2: ldo2 { 19062306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 19162306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 19262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 19362306a36Sopenharmony_ci regulator-always-on; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci vreg_l3a_1p0: ldo3 { 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci vdd_wcss_cx: 20062306a36Sopenharmony_ci vdd_wcss_mx: 20162306a36Sopenharmony_ci vdda_wcss_pll: 20262306a36Sopenharmony_ci vreg_l5a_0p8: ldo5 { 20362306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 20462306a36Sopenharmony_ci regulator-max-microvolt = <800000>; 20562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci vddpx_13: 20962306a36Sopenharmony_ci vreg_l6a_1p8: ldo6 { 21062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 21162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 21262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci vreg_l7a_1p8: ldo7 { 21662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 21762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 21862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci vreg_l8a_1p2: ldo8 { 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci vreg_l9a_1p8: ldo9 { 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci vreg_l10a_1p8: ldo10 { 22862306a36Sopenharmony_ci }; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci vreg_l11a_1p0: ldo11 { 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci vdd_qfprom: 23462306a36Sopenharmony_ci vdd_qfprom_sp: 23562306a36Sopenharmony_ci vdda_apc1_cs_1p8: 23662306a36Sopenharmony_ci vdda_gfx_cs_1p8: 23762306a36Sopenharmony_ci vdda_qrefs_1p8: 23862306a36Sopenharmony_ci vdda_qusb_hs0_1p8: 23962306a36Sopenharmony_ci vddpx_11: 24062306a36Sopenharmony_ci vreg_l12a_1p8: ldo12 { 24162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 24262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 24362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci vddpx_2: 24762306a36Sopenharmony_ci vreg_l13a_2p95: ldo13 { 24862306a36Sopenharmony_ci }; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci vreg_l14a_1p88: ldo14 { 25162306a36Sopenharmony_ci regulator-min-microvolt = <1880000>; 25262306a36Sopenharmony_ci regulator-max-microvolt = <1880000>; 25362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 25462306a36Sopenharmony_ci regulator-always-on; 25562306a36Sopenharmony_ci }; 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ci vreg_l15a_1p8: ldo15 { 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci vreg_l16a_2p7: ldo16 { 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci vreg_l17a_1p3: ldo17 { 26462306a36Sopenharmony_ci regulator-min-microvolt = <1304000>; 26562306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 26662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 26762306a36Sopenharmony_ci }; 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci vreg_l18a_1p8: ldo18 { 27062306a36Sopenharmony_ci }; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci vreg_l19a_3p0: ldo19 { 27362306a36Sopenharmony_ci regulator-min-microvolt = <3100000>; 27462306a36Sopenharmony_ci regulator-max-microvolt = <3108000>; 27562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 27662306a36Sopenharmony_ci }; 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci vreg_l20a_2p95: ldo20 { 27962306a36Sopenharmony_ci regulator-min-microvolt = <2960000>; 28062306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 28162306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 28262306a36Sopenharmony_ci }; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci vreg_l21a_2p95: ldo21 { 28562306a36Sopenharmony_ci }; 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci vreg_l22a_2p85: ldo22 { 28862306a36Sopenharmony_ci }; 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ci vreg_l23a_3p3: ldo23 { 29162306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 29262306a36Sopenharmony_ci regulator-max-microvolt = <3312000>; 29362306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 29462306a36Sopenharmony_ci }; 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci vdda_qusb_hs0_3p1: 29762306a36Sopenharmony_ci vreg_l24a_3p075: ldo24 { 29862306a36Sopenharmony_ci regulator-min-microvolt = <3075000>; 29962306a36Sopenharmony_ci regulator-max-microvolt = <3083000>; 30062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 30162306a36Sopenharmony_ci }; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci vreg_l25a_3p3: ldo25 { 30462306a36Sopenharmony_ci regulator-min-microvolt = <3104000>; 30562306a36Sopenharmony_ci regulator-max-microvolt = <3112000>; 30662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci vdda_hp_pcie_1p2: 31062306a36Sopenharmony_ci vdda_hv_ebi0: 31162306a36Sopenharmony_ci vdda_hv_ebi1: 31262306a36Sopenharmony_ci vdda_hv_ebi2: 31362306a36Sopenharmony_ci vdda_hv_ebi3: 31462306a36Sopenharmony_ci vdda_mipi_csi_1p25: 31562306a36Sopenharmony_ci vdda_mipi_dsi0_1p2: 31662306a36Sopenharmony_ci vdda_mipi_dsi1_1p2: 31762306a36Sopenharmony_ci vdda_pcie_1p2: 31862306a36Sopenharmony_ci vdda_ufs1_1p2: 31962306a36Sopenharmony_ci vdda_ufs2_1p2: 32062306a36Sopenharmony_ci vdda_usb1_ss_1p2: 32162306a36Sopenharmony_ci vdda_usb2_ss_1p2: 32262306a36Sopenharmony_ci vreg_l26a_1p2: ldo26 { 32362306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 32462306a36Sopenharmony_ci regulator-max-microvolt = <1208000>; 32562306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 32662306a36Sopenharmony_ci }; 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ci vreg_l28a_3p0: ldo28 { 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci vreg_lvs1a_1p8: lvs1 { 33262306a36Sopenharmony_ci }; 33362306a36Sopenharmony_ci 33462306a36Sopenharmony_ci vreg_lvs2a_1p8: lvs2 { 33562306a36Sopenharmony_ci }; 33662306a36Sopenharmony_ci }; 33762306a36Sopenharmony_ci}; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci&cdsp_pas { 34062306a36Sopenharmony_ci firmware-name = "qcom/sdm850/samsung/w737/qccdsp850.mbn"; 34162306a36Sopenharmony_ci status = "okay"; 34262306a36Sopenharmony_ci}; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci&gcc { 34562306a36Sopenharmony_ci protected-clocks = <GCC_QSPI_CORE_CLK>, 34662306a36Sopenharmony_ci <GCC_QSPI_CORE_CLK_SRC>, 34762306a36Sopenharmony_ci <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 34862306a36Sopenharmony_ci <GCC_LPASS_Q6_AXI_CLK>, 34962306a36Sopenharmony_ci <GCC_LPASS_SWAY_CLK>; 35062306a36Sopenharmony_ci}; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci&i2c10 { 35362306a36Sopenharmony_ci status = "okay"; 35462306a36Sopenharmony_ci clock-frequency = <400000>; 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci /* SN65DSI86 @ 0x2c */ 35762306a36Sopenharmony_ci /* The panel requires dual DSI, which is not supported by the bridge driver */ 35862306a36Sopenharmony_ci}; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci&i2c11 { 36162306a36Sopenharmony_ci status = "okay"; 36262306a36Sopenharmony_ci clock-frequency = <400000>; 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_ci /* HID-I2C Touchscreen @ 0x20 */ 36562306a36Sopenharmony_ci}; 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci&i2c15 { 36862306a36Sopenharmony_ci status = "okay"; 36962306a36Sopenharmony_ci clock-frequency = <400000>; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci digitizer@9 { 37262306a36Sopenharmony_ci compatible = "wacom,w9013", "hid-over-i2c"; 37362306a36Sopenharmony_ci reg = <0x9>; 37462306a36Sopenharmony_ci pinctrl-names = "default"; 37562306a36Sopenharmony_ci pinctrl-0 = <&pen_irq_l>, <&pen_pdct_l>, <&pen_rst_l>; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci post-power-on-delay-ms = <120>; 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 38062306a36Sopenharmony_ci interrupts = <119 IRQ_TYPE_LEVEL_LOW>; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci hid-descr-addr = <0x1>; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci}; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci&ipa { 38762306a36Sopenharmony_ci qcom,gsi-loader = "self"; 38862306a36Sopenharmony_ci memory-region = <&ipa_fw_mem>; 38962306a36Sopenharmony_ci firmware-name = "qcom/sdm850/samsung/w737/ipa_fws.elf"; 39062306a36Sopenharmony_ci status = "okay"; 39162306a36Sopenharmony_ci}; 39262306a36Sopenharmony_ci 39362306a36Sopenharmony_ci/* No idea why it causes an SError when enabled */ 39462306a36Sopenharmony_ci&llcc { 39562306a36Sopenharmony_ci status = "disabled"; 39662306a36Sopenharmony_ci}; 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci&mss_pil { 39962306a36Sopenharmony_ci status = "okay"; 40062306a36Sopenharmony_ci firmware-name = "qcom/sdm850/samsung/w737/qcdsp1v2850.mbn", "qcom/sdm850/samsung/w737/qcdsp2850.mbn"; 40162306a36Sopenharmony_ci}; 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ci&qup_i2c10_default { 40462306a36Sopenharmony_ci drive-strength = <2>; 40562306a36Sopenharmony_ci bias-disable; 40662306a36Sopenharmony_ci}; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci&qup_i2c11_default { 40962306a36Sopenharmony_ci drive-strength = <2>; 41062306a36Sopenharmony_ci bias-disable; 41162306a36Sopenharmony_ci}; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci&qup_i2c12_default { 41462306a36Sopenharmony_ci drive-strength = <2>; 41562306a36Sopenharmony_ci bias-disable; 41662306a36Sopenharmony_ci}; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci&qupv3_id_0 { 41962306a36Sopenharmony_ci status = "okay"; 42062306a36Sopenharmony_ci}; 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci&qupv3_id_1 { 42362306a36Sopenharmony_ci status = "okay"; 42462306a36Sopenharmony_ci}; 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci&q6asmdai { 42762306a36Sopenharmony_ci dai@0 { 42862306a36Sopenharmony_ci reg = <0>; 42962306a36Sopenharmony_ci }; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci dai@1 { 43262306a36Sopenharmony_ci reg = <1>; 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci dai@2 { 43662306a36Sopenharmony_ci reg = <2>; 43762306a36Sopenharmony_ci }; 43862306a36Sopenharmony_ci}; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci&sound { 44162306a36Sopenharmony_ci compatible = "qcom,sdm845-sndcard"; 44262306a36Sopenharmony_ci model = "Samsung-W737"; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci audio-routing = 44562306a36Sopenharmony_ci "RX_BIAS", "MCLK", 44662306a36Sopenharmony_ci "AMIC2", "MIC BIAS2", 44762306a36Sopenharmony_ci "SpkrLeft IN", "SPK1 OUT", 44862306a36Sopenharmony_ci "SpkrRight IN", "SPK2 OUT", 44962306a36Sopenharmony_ci "MM_DL1", "MultiMedia1 Playback", 45062306a36Sopenharmony_ci "MM_DL3", "MultiMedia3 Playback", 45162306a36Sopenharmony_ci "MultiMedia2 Capture", "MM_UL2"; 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_ci mm1-dai-link { 45462306a36Sopenharmony_ci link-name = "MultiMedia1"; 45562306a36Sopenharmony_ci cpu { 45662306a36Sopenharmony_ci sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 45762306a36Sopenharmony_ci }; 45862306a36Sopenharmony_ci }; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci mm2-dai-link { 46162306a36Sopenharmony_ci link-name = "MultiMedia2"; 46262306a36Sopenharmony_ci cpu { 46362306a36Sopenharmony_ci sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 46462306a36Sopenharmony_ci }; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_ci mm3-dai-link { 46862306a36Sopenharmony_ci link-name = "MultiMedia3"; 46962306a36Sopenharmony_ci cpu { 47062306a36Sopenharmony_ci sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 47162306a36Sopenharmony_ci }; 47262306a36Sopenharmony_ci }; 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci slim-dai-link { 47562306a36Sopenharmony_ci link-name = "SLIM Playback"; 47662306a36Sopenharmony_ci cpu { 47762306a36Sopenharmony_ci sound-dai = <&q6afedai SLIMBUS_0_RX>; 47862306a36Sopenharmony_ci }; 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci platform { 48162306a36Sopenharmony_ci sound-dai = <&q6routing>; 48262306a36Sopenharmony_ci }; 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_ci codec { 48562306a36Sopenharmony_ci sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 48662306a36Sopenharmony_ci }; 48762306a36Sopenharmony_ci }; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci slimcap-dai-link { 49062306a36Sopenharmony_ci link-name = "SLIM Capture"; 49162306a36Sopenharmony_ci cpu { 49262306a36Sopenharmony_ci sound-dai = <&q6afedai SLIMBUS_0_TX>; 49362306a36Sopenharmony_ci }; 49462306a36Sopenharmony_ci 49562306a36Sopenharmony_ci platform { 49662306a36Sopenharmony_ci sound-dai = <&q6routing>; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci codec { 50062306a36Sopenharmony_ci sound-dai = <&wcd9340 1>; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci slim-wcd-dai-link { 50562306a36Sopenharmony_ci link-name = "SLIM WCD Playback"; 50662306a36Sopenharmony_ci cpu { 50762306a36Sopenharmony_ci sound-dai = <&q6afedai SLIMBUS_1_RX>; 50862306a36Sopenharmony_ci }; 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ci platform { 51162306a36Sopenharmony_ci sound-dai = <&q6routing>; 51262306a36Sopenharmony_ci }; 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci codec { 51562306a36Sopenharmony_ci sound-dai = <&wcd9340 2>; 51662306a36Sopenharmony_ci }; 51762306a36Sopenharmony_ci }; 51862306a36Sopenharmony_ci}; 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_ci&tlmm { 52162306a36Sopenharmony_ci gpio-reserved-ranges = <0 6>, <85 4>; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci pen_irq_l: pen-irq-l-state { 52462306a36Sopenharmony_ci pins = "gpio119"; 52562306a36Sopenharmony_ci function = "gpio"; 52662306a36Sopenharmony_ci bias-disable; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci pen_pdct_l: pen-pdct-l-state { 53062306a36Sopenharmony_ci pins = "gpio124"; 53162306a36Sopenharmony_ci function = "gpio"; 53262306a36Sopenharmony_ci bias-disable; 53362306a36Sopenharmony_ci drive-strength = <2>; 53462306a36Sopenharmony_ci output-high; 53562306a36Sopenharmony_ci }; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci pen_rst_l: pen-rst-l-state { 53862306a36Sopenharmony_ci pins = "gpio21"; 53962306a36Sopenharmony_ci function = "gpio"; 54062306a36Sopenharmony_ci bias-disable; 54162306a36Sopenharmony_ci drive-strength = <2>; 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ci /* 54462306a36Sopenharmony_ci * The pen driver doesn't currently support 54562306a36Sopenharmony_ci * driving this reset line. By specifying 54662306a36Sopenharmony_ci * output-high here we're relying on the fact 54762306a36Sopenharmony_ci * that this pin has a default pulldown at boot 54862306a36Sopenharmony_ci * (which makes sure the pen was in reset if it 54962306a36Sopenharmony_ci * was powered) and then we set it high here to 55062306a36Sopenharmony_ci * take it out of reset. Better would be if the 55162306a36Sopenharmony_ci * pen driver could control this and we could 55262306a36Sopenharmony_ci * remove "output-high" here. 55362306a36Sopenharmony_ci */ 55462306a36Sopenharmony_ci output-high; 55562306a36Sopenharmony_ci }; 55662306a36Sopenharmony_ci}; 55762306a36Sopenharmony_ci 55862306a36Sopenharmony_ci&uart6 { 55962306a36Sopenharmony_ci pinctrl-names = "default"; 56062306a36Sopenharmony_ci pinctrl-0 = <&qup_uart6_4pin>; 56162306a36Sopenharmony_ci status = "okay"; 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci bluetooth { 56462306a36Sopenharmony_ci compatible = "qcom,wcn3990-bt"; 56562306a36Sopenharmony_ci 56662306a36Sopenharmony_ci vddio-supply = <&vreg_s4a_1p8>; 56762306a36Sopenharmony_ci vddxo-supply = <&vreg_l7a_1p8>; 56862306a36Sopenharmony_ci vddrf-supply = <&vreg_l17a_1p3>; 56962306a36Sopenharmony_ci vddch0-supply = <&vreg_l25a_3p3>; 57062306a36Sopenharmony_ci vddch1-supply = <&vreg_l23a_3p3>; 57162306a36Sopenharmony_ci max-speed = <3200000>; 57262306a36Sopenharmony_ci }; 57362306a36Sopenharmony_ci}; 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ci&ufs_mem_hc { 57662306a36Sopenharmony_ci status = "okay"; 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ci reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci vcc-supply = <&vreg_l20a_2p95>; 58162306a36Sopenharmony_ci vcc-max-microamp = <600000>; 58262306a36Sopenharmony_ci}; 58362306a36Sopenharmony_ci 58462306a36Sopenharmony_ci&ufs_mem_phy { 58562306a36Sopenharmony_ci status = "okay"; 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_ci vdda-phy-supply = <&vdda_ufs1_core>; 58862306a36Sopenharmony_ci vdda-pll-supply = <&vdda_ufs1_1p2>; 58962306a36Sopenharmony_ci}; 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ci&usb_1 { 59262306a36Sopenharmony_ci status = "okay"; 59362306a36Sopenharmony_ci}; 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci&usb_1_dwc3 { 59662306a36Sopenharmony_ci dr_mode = "host"; 59762306a36Sopenharmony_ci}; 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci&usb_1_hsphy { 60062306a36Sopenharmony_ci status = "okay"; 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_ci vdd-supply = <&vdda_usb1_ss_core>; 60362306a36Sopenharmony_ci vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 60462306a36Sopenharmony_ci vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci qcom,imp-res-offset-value = <8>; 60762306a36Sopenharmony_ci qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 60862306a36Sopenharmony_ci qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 60962306a36Sopenharmony_ci qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 61062306a36Sopenharmony_ci}; 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci&usb_1_qmpphy { 61362306a36Sopenharmony_ci status = "okay"; 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_ci vdda-phy-supply = <&vdda_usb1_ss_1p2>; 61662306a36Sopenharmony_ci vdda-pll-supply = <&vdda_usb1_ss_core>; 61762306a36Sopenharmony_ci}; 61862306a36Sopenharmony_ci 61962306a36Sopenharmony_ci&usb_2 { 62062306a36Sopenharmony_ci status = "okay"; 62162306a36Sopenharmony_ci}; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_ci&usb_2_dwc3 { 62462306a36Sopenharmony_ci dr_mode = "host"; 62562306a36Sopenharmony_ci}; 62662306a36Sopenharmony_ci 62762306a36Sopenharmony_ci&usb_2_hsphy { 62862306a36Sopenharmony_ci status = "okay"; 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci vdd-supply = <&vdda_usb2_ss_core>; 63162306a36Sopenharmony_ci vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 63262306a36Sopenharmony_ci vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci qcom,imp-res-offset-value = <8>; 63562306a36Sopenharmony_ci qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 63662306a36Sopenharmony_ci}; 63762306a36Sopenharmony_ci 63862306a36Sopenharmony_ci&usb_2_qmpphy { 63962306a36Sopenharmony_ci status = "okay"; 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_ci vdda-phy-supply = <&vdda_usb2_ss_1p2>; 64262306a36Sopenharmony_ci vdda-pll-supply = <&vdda_usb2_ss_core>; 64362306a36Sopenharmony_ci}; 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_ci&venus { 64662306a36Sopenharmony_ci status = "okay"; 64762306a36Sopenharmony_ci firmware-name = "qcom/sdm850/samsung/w737/qcvss850.mbn"; 64862306a36Sopenharmony_ci}; 64962306a36Sopenharmony_ci 65062306a36Sopenharmony_ci&wcd9340 { 65162306a36Sopenharmony_ci reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 65262306a36Sopenharmony_ci vdd-buck-supply = <&vreg_s4a_1p8>; 65362306a36Sopenharmony_ci vdd-buck-sido-supply = <&vreg_s4a_1p8>; 65462306a36Sopenharmony_ci vdd-tx-supply = <&vreg_s4a_1p8>; 65562306a36Sopenharmony_ci vdd-rx-supply = <&vreg_s4a_1p8>; 65662306a36Sopenharmony_ci vdd-io-supply = <&vreg_s4a_1p8>; 65762306a36Sopenharmony_ci qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 65862306a36Sopenharmony_ci qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 65962306a36Sopenharmony_ci qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 66062306a36Sopenharmony_ci 66162306a36Sopenharmony_ci swm: swm@c85 { 66262306a36Sopenharmony_ci left_spkr: speaker@0,3 { 66362306a36Sopenharmony_ci compatible = "sdw10217211000"; 66462306a36Sopenharmony_ci reg = <0 3>; 66562306a36Sopenharmony_ci powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>; 66662306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 66762306a36Sopenharmony_ci sound-name-prefix = "SpkrLeft"; 66862306a36Sopenharmony_ci #sound-dai-cells = <0>; 66962306a36Sopenharmony_ci }; 67062306a36Sopenharmony_ci 67162306a36Sopenharmony_ci right_spkr: speaker@0,4 { 67262306a36Sopenharmony_ci compatible = "sdw10217211000"; 67362306a36Sopenharmony_ci powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>; 67462306a36Sopenharmony_ci reg = <0 4>; 67562306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 67662306a36Sopenharmony_ci sound-name-prefix = "SpkrRight"; 67762306a36Sopenharmony_ci #sound-dai-cells = <0>; 67862306a36Sopenharmony_ci }; 67962306a36Sopenharmony_ci }; 68062306a36Sopenharmony_ci}; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci&wifi { 68362306a36Sopenharmony_ci status = "okay"; 68462306a36Sopenharmony_ci 68562306a36Sopenharmony_ci vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 68662306a36Sopenharmony_ci vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 68762306a36Sopenharmony_ci vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 68862306a36Sopenharmony_ci vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 68962306a36Sopenharmony_ci vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ci qcom,snoc-host-cap-8bit-quirk; 69262306a36Sopenharmony_ci}; 693