1d4b34126SXilin Wu// SPDX-License-Identifier: BSD-3-Clause 2d4b34126SXilin Wu/* 3d4b34126SXilin Wu * Samsung Galaxy Book2 4d4b34126SXilin Wu * 5d4b34126SXilin Wu * Copyright (c) 2022, Xilin Wu <strongtz@yeah.net> 6d4b34126SXilin Wu */ 7d4b34126SXilin Wu 8d4b34126SXilin Wu/dts-v1/; 9d4b34126SXilin Wu 10d4b34126SXilin Wu#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 11d4b34126SXilin Wu#include <dt-bindings/input/gpio-keys.h> 12d4b34126SXilin Wu#include <dt-bindings/input/input.h> 13d4b34126SXilin Wu#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 14d4b34126SXilin Wu#include <dt-bindings/sound/qcom,q6afe.h> 15d4b34126SXilin Wu#include <dt-bindings/sound/qcom,q6asm.h> 16d4b34126SXilin Wu#include "sdm850.dtsi" 1734c86173SKrzysztof Kozlowski#include "sdm845-wcd9340.dtsi" 18d4b34126SXilin Wu#include "pm8998.dtsi" 19d4b34126SXilin Wu 20d4b34126SXilin Wu/* 21d4b34126SXilin Wu * Update following upstream (sdm845.dtsi) reserved 22d4b34126SXilin Wu * memory mappings for firmware loading to succeed 23d4b34126SXilin Wu */ 24d4b34126SXilin Wu/delete-node/ &qseecom_mem; 25d4b34126SXilin Wu/delete-node/ &wlan_msa_mem; 26d4b34126SXilin Wu/delete-node/ &slpi_mem; 27d4b34126SXilin Wu/delete-node/ &ipa_fw_mem; 28d4b34126SXilin Wu/delete-node/ &ipa_gsi_mem; 29d4b34126SXilin Wu/delete-node/ &gpu_mem; 30d4b34126SXilin Wu/delete-node/ &mpss_region; 31d4b34126SXilin Wu/delete-node/ &adsp_mem; 32d4b34126SXilin Wu/delete-node/ &cdsp_mem; 33d4b34126SXilin Wu/delete-node/ &venus_mem; 34d4b34126SXilin Wu/delete-node/ &mba_region; 35d4b34126SXilin Wu/delete-node/ &spss_mem; 36d4b34126SXilin Wu 37d4b34126SXilin Wu/ { 38d4b34126SXilin Wu model = "Samsung Galaxy Book2"; 39d4b34126SXilin Wu compatible = "samsung,w737", "qcom,sdm845"; 40d4b34126SXilin Wu chassis-type = "convertible"; 41d4b34126SXilin Wu 42d4b34126SXilin Wu chosen { 43d4b34126SXilin Wu #address-cells = <2>; 44d4b34126SXilin Wu #size-cells = <2>; 45d4b34126SXilin Wu ranges; 46d4b34126SXilin Wu 4710816289SKonrad Dybcio /* Firmware initialized the display at 1280p instead of 1440p */ 48d4b34126SXilin Wu framebuffer0: framebuffer@80400000 { 49d4b34126SXilin Wu compatible = "simple-framebuffer"; 50d4b34126SXilin Wu reg = <0 0x80400000 0 (1920 * 1280 * 4)>; 51d4b34126SXilin Wu width = <1920>; 52d4b34126SXilin Wu height = <1280>; 53d4b34126SXilin Wu stride = <(1920 * 4)>; 54d4b34126SXilin Wu format = "a8r8g8b8"; 55d4b34126SXilin Wu }; 56d4b34126SXilin Wu }; 57d4b34126SXilin Wu 58d4b34126SXilin Wu aliases { 59*2c2f83d9SCaleb Connolly serial1 = &uart6; 60d4b34126SXilin Wu }; 61d4b34126SXilin Wu 62d4b34126SXilin Wu /* Reserved memory changes */ 63d4b34126SXilin Wu reserved-memory { 64d4b34126SXilin Wu /* Bootloader display framebuffer region */ 65d4b34126SXilin Wu cont_splash_mem: memory@80400000 { 66d4b34126SXilin Wu reg = <0x0 0x80400000 0x0 0x960000>; 67d4b34126SXilin Wu no-map; 68d4b34126SXilin Wu }; 69d4b34126SXilin Wu 70d4b34126SXilin Wu qseecom_mem: memory@8b500000 { 71d4b34126SXilin Wu reg = <0 0x8b500000 0 0xa00000>; 72d4b34126SXilin Wu no-map; 73d4b34126SXilin Wu }; 74d4b34126SXilin Wu 75d4b34126SXilin Wu wlan_msa_mem: memory@8c400000 { 76d4b34126SXilin Wu reg = <0 0x8c400000 0 0x100000>; 77d4b34126SXilin Wu no-map; 78d4b34126SXilin Wu }; 79d4b34126SXilin Wu 80d4b34126SXilin Wu slpi_mem: memory@8c500000 { 81d4b34126SXilin Wu reg = <0 0x8c500000 0 0x1200000>; 82d4b34126SXilin Wu no-map; 83d4b34126SXilin Wu }; 84d4b34126SXilin Wu 85d4b34126SXilin Wu ipa_fw_mem: memory@8d700000 { 86d4b34126SXilin Wu reg = <0 0x8d700000 0 0x100000>; 87d4b34126SXilin Wu no-map; 88d4b34126SXilin Wu }; 89d4b34126SXilin Wu 90d4b34126SXilin Wu gpu_mem: memory@8d800000 { 91d4b34126SXilin Wu reg = <0 0x8d800000 0 0x5000>; 92d4b34126SXilin Wu no-map; 93d4b34126SXilin Wu }; 94d4b34126SXilin Wu 95d4b34126SXilin Wu mpss_region: memory@8e000000 { 96d4b34126SXilin Wu reg = <0 0x8e000000 0 0x8000000>; 97d4b34126SXilin Wu no-map; 98d4b34126SXilin Wu }; 99d4b34126SXilin Wu 100d4b34126SXilin Wu adsp_mem: memory@96000000 { 101d4b34126SXilin Wu reg = <0 0x96000000 0 0x2000000>; 102d4b34126SXilin Wu no-map; 103d4b34126SXilin Wu }; 104d4b34126SXilin Wu 105d4b34126SXilin Wu cdsp_mem: memory@98000000 { 106d4b34126SXilin Wu reg = <0 0x98000000 0 0x800000>; 107d4b34126SXilin Wu no-map; 108d4b34126SXilin Wu }; 109d4b34126SXilin Wu 110d4b34126SXilin Wu venus_mem: memory@98800000 { 111d4b34126SXilin Wu reg = <0 0x98800000 0 0x500000>; 112d4b34126SXilin Wu no-map; 113d4b34126SXilin Wu }; 114d4b34126SXilin Wu 115d4b34126SXilin Wu mba_region: memory@98d00000 { 116d4b34126SXilin Wu reg = <0 0x98d00000 0 0x200000>; 117d4b34126SXilin Wu no-map; 118d4b34126SXilin Wu }; 119d4b34126SXilin Wu 120d4b34126SXilin Wu spss_mem: memory@98f00000 { 121d4b34126SXilin Wu reg = <0 0x98f00000 0 0x100000>; 122d4b34126SXilin Wu no-map; 123d4b34126SXilin Wu }; 124d4b34126SXilin Wu }; 125d4b34126SXilin Wu}; 126d4b34126SXilin Wu 127d4b34126SXilin Wu&adsp_pas { 1287d1473d7SDmitry Baryshkov firmware-name = "qcom/sdm850/samsung/w737/qcadsp850.mbn"; 129d4b34126SXilin Wu status = "okay"; 130d4b34126SXilin Wu}; 131d4b34126SXilin Wu 132d4b34126SXilin Wu&apps_rsc { 13386dd19bbSKrzysztof Kozlowski regulators-0 { 134d4b34126SXilin Wu compatible = "qcom,pm8998-rpmh-regulators"; 135d4b34126SXilin Wu qcom,pmic-id = "a"; 136d4b34126SXilin Wu 137d4b34126SXilin Wu vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 138d4b34126SXilin Wu vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 139d4b34126SXilin Wu 140d4b34126SXilin Wu vreg_s2a_1p125: smps2 { 141d4b34126SXilin Wu }; 142d4b34126SXilin Wu 143d4b34126SXilin Wu vreg_s3a_1p35: smps3 { 144d4b34126SXilin Wu regulator-min-microvolt = <1352000>; 145d4b34126SXilin Wu regulator-max-microvolt = <1352000>; 146d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 147d4b34126SXilin Wu }; 148d4b34126SXilin Wu 149d4b34126SXilin Wu vreg_s4a_1p8: smps4 { 150d4b34126SXilin Wu regulator-min-microvolt = <1800000>; 151d4b34126SXilin Wu regulator-max-microvolt = <1800000>; 152d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 153d4b34126SXilin Wu }; 154d4b34126SXilin Wu 155d4b34126SXilin Wu vreg_s5a_2p04: smps5 { 156d4b34126SXilin Wu regulator-min-microvolt = <2040000>; 157d4b34126SXilin Wu regulator-max-microvolt = <2040000>; 158d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 159d4b34126SXilin Wu }; 160d4b34126SXilin Wu 161d4b34126SXilin Wu vreg_s7a_1p025: smps7 { 162d4b34126SXilin Wu }; 163d4b34126SXilin Wu 164d4b34126SXilin Wu vdd_qusb_hs0: 165d4b34126SXilin Wu vdda_hp_pcie_core: 166d4b34126SXilin Wu vdda_mipi_csi0_0p9: 167d4b34126SXilin Wu vdda_mipi_csi1_0p9: 168d4b34126SXilin Wu vdda_mipi_csi2_0p9: 169d4b34126SXilin Wu vdda_mipi_dsi0_pll: 170d4b34126SXilin Wu vdda_mipi_dsi1_pll: 171d4b34126SXilin Wu vdda_qlink_lv: 172d4b34126SXilin Wu vdda_qlink_lv_ck: 173d4b34126SXilin Wu vdda_qrefs_0p875: 174d4b34126SXilin Wu vdda_pcie_core: 175d4b34126SXilin Wu vdda_pll_cc_ebi01: 176d4b34126SXilin Wu vdda_pll_cc_ebi23: 177d4b34126SXilin Wu vdda_sp_sensor: 178d4b34126SXilin Wu vdda_ufs1_core: 179d4b34126SXilin Wu vdda_ufs2_core: 180d4b34126SXilin Wu vdda_usb1_ss_core: 181d4b34126SXilin Wu vdda_usb2_ss_core: 182d4b34126SXilin Wu vreg_l1a_0p875: ldo1 { 183d4b34126SXilin Wu regulator-min-microvolt = <880000>; 184d4b34126SXilin Wu regulator-max-microvolt = <880000>; 185d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 186d4b34126SXilin Wu }; 187d4b34126SXilin Wu 188d4b34126SXilin Wu vddpx_10: 189d4b34126SXilin Wu vreg_l2a_1p2: ldo2 { 190d4b34126SXilin Wu regulator-min-microvolt = <1200000>; 191d4b34126SXilin Wu regulator-max-microvolt = <1200000>; 192d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 193d4b34126SXilin Wu regulator-always-on; 194d4b34126SXilin Wu }; 195d4b34126SXilin Wu 196d4b34126SXilin Wu vreg_l3a_1p0: ldo3 { 197d4b34126SXilin Wu }; 198d4b34126SXilin Wu 199d4b34126SXilin Wu vdd_wcss_cx: 200d4b34126SXilin Wu vdd_wcss_mx: 201d4b34126SXilin Wu vdda_wcss_pll: 202d4b34126SXilin Wu vreg_l5a_0p8: ldo5 { 203d4b34126SXilin Wu regulator-min-microvolt = <800000>; 204d4b34126SXilin Wu regulator-max-microvolt = <800000>; 205d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 206d4b34126SXilin Wu }; 207d4b34126SXilin Wu 208d4b34126SXilin Wu vddpx_13: 209d4b34126SXilin Wu vreg_l6a_1p8: ldo6 { 210d4b34126SXilin Wu regulator-min-microvolt = <1800000>; 211d4b34126SXilin Wu regulator-max-microvolt = <1800000>; 212d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 213d4b34126SXilin Wu }; 214d4b34126SXilin Wu 215d4b34126SXilin Wu vreg_l7a_1p8: ldo7 { 216d4b34126SXilin Wu regulator-min-microvolt = <1800000>; 217d4b34126SXilin Wu regulator-max-microvolt = <1800000>; 218d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 219d4b34126SXilin Wu }; 220d4b34126SXilin Wu 221d4b34126SXilin Wu vreg_l8a_1p2: ldo8 { 222d4b34126SXilin Wu }; 223d4b34126SXilin Wu 224d4b34126SXilin Wu vreg_l9a_1p8: ldo9 { 225d4b34126SXilin Wu }; 226d4b34126SXilin Wu 227d4b34126SXilin Wu vreg_l10a_1p8: ldo10 { 228d4b34126SXilin Wu }; 229d4b34126SXilin Wu 230d4b34126SXilin Wu vreg_l11a_1p0: ldo11 { 231d4b34126SXilin Wu }; 232d4b34126SXilin Wu 233d4b34126SXilin Wu vdd_qfprom: 234d4b34126SXilin Wu vdd_qfprom_sp: 235d4b34126SXilin Wu vdda_apc1_cs_1p8: 236d4b34126SXilin Wu vdda_gfx_cs_1p8: 237d4b34126SXilin Wu vdda_qrefs_1p8: 238d4b34126SXilin Wu vdda_qusb_hs0_1p8: 239d4b34126SXilin Wu vddpx_11: 240d4b34126SXilin Wu vreg_l12a_1p8: ldo12 { 241d4b34126SXilin Wu regulator-min-microvolt = <1800000>; 242d4b34126SXilin Wu regulator-max-microvolt = <1800000>; 243d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 244d4b34126SXilin Wu }; 245d4b34126SXilin Wu 246d4b34126SXilin Wu vddpx_2: 247d4b34126SXilin Wu vreg_l13a_2p95: ldo13 { 248d4b34126SXilin Wu }; 249d4b34126SXilin Wu 250d4b34126SXilin Wu vreg_l14a_1p88: ldo14 { 251d4b34126SXilin Wu regulator-min-microvolt = <1880000>; 252d4b34126SXilin Wu regulator-max-microvolt = <1880000>; 253d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 254d4b34126SXilin Wu regulator-always-on; 255d4b34126SXilin Wu }; 256d4b34126SXilin Wu 257d4b34126SXilin Wu vreg_l15a_1p8: ldo15 { 258d4b34126SXilin Wu }; 259d4b34126SXilin Wu 260d4b34126SXilin Wu vreg_l16a_2p7: ldo16 { 261d4b34126SXilin Wu }; 262d4b34126SXilin Wu 263d4b34126SXilin Wu vreg_l17a_1p3: ldo17 { 264d4b34126SXilin Wu regulator-min-microvolt = <1304000>; 265d4b34126SXilin Wu regulator-max-microvolt = <1304000>; 266d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 267d4b34126SXilin Wu }; 268d4b34126SXilin Wu 269d4b34126SXilin Wu vreg_l18a_1p8: ldo18 { 270d4b34126SXilin Wu }; 271d4b34126SXilin Wu 272d4b34126SXilin Wu vreg_l19a_3p0: ldo19 { 273d4b34126SXilin Wu regulator-min-microvolt = <3100000>; 274d4b34126SXilin Wu regulator-max-microvolt = <3108000>; 275d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 276d4b34126SXilin Wu }; 277d4b34126SXilin Wu 278d4b34126SXilin Wu vreg_l20a_2p95: ldo20 { 279d4b34126SXilin Wu regulator-min-microvolt = <2960000>; 280d4b34126SXilin Wu regulator-max-microvolt = <2960000>; 281d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 282d4b34126SXilin Wu }; 283d4b34126SXilin Wu 284d4b34126SXilin Wu vreg_l21a_2p95: ldo21 { 285d4b34126SXilin Wu }; 286d4b34126SXilin Wu 287d4b34126SXilin Wu vreg_l22a_2p85: ldo22 { 288d4b34126SXilin Wu }; 289d4b34126SXilin Wu 290d4b34126SXilin Wu vreg_l23a_3p3: ldo23 { 291d4b34126SXilin Wu regulator-min-microvolt = <3300000>; 292d4b34126SXilin Wu regulator-max-microvolt = <3312000>; 293d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 294d4b34126SXilin Wu }; 295d4b34126SXilin Wu 296d4b34126SXilin Wu vdda_qusb_hs0_3p1: 297d4b34126SXilin Wu vreg_l24a_3p075: ldo24 { 298d4b34126SXilin Wu regulator-min-microvolt = <3075000>; 299d4b34126SXilin Wu regulator-max-microvolt = <3083000>; 300d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 301d4b34126SXilin Wu }; 302d4b34126SXilin Wu 303d4b34126SXilin Wu vreg_l25a_3p3: ldo25 { 304d4b34126SXilin Wu regulator-min-microvolt = <3104000>; 305d4b34126SXilin Wu regulator-max-microvolt = <3112000>; 306d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 307d4b34126SXilin Wu }; 308d4b34126SXilin Wu 309d4b34126SXilin Wu vdda_hp_pcie_1p2: 310d4b34126SXilin Wu vdda_hv_ebi0: 311d4b34126SXilin Wu vdda_hv_ebi1: 312d4b34126SXilin Wu vdda_hv_ebi2: 313d4b34126SXilin Wu vdda_hv_ebi3: 314d4b34126SXilin Wu vdda_mipi_csi_1p25: 315d4b34126SXilin Wu vdda_mipi_dsi0_1p2: 316d4b34126SXilin Wu vdda_mipi_dsi1_1p2: 317d4b34126SXilin Wu vdda_pcie_1p2: 318d4b34126SXilin Wu vdda_ufs1_1p2: 319d4b34126SXilin Wu vdda_ufs2_1p2: 320d4b34126SXilin Wu vdda_usb1_ss_1p2: 321d4b34126SXilin Wu vdda_usb2_ss_1p2: 322d4b34126SXilin Wu vreg_l26a_1p2: ldo26 { 323d4b34126SXilin Wu regulator-min-microvolt = <1200000>; 324d4b34126SXilin Wu regulator-max-microvolt = <1208000>; 325d4b34126SXilin Wu regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 326d4b34126SXilin Wu }; 327d4b34126SXilin Wu 328d4b34126SXilin Wu vreg_l28a_3p0: ldo28 { 329d4b34126SXilin Wu }; 330d4b34126SXilin Wu 331d4b34126SXilin Wu vreg_lvs1a_1p8: lvs1 { 332d4b34126SXilin Wu }; 333d4b34126SXilin Wu 334d4b34126SXilin Wu vreg_lvs2a_1p8: lvs2 { 335d4b34126SXilin Wu }; 336d4b34126SXilin Wu }; 337d4b34126SXilin Wu}; 338d4b34126SXilin Wu 339d4b34126SXilin Wu&cdsp_pas { 3407d1473d7SDmitry Baryshkov firmware-name = "qcom/sdm850/samsung/w737/qccdsp850.mbn"; 341d4b34126SXilin Wu status = "okay"; 342d4b34126SXilin Wu}; 343d4b34126SXilin Wu 344d4b34126SXilin Wu&gcc { 345d4b34126SXilin Wu protected-clocks = <GCC_QSPI_CORE_CLK>, 346d4b34126SXilin Wu <GCC_QSPI_CORE_CLK_SRC>, 347d4b34126SXilin Wu <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 348d4b34126SXilin Wu <GCC_LPASS_Q6_AXI_CLK>, 349d4b34126SXilin Wu <GCC_LPASS_SWAY_CLK>; 350d4b34126SXilin Wu}; 351d4b34126SXilin Wu 352d4b34126SXilin Wu&i2c10 { 353d4b34126SXilin Wu status = "okay"; 354d4b34126SXilin Wu clock-frequency = <400000>; 355d4b34126SXilin Wu 356d4b34126SXilin Wu /* SN65DSI86 @ 0x2c */ 357d4b34126SXilin Wu /* The panel requires dual DSI, which is not supported by the bridge driver */ 358d4b34126SXilin Wu}; 359d4b34126SXilin Wu 360d4b34126SXilin Wu&i2c11 { 361d4b34126SXilin Wu status = "okay"; 362d4b34126SXilin Wu clock-frequency = <400000>; 363d4b34126SXilin Wu 364d4b34126SXilin Wu /* HID-I2C Touchscreen @ 0x20 */ 365d4b34126SXilin Wu}; 366d4b34126SXilin Wu 367d4b34126SXilin Wu&i2c15 { 368d4b34126SXilin Wu status = "okay"; 369d4b34126SXilin Wu clock-frequency = <400000>; 370d4b34126SXilin Wu 371d4b34126SXilin Wu digitizer@9 { 372d4b34126SXilin Wu compatible = "wacom,w9013", "hid-over-i2c"; 373d4b34126SXilin Wu reg = <0x9>; 374d4b34126SXilin Wu pinctrl-names = "default"; 375d4b34126SXilin Wu pinctrl-0 = <&pen_irq_l>, <&pen_pdct_l>, <&pen_rst_l>; 376d4b34126SXilin Wu 377d4b34126SXilin Wu post-power-on-delay-ms = <120>; 378d4b34126SXilin Wu 379d4b34126SXilin Wu interrupt-parent = <&tlmm>; 380d4b34126SXilin Wu interrupts = <119 IRQ_TYPE_LEVEL_LOW>; 381d4b34126SXilin Wu 382d4b34126SXilin Wu hid-descr-addr = <0x1>; 383d4b34126SXilin Wu }; 384d4b34126SXilin Wu}; 385d4b34126SXilin Wu 386d4b34126SXilin Wu&ipa { 387a9a9e857SAlex Elder qcom,gsi-loader = "self"; 388d4b34126SXilin Wu memory-region = <&ipa_fw_mem>; 3897d1473d7SDmitry Baryshkov firmware-name = "qcom/sdm850/samsung/w737/ipa_fws.elf"; 390a9a9e857SAlex Elder status = "okay"; 391d4b34126SXilin Wu}; 392d4b34126SXilin Wu 393d4b34126SXilin Wu/* No idea why it causes an SError when enabled */ 394d4b34126SXilin Wu&llcc { 395d4b34126SXilin Wu status = "disabled"; 396d4b34126SXilin Wu}; 397d4b34126SXilin Wu 398d4b34126SXilin Wu&mss_pil { 399d4b34126SXilin Wu status = "okay"; 4007d1473d7SDmitry Baryshkov firmware-name = "qcom/sdm850/samsung/w737/qcdsp1v2850.mbn", "qcom/sdm850/samsung/w737/qcdsp2850.mbn"; 401d4b34126SXilin Wu}; 402d4b34126SXilin Wu 403d4b34126SXilin Wu&qup_i2c10_default { 404d4b34126SXilin Wu drive-strength = <2>; 405d4b34126SXilin Wu bias-disable; 406d4b34126SXilin Wu}; 407d4b34126SXilin Wu 408d4b34126SXilin Wu&qup_i2c11_default { 409d4b34126SXilin Wu drive-strength = <2>; 410d4b34126SXilin Wu bias-disable; 411d4b34126SXilin Wu}; 412d4b34126SXilin Wu 413d4b34126SXilin Wu&qup_i2c12_default { 414d4b34126SXilin Wu drive-strength = <2>; 415d4b34126SXilin Wu bias-disable; 416d4b34126SXilin Wu}; 417d4b34126SXilin Wu 418d4b34126SXilin Wu&qupv3_id_0 { 419d4b34126SXilin Wu status = "okay"; 420d4b34126SXilin Wu}; 421d4b34126SXilin Wu 422d4b34126SXilin Wu&qupv3_id_1 { 423d4b34126SXilin Wu status = "okay"; 424d4b34126SXilin Wu}; 425d4b34126SXilin Wu 426d4b34126SXilin Wu&q6asmdai { 427d4b34126SXilin Wu dai@0 { 428d4b34126SXilin Wu reg = <0>; 429d4b34126SXilin Wu }; 430d4b34126SXilin Wu 431d4b34126SXilin Wu dai@1 { 432d4b34126SXilin Wu reg = <1>; 433d4b34126SXilin Wu }; 434d4b34126SXilin Wu 435d4b34126SXilin Wu dai@2 { 436d4b34126SXilin Wu reg = <2>; 437d4b34126SXilin Wu }; 438d4b34126SXilin Wu}; 439d4b34126SXilin Wu 440d4b34126SXilin Wu&sound { 441d4b34126SXilin Wu compatible = "qcom,sdm845-sndcard"; 442d4b34126SXilin Wu model = "Samsung-W737"; 443d4b34126SXilin Wu 444d4b34126SXilin Wu audio-routing = 445d4b34126SXilin Wu "RX_BIAS", "MCLK", 446d4b34126SXilin Wu "AMIC2", "MIC BIAS2", 447d4b34126SXilin Wu "SpkrLeft IN", "SPK1 OUT", 448d4b34126SXilin Wu "SpkrRight IN", "SPK2 OUT", 449d4b34126SXilin Wu "MM_DL1", "MultiMedia1 Playback", 450d4b34126SXilin Wu "MM_DL3", "MultiMedia3 Playback", 451d4b34126SXilin Wu "MultiMedia2 Capture", "MM_UL2"; 452d4b34126SXilin Wu 453d4b34126SXilin Wu mm1-dai-link { 454d4b34126SXilin Wu link-name = "MultiMedia1"; 455d4b34126SXilin Wu cpu { 456d4b34126SXilin Wu sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 457d4b34126SXilin Wu }; 458d4b34126SXilin Wu }; 459d4b34126SXilin Wu 460d4b34126SXilin Wu mm2-dai-link { 461d4b34126SXilin Wu link-name = "MultiMedia2"; 462d4b34126SXilin Wu cpu { 463d4b34126SXilin Wu sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 464d4b34126SXilin Wu }; 465d4b34126SXilin Wu }; 466d4b34126SXilin Wu 467d4b34126SXilin Wu mm3-dai-link { 468d4b34126SXilin Wu link-name = "MultiMedia3"; 469d4b34126SXilin Wu cpu { 470d4b34126SXilin Wu sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 471d4b34126SXilin Wu }; 472d4b34126SXilin Wu }; 473d4b34126SXilin Wu 474d4b34126SXilin Wu slim-dai-link { 475d4b34126SXilin Wu link-name = "SLIM Playback"; 476d4b34126SXilin Wu cpu { 477d4b34126SXilin Wu sound-dai = <&q6afedai SLIMBUS_0_RX>; 478d4b34126SXilin Wu }; 479d4b34126SXilin Wu 480d4b34126SXilin Wu platform { 481d4b34126SXilin Wu sound-dai = <&q6routing>; 482d4b34126SXilin Wu }; 483d4b34126SXilin Wu 484d4b34126SXilin Wu codec { 485d4b34126SXilin Wu sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 486d4b34126SXilin Wu }; 487d4b34126SXilin Wu }; 488d4b34126SXilin Wu 489d4b34126SXilin Wu slimcap-dai-link { 490d4b34126SXilin Wu link-name = "SLIM Capture"; 491d4b34126SXilin Wu cpu { 492d4b34126SXilin Wu sound-dai = <&q6afedai SLIMBUS_0_TX>; 493d4b34126SXilin Wu }; 494d4b34126SXilin Wu 495d4b34126SXilin Wu platform { 496d4b34126SXilin Wu sound-dai = <&q6routing>; 497d4b34126SXilin Wu }; 498d4b34126SXilin Wu 499d4b34126SXilin Wu codec { 500d4b34126SXilin Wu sound-dai = <&wcd9340 1>; 501d4b34126SXilin Wu }; 502d4b34126SXilin Wu }; 503d4b34126SXilin Wu 504d4b34126SXilin Wu slim-wcd-dai-link { 505d4b34126SXilin Wu link-name = "SLIM WCD Playback"; 506d4b34126SXilin Wu cpu { 507d4b34126SXilin Wu sound-dai = <&q6afedai SLIMBUS_1_RX>; 508d4b34126SXilin Wu }; 509d4b34126SXilin Wu 510d4b34126SXilin Wu platform { 511d4b34126SXilin Wu sound-dai = <&q6routing>; 512d4b34126SXilin Wu }; 513d4b34126SXilin Wu 514d4b34126SXilin Wu codec { 515d4b34126SXilin Wu sound-dai = <&wcd9340 2>; 516d4b34126SXilin Wu }; 517d4b34126SXilin Wu }; 518d4b34126SXilin Wu}; 519d4b34126SXilin Wu 520d4b34126SXilin Wu&tlmm { 521d4b34126SXilin Wu gpio-reserved-ranges = <0 6>, <85 4>; 522d4b34126SXilin Wu 523d05e3428SKrzysztof Kozlowski pen_irq_l: pen-irq-l-state { 524d4b34126SXilin Wu pins = "gpio119"; 525d4b34126SXilin Wu function = "gpio"; 526d4b34126SXilin Wu bias-disable; 527d4b34126SXilin Wu }; 528d4b34126SXilin Wu 529d05e3428SKrzysztof Kozlowski pen_pdct_l: pen-pdct-l-state { 530d4b34126SXilin Wu pins = "gpio124"; 531d4b34126SXilin Wu function = "gpio"; 532d4b34126SXilin Wu bias-disable; 533d4b34126SXilin Wu drive-strength = <2>; 534d4b34126SXilin Wu output-high; 535d4b34126SXilin Wu }; 536d4b34126SXilin Wu 537d05e3428SKrzysztof Kozlowski pen_rst_l: pen-rst-l-state { 538d4b34126SXilin Wu pins = "gpio21"; 539d4b34126SXilin Wu function = "gpio"; 540d4b34126SXilin Wu bias-disable; 541d4b34126SXilin Wu drive-strength = <2>; 542d4b34126SXilin Wu 543d4b34126SXilin Wu /* 544d4b34126SXilin Wu * The pen driver doesn't currently support 545d4b34126SXilin Wu * driving this reset line. By specifying 546d4b34126SXilin Wu * output-high here we're relying on the fact 547d4b34126SXilin Wu * that this pin has a default pulldown at boot 548d4b34126SXilin Wu * (which makes sure the pen was in reset if it 549d4b34126SXilin Wu * was powered) and then we set it high here to 550d4b34126SXilin Wu * take it out of reset. Better would be if the 551d4b34126SXilin Wu * pen driver could control this and we could 552d4b34126SXilin Wu * remove "output-high" here. 553d4b34126SXilin Wu */ 554d4b34126SXilin Wu output-high; 555d4b34126SXilin Wu }; 556d4b34126SXilin Wu}; 557d4b34126SXilin Wu 558d4b34126SXilin Wu&uart6 { 559d05e3428SKrzysztof Kozlowski pinctrl-names = "default"; 560d05e3428SKrzysztof Kozlowski pinctrl-0 = <&qup_uart6_4pin>; 561d4b34126SXilin Wu status = "okay"; 562d4b34126SXilin Wu 563d4b34126SXilin Wu bluetooth { 564d4b34126SXilin Wu compatible = "qcom,wcn3990-bt"; 565d4b34126SXilin Wu 566d4b34126SXilin Wu vddio-supply = <&vreg_s4a_1p8>; 567d4b34126SXilin Wu vddxo-supply = <&vreg_l7a_1p8>; 568d4b34126SXilin Wu vddrf-supply = <&vreg_l17a_1p3>; 569d4b34126SXilin Wu vddch0-supply = <&vreg_l25a_3p3>; 570d4b34126SXilin Wu vddch1-supply = <&vreg_l23a_3p3>; 571d4b34126SXilin Wu max-speed = <3200000>; 572d4b34126SXilin Wu }; 573d4b34126SXilin Wu}; 574d4b34126SXilin Wu 575d4b34126SXilin Wu&ufs_mem_hc { 576d4b34126SXilin Wu status = "okay"; 577d4b34126SXilin Wu 578d4b34126SXilin Wu reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 579d4b34126SXilin Wu 580d4b34126SXilin Wu vcc-supply = <&vreg_l20a_2p95>; 581d4b34126SXilin Wu vcc-max-microamp = <600000>; 582d4b34126SXilin Wu}; 583d4b34126SXilin Wu 584d4b34126SXilin Wu&ufs_mem_phy { 585d4b34126SXilin Wu status = "okay"; 586d4b34126SXilin Wu 587d4b34126SXilin Wu vdda-phy-supply = <&vdda_ufs1_core>; 588d4b34126SXilin Wu vdda-pll-supply = <&vdda_ufs1_1p2>; 589d4b34126SXilin Wu}; 590d4b34126SXilin Wu 591d4b34126SXilin Wu&usb_1 { 592d4b34126SXilin Wu status = "okay"; 593d4b34126SXilin Wu}; 594d4b34126SXilin Wu 595d4b34126SXilin Wu&usb_1_dwc3 { 596d4b34126SXilin Wu dr_mode = "host"; 597d4b34126SXilin Wu}; 598d4b34126SXilin Wu 599d4b34126SXilin Wu&usb_1_hsphy { 600d4b34126SXilin Wu status = "okay"; 601d4b34126SXilin Wu 602d4b34126SXilin Wu vdd-supply = <&vdda_usb1_ss_core>; 603d4b34126SXilin Wu vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 604d4b34126SXilin Wu vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 605d4b34126SXilin Wu 606d4b34126SXilin Wu qcom,imp-res-offset-value = <8>; 607d4b34126SXilin Wu qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 608d4b34126SXilin Wu qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 609d4b34126SXilin Wu qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 610d4b34126SXilin Wu}; 611d4b34126SXilin Wu 612d4b34126SXilin Wu&usb_1_qmpphy { 613d4b34126SXilin Wu status = "okay"; 614d4b34126SXilin Wu 615d4b34126SXilin Wu vdda-phy-supply = <&vdda_usb1_ss_1p2>; 616d4b34126SXilin Wu vdda-pll-supply = <&vdda_usb1_ss_core>; 617d4b34126SXilin Wu}; 618d4b34126SXilin Wu 619d4b34126SXilin Wu&usb_2 { 620d4b34126SXilin Wu status = "okay"; 621d4b34126SXilin Wu}; 622d4b34126SXilin Wu 623d4b34126SXilin Wu&usb_2_dwc3 { 624d4b34126SXilin Wu dr_mode = "host"; 625d4b34126SXilin Wu}; 626d4b34126SXilin Wu 627d4b34126SXilin Wu&usb_2_hsphy { 628d4b34126SXilin Wu status = "okay"; 629d4b34126SXilin Wu 630d4b34126SXilin Wu vdd-supply = <&vdda_usb2_ss_core>; 631d4b34126SXilin Wu vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 632d4b34126SXilin Wu vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 633d4b34126SXilin Wu 634d4b34126SXilin Wu qcom,imp-res-offset-value = <8>; 635d4b34126SXilin Wu qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 636d4b34126SXilin Wu}; 637d4b34126SXilin Wu 638d4b34126SXilin Wu&usb_2_qmpphy { 639d4b34126SXilin Wu status = "okay"; 640d4b34126SXilin Wu 641d4b34126SXilin Wu vdda-phy-supply = <&vdda_usb2_ss_1p2>; 642d4b34126SXilin Wu vdda-pll-supply = <&vdda_usb2_ss_core>; 643d4b34126SXilin Wu}; 644d4b34126SXilin Wu 645d4b34126SXilin Wu&venus { 646d4b34126SXilin Wu status = "okay"; 6477d1473d7SDmitry Baryshkov firmware-name = "qcom/sdm850/samsung/w737/qcvss850.mbn"; 648d4b34126SXilin Wu}; 649d4b34126SXilin Wu 650d4b34126SXilin Wu&wcd9340 { 65136c9d012SKrzysztof Kozlowski reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 652d4b34126SXilin Wu vdd-buck-supply = <&vreg_s4a_1p8>; 653d4b34126SXilin Wu vdd-buck-sido-supply = <&vreg_s4a_1p8>; 654d4b34126SXilin Wu vdd-tx-supply = <&vreg_s4a_1p8>; 655d4b34126SXilin Wu vdd-rx-supply = <&vreg_s4a_1p8>; 656d4b34126SXilin Wu vdd-io-supply = <&vreg_s4a_1p8>; 657d4b34126SXilin Wu qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 658d4b34126SXilin Wu qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 659d4b34126SXilin Wu qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 660d4b34126SXilin Wu 661d4b34126SXilin Wu swm: swm@c85 { 662bd35f4b0SSrinivasa Rao Mandadapu left_spkr: speaker@0,3 { 663d4b34126SXilin Wu compatible = "sdw10217211000"; 664d4b34126SXilin Wu reg = <0 3>; 6655b91fab8SKrzysztof Kozlowski powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>; 666d4b34126SXilin Wu #thermal-sensor-cells = <0>; 667d4b34126SXilin Wu sound-name-prefix = "SpkrLeft"; 668d4b34126SXilin Wu #sound-dai-cells = <0>; 669d4b34126SXilin Wu }; 670d4b34126SXilin Wu 671bd35f4b0SSrinivasa Rao Mandadapu right_spkr: speaker@0,4 { 672d4b34126SXilin Wu compatible = "sdw10217211000"; 6735b91fab8SKrzysztof Kozlowski powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>; 674d4b34126SXilin Wu reg = <0 4>; 675d4b34126SXilin Wu #thermal-sensor-cells = <0>; 676d4b34126SXilin Wu sound-name-prefix = "SpkrRight"; 677d4b34126SXilin Wu #sound-dai-cells = <0>; 678d4b34126SXilin Wu }; 679d4b34126SXilin Wu }; 680d4b34126SXilin Wu}; 681d4b34126SXilin Wu 682d4b34126SXilin Wu&wifi { 683d4b34126SXilin Wu status = "okay"; 684d4b34126SXilin Wu 685d4b34126SXilin Wu vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 686d4b34126SXilin Wu vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 687d4b34126SXilin Wu vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 688d4b34126SXilin Wu vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 689d4b34126SXilin Wu vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 690d4b34126SXilin Wu 691d4b34126SXilin Wu qcom,snoc-host-cap-8bit-quirk; 692d4b34126SXilin Wu}; 693