162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * SC7180 IDP board device tree source 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2019, The Linux Foundation. All rights reserved. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1162306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 1262306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 1362306a36Sopenharmony_ci#include "sc7180.dtsi" 1462306a36Sopenharmony_ci#include "sc7180-firmware-tfa.dtsi" 1562306a36Sopenharmony_ci#include "pm6150.dtsi" 1662306a36Sopenharmony_ci#include "pm6150l.dtsi" 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci/ { 1962306a36Sopenharmony_ci model = "Qualcomm Technologies, Inc. SC7180 IDP"; 2062306a36Sopenharmony_ci compatible = "qcom,sc7180-idp", "qcom,sc7180"; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci aliases { 2362306a36Sopenharmony_ci bluetooth0 = &bluetooth; 2462306a36Sopenharmony_ci hsuart0 = &uart3; 2562306a36Sopenharmony_ci serial0 = &uart8; 2662306a36Sopenharmony_ci wifi0 = &wifi; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci chosen { 3062306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci/* 3562306a36Sopenharmony_ci * Reserved memory changes 3662306a36Sopenharmony_ci * 3762306a36Sopenharmony_ci * Delete all unused memory nodes and define the peripheral memory regions 3862306a36Sopenharmony_ci * required by the board dts. 3962306a36Sopenharmony_ci * 4062306a36Sopenharmony_ci */ 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci/delete-node/ &hyp_mem; 4362306a36Sopenharmony_ci/delete-node/ &xbl_mem; 4462306a36Sopenharmony_ci/delete-node/ &aop_mem; 4562306a36Sopenharmony_ci/delete-node/ &sec_apps_mem; 4662306a36Sopenharmony_ci/delete-node/ &tz_mem; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci/* Increase the size from 2MB to 8MB */ 4962306a36Sopenharmony_ci&rmtfs_mem { 5062306a36Sopenharmony_ci reg = <0x0 0x94600000 0x0 0x800000>; 5162306a36Sopenharmony_ci}; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci/ { 5462306a36Sopenharmony_ci reserved-memory { 5562306a36Sopenharmony_ci atf_mem: memory@80b00000 { 5662306a36Sopenharmony_ci reg = <0x0 0x80b00000 0x0 0x100000>; 5762306a36Sopenharmony_ci no-map; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci mpss_mem: memory@86000000 { 6162306a36Sopenharmony_ci reg = <0x0 0x86000000 0x0 0x8c00000>; 6262306a36Sopenharmony_ci no-map; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci camera_mem: memory@8ec00000 { 6662306a36Sopenharmony_ci reg = <0x0 0x8ec00000 0x0 0x500000>; 6762306a36Sopenharmony_ci no-map; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci venus_mem: memory@8f600000 { 7162306a36Sopenharmony_ci reg = <0 0x8f600000 0 0x500000>; 7262306a36Sopenharmony_ci no-map; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci wlan_mem: memory@94100000 { 7662306a36Sopenharmony_ci reg = <0x0 0x94100000 0x0 0x200000>; 7762306a36Sopenharmony_ci no-map; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci mba_mem: memory@94400000 { 8162306a36Sopenharmony_ci reg = <0x0 0x94400000 0x0 0x200000>; 8262306a36Sopenharmony_ci no-map; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci mdata_mem: mpss-metadata { 8662306a36Sopenharmony_ci alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>; 8762306a36Sopenharmony_ci size = <0x0 0x4000>; 8862306a36Sopenharmony_ci no-map; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci}; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci&apps_rsc { 9462306a36Sopenharmony_ci regulators-0 { 9562306a36Sopenharmony_ci compatible = "qcom,pm6150-rpmh-regulators"; 9662306a36Sopenharmony_ci qcom,pmic-id = "a"; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci vreg_s1a_1p1: smps1 { 9962306a36Sopenharmony_ci regulator-min-microvolt = <1128000>; 10062306a36Sopenharmony_ci regulator-max-microvolt = <1128000>; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci vreg_s4a_1p0: smps4 { 10462306a36Sopenharmony_ci regulator-min-microvolt = <824000>; 10562306a36Sopenharmony_ci regulator-max-microvolt = <1120000>; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci vreg_s5a_2p0: smps5 { 10962306a36Sopenharmony_ci regulator-min-microvolt = <1744000>; 11062306a36Sopenharmony_ci regulator-max-microvolt = <2040000>; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci vreg_l1a_1p2: ldo1 { 11462306a36Sopenharmony_ci regulator-min-microvolt = <1178000>; 11562306a36Sopenharmony_ci regulator-max-microvolt = <1256000>; 11662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci vreg_l2a_1p0: ldo2 { 12062306a36Sopenharmony_ci regulator-min-microvolt = <944000>; 12162306a36Sopenharmony_ci regulator-max-microvolt = <1056000>; 12262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 12362306a36Sopenharmony_ci }; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci vreg_l3a_1p0: ldo3 { 12662306a36Sopenharmony_ci regulator-min-microvolt = <968000>; 12762306a36Sopenharmony_ci regulator-max-microvolt = <1064000>; 12862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci vreg_l4a_0p8: ldo4 { 13262306a36Sopenharmony_ci regulator-min-microvolt = <824000>; 13362306a36Sopenharmony_ci regulator-max-microvolt = <928000>; 13462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci vreg_l5a_2p7: ldo5 { 13862306a36Sopenharmony_ci regulator-min-microvolt = <2496000>; 13962306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 14062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci vreg_l6a_0p6: ldo6 { 14462306a36Sopenharmony_ci regulator-min-microvolt = <568000>; 14562306a36Sopenharmony_ci regulator-max-microvolt = <648000>; 14662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci vreg_l9a_0p6: ldo9 { 15062306a36Sopenharmony_ci regulator-min-microvolt = <488000>; 15162306a36Sopenharmony_ci regulator-max-microvolt = <800000>; 15262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci vreg_l10a_1p8: ldo10 { 15662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 15762306a36Sopenharmony_ci regulator-max-microvolt = <1832000>; 15862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci vreg_l11a_1p8: ldo11 { 16262306a36Sopenharmony_ci regulator-min-microvolt = <1696000>; 16362306a36Sopenharmony_ci regulator-max-microvolt = <1904000>; 16462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci vreg_l12a_1p8: ldo12 { 16862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 16962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 17062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci vreg_l13a_1p8: ldo13 { 17462306a36Sopenharmony_ci regulator-min-microvolt = <1696000>; 17562306a36Sopenharmony_ci regulator-max-microvolt = <1904000>; 17662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci vreg_l14a_1p8: ldo14 { 18062306a36Sopenharmony_ci regulator-min-microvolt = <1728000>; 18162306a36Sopenharmony_ci regulator-max-microvolt = <1832000>; 18262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci vreg_l15a_1p8: ldo15 { 18662306a36Sopenharmony_ci regulator-min-microvolt = <1696000>; 18762306a36Sopenharmony_ci regulator-max-microvolt = <1904000>; 18862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 18962306a36Sopenharmony_ci }; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci vreg_l16a_2p7: ldo16 { 19262306a36Sopenharmony_ci regulator-min-microvolt = <2496000>; 19362306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 19462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci vreg_l17a_3p0: ldo17 { 19862306a36Sopenharmony_ci regulator-min-microvolt = <2920000>; 19962306a36Sopenharmony_ci regulator-max-microvolt = <3232000>; 20062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci vreg_l18a_2p8: ldo18 { 20462306a36Sopenharmony_ci regulator-min-microvolt = <2496000>; 20562306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 20662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci vreg_l19a_2p9: ldo19 { 21062306a36Sopenharmony_ci regulator-min-microvolt = <2960000>; 21162306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 21262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci }; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci regulators-1 { 21762306a36Sopenharmony_ci compatible = "qcom,pm6150l-rpmh-regulators"; 21862306a36Sopenharmony_ci qcom,pmic-id = "c"; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci vreg_s8c_1p3: smps8 { 22162306a36Sopenharmony_ci regulator-min-microvolt = <1120000>; 22262306a36Sopenharmony_ci regulator-max-microvolt = <1408000>; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci vreg_l1c_1p8: ldo1 { 22662306a36Sopenharmony_ci regulator-min-microvolt = <1616000>; 22762306a36Sopenharmony_ci regulator-max-microvolt = <1984000>; 22862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 22962306a36Sopenharmony_ci }; 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci vreg_l2c_1p3: ldo2 { 23262306a36Sopenharmony_ci regulator-min-microvolt = <1168000>; 23362306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 23462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci vreg_l3c_1p2: ldo3 { 23862306a36Sopenharmony_ci regulator-min-microvolt = <1144000>; 23962306a36Sopenharmony_ci regulator-max-microvolt = <1304000>; 24062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci vreg_l4c_1p8: ldo4 { 24462306a36Sopenharmony_ci regulator-min-microvolt = <1648000>; 24562306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 24662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 24762306a36Sopenharmony_ci }; 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci vreg_l5c_1p8: ldo5 { 25062306a36Sopenharmony_ci regulator-min-microvolt = <1648000>; 25162306a36Sopenharmony_ci regulator-max-microvolt = <3304000>; 25262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci vreg_l6c_2p9: ldo6 { 25662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 25762306a36Sopenharmony_ci regulator-max-microvolt = <2950000>; 25862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 25962306a36Sopenharmony_ci }; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci vreg_l7c_3p0: ldo7 { 26262306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 26362306a36Sopenharmony_ci regulator-max-microvolt = <3312000>; 26462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 26562306a36Sopenharmony_ci }; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci vreg_l8c_1p8: ldo8 { 26862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 26962306a36Sopenharmony_ci regulator-max-microvolt = <1904000>; 27062306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 27162306a36Sopenharmony_ci }; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci vreg_l9c_2p9: ldo9 { 27462306a36Sopenharmony_ci regulator-min-microvolt = <2960000>; 27562306a36Sopenharmony_ci regulator-max-microvolt = <2960000>; 27662306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 27762306a36Sopenharmony_ci }; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ci vreg_l10c_3p3: ldo10 { 28062306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 28162306a36Sopenharmony_ci regulator-max-microvolt = <3400000>; 28262306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 28362306a36Sopenharmony_ci }; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci vreg_l11c_3p3: ldo11 { 28662306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 28762306a36Sopenharmony_ci regulator-max-microvolt = <3400000>; 28862306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci vreg_bob: bob { 29262306a36Sopenharmony_ci regulator-min-microvolt = <3008000>; 29362306a36Sopenharmony_ci regulator-max-microvolt = <3960000>; 29462306a36Sopenharmony_ci regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci}; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci&mdss { 30062306a36Sopenharmony_ci status = "okay"; 30162306a36Sopenharmony_ci}; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci&mdss_dsi0 { 30462306a36Sopenharmony_ci status = "okay"; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci vdda-supply = <&vreg_l3c_1p2>; 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ci panel@0 { 30962306a36Sopenharmony_ci compatible = "visionox,rm69299-1080p-display"; 31062306a36Sopenharmony_ci reg = <0>; 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci vdda-supply = <&vreg_l8c_1p8>; 31362306a36Sopenharmony_ci vdd3p3-supply = <&vreg_l18a_2p8>; 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci pinctrl-names = "default"; 31662306a36Sopenharmony_ci pinctrl-0 = <&disp_pins>; 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci reset-gpios = <&pm6150l_gpios 3 GPIO_ACTIVE_HIGH>; 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ci port { 32162306a36Sopenharmony_ci panel0_in: endpoint { 32262306a36Sopenharmony_ci remote-endpoint = <&mdss_dsi0_out>; 32362306a36Sopenharmony_ci }; 32462306a36Sopenharmony_ci }; 32562306a36Sopenharmony_ci }; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci ports { 32862306a36Sopenharmony_ci port@1 { 32962306a36Sopenharmony_ci endpoint { 33062306a36Sopenharmony_ci remote-endpoint = <&panel0_in>; 33162306a36Sopenharmony_ci data-lanes = <0 1 2 3>; 33262306a36Sopenharmony_ci }; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci}; 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci&mdss_dsi0_phy { 33862306a36Sopenharmony_ci status = "okay"; 33962306a36Sopenharmony_ci vdds-supply = <&vreg_l4a_0p8>; 34062306a36Sopenharmony_ci}; 34162306a36Sopenharmony_ci 34262306a36Sopenharmony_ci&qfprom { 34362306a36Sopenharmony_ci vcc-supply = <&vreg_l11a_1p8>; 34462306a36Sopenharmony_ci}; 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci&qspi { 34762306a36Sopenharmony_ci status = "okay"; 34862306a36Sopenharmony_ci pinctrl-names = "default"; 34962306a36Sopenharmony_ci pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data0>, <&qspi_data1>; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci flash@0 { 35262306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 35362306a36Sopenharmony_ci reg = <0>; 35462306a36Sopenharmony_ci spi-max-frequency = <25000000>; 35562306a36Sopenharmony_ci spi-tx-bus-width = <2>; 35662306a36Sopenharmony_ci spi-rx-bus-width = <2>; 35762306a36Sopenharmony_ci }; 35862306a36Sopenharmony_ci}; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci&qupv3_id_0 { 36162306a36Sopenharmony_ci status = "okay"; 36262306a36Sopenharmony_ci}; 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_ci&qupv3_id_1 { 36562306a36Sopenharmony_ci status = "okay"; 36662306a36Sopenharmony_ci}; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci&remoteproc_mpss { 36962306a36Sopenharmony_ci status = "okay"; 37062306a36Sopenharmony_ci compatible = "qcom,sc7180-mss-pil"; 37162306a36Sopenharmony_ci reg = <0 0x04080000 0 0x4040>, <0 0x04180000 0 0x48>; 37262306a36Sopenharmony_ci reg-names = "qdsp6", "rmb"; 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 37562306a36Sopenharmony_ci <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, 37662306a36Sopenharmony_ci <&gcc GCC_MSS_NAV_AXI_CLK>, 37762306a36Sopenharmony_ci <&gcc GCC_MSS_SNOC_AXI_CLK>, 37862306a36Sopenharmony_ci <&gcc GCC_MSS_MFAB_AXIS_CLK>, 37962306a36Sopenharmony_ci <&rpmhcc RPMH_CXO_CLK>; 38062306a36Sopenharmony_ci clock-names = "iface", "bus", "nav", "snoc_axi", "mnoc_axi", "xo"; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; 38362306a36Sopenharmony_ci memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci resets = <&aoss_reset AOSS_CC_MSS_RESTART>, 38662306a36Sopenharmony_ci <&pdc_reset PDC_MODEM_SYNC_RESET>; 38762306a36Sopenharmony_ci reset-names = "mss_restart", "pdc_reset"; 38862306a36Sopenharmony_ci 38962306a36Sopenharmony_ci qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>; 39062306a36Sopenharmony_ci qcom,spare-regs = <&tcsr_regs_2 0xb3e4>; 39162306a36Sopenharmony_ci}; 39262306a36Sopenharmony_ci 39362306a36Sopenharmony_ci&scm { 39462306a36Sopenharmony_ci /* TF-A firmware maps memory cached so mark dma-coherent to match. */ 39562306a36Sopenharmony_ci dma-coherent; 39662306a36Sopenharmony_ci}; 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci&sdhc_1 { 39962306a36Sopenharmony_ci status = "okay"; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 40262306a36Sopenharmony_ci pinctrl-0 = <&sdc1_on>; 40362306a36Sopenharmony_ci pinctrl-1 = <&sdc1_off>; 40462306a36Sopenharmony_ci vmmc-supply = <&vreg_l19a_2p9>; 40562306a36Sopenharmony_ci vqmmc-supply = <&vreg_l12a_1p8>; 40662306a36Sopenharmony_ci}; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci&sdhc_2 { 40962306a36Sopenharmony_ci status = "okay"; 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci pinctrl-names = "default","sleep"; 41262306a36Sopenharmony_ci pinctrl-0 = <&sdc2_on>; 41362306a36Sopenharmony_ci pinctrl-1 = <&sdc2_off>; 41462306a36Sopenharmony_ci vmmc-supply = <&vreg_l9c_2p9>; 41562306a36Sopenharmony_ci vqmmc-supply = <&vreg_l6c_2p9>; 41662306a36Sopenharmony_ci 41762306a36Sopenharmony_ci cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 41862306a36Sopenharmony_ci}; 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ci&uart3 { 42162306a36Sopenharmony_ci status = "okay"; 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ci /delete-property/interrupts; 42462306a36Sopenharmony_ci interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, 42562306a36Sopenharmony_ci <&tlmm 41 IRQ_TYPE_EDGE_FALLING>; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 42862306a36Sopenharmony_ci pinctrl-1 = <&qup_uart3_sleep>; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci bluetooth: bluetooth { 43162306a36Sopenharmony_ci compatible = "qcom,wcn3990-bt"; 43262306a36Sopenharmony_ci vddio-supply = <&vreg_l10a_1p8>; 43362306a36Sopenharmony_ci vddxo-supply = <&vreg_l1c_1p8>; 43462306a36Sopenharmony_ci vddrf-supply = <&vreg_l2c_1p3>; 43562306a36Sopenharmony_ci vddch0-supply = <&vreg_l10c_3p3>; 43662306a36Sopenharmony_ci max-speed = <3200000>; 43762306a36Sopenharmony_ci }; 43862306a36Sopenharmony_ci}; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci&uart8 { 44162306a36Sopenharmony_ci status = "okay"; 44262306a36Sopenharmony_ci}; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci&usb_1 { 44562306a36Sopenharmony_ci status = "okay"; 44662306a36Sopenharmony_ci}; 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci&usb_1_dwc3 { 44962306a36Sopenharmony_ci dr_mode = "host"; 45062306a36Sopenharmony_ci}; 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ci&usb_1_hsphy { 45362306a36Sopenharmony_ci status = "okay"; 45462306a36Sopenharmony_ci vdd-supply = <&vreg_l4a_0p8>; 45562306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l11a_1p8>; 45662306a36Sopenharmony_ci vdda-phy-dpdm-supply = <&vreg_l17a_3p0>; 45762306a36Sopenharmony_ci qcom,imp-res-offset-value = <8>; 45862306a36Sopenharmony_ci qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>; 45962306a36Sopenharmony_ci qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 46062306a36Sopenharmony_ci qcom,bias-ctrl-value = <0x22>; 46162306a36Sopenharmony_ci qcom,charge-ctrl-value = <3>; 46262306a36Sopenharmony_ci qcom,hsdisc-trim-value = <0>; 46362306a36Sopenharmony_ci}; 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci&usb_1_qmpphy { 46662306a36Sopenharmony_ci status = "okay"; 46762306a36Sopenharmony_ci vdda-phy-supply = <&vreg_l3c_1p2>; 46862306a36Sopenharmony_ci vdda-pll-supply = <&vreg_l4a_0p8>; 46962306a36Sopenharmony_ci}; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci&venus { 47262306a36Sopenharmony_ci video-firmware { 47362306a36Sopenharmony_ci iommus = <&apps_smmu 0x0c42 0x0>; 47462306a36Sopenharmony_ci }; 47562306a36Sopenharmony_ci}; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci&wifi { 47862306a36Sopenharmony_ci status = "okay"; 47962306a36Sopenharmony_ci vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>; 48062306a36Sopenharmony_ci vdd-1.8-xo-supply = <&vreg_l1c_1p8>; 48162306a36Sopenharmony_ci vdd-1.3-rfa-supply = <&vreg_l2c_1p3>; 48262306a36Sopenharmony_ci vdd-3.3-ch0-supply = <&vreg_l10c_3p3>; 48362306a36Sopenharmony_ci vdd-3.3-ch1-supply = <&vreg_l11c_3p3>; 48462306a36Sopenharmony_ci wifi-firmware { 48562306a36Sopenharmony_ci iommus = <&apps_smmu 0xc2 0x1>; 48662306a36Sopenharmony_ci }; 48762306a36Sopenharmony_ci}; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci/* PINCTRL - additions to nodes defined in sc7180.dtsi */ 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci&pm6150l_gpios { 49262306a36Sopenharmony_ci disp_pins: disp-state { 49362306a36Sopenharmony_ci pinconf { 49462306a36Sopenharmony_ci pins = "gpio3"; 49562306a36Sopenharmony_ci function = PMIC_GPIO_FUNC_FUNC1; 49662306a36Sopenharmony_ci qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>; 49762306a36Sopenharmony_ci power-source = <0>; 49862306a36Sopenharmony_ci bias-disable; 49962306a36Sopenharmony_ci output-low; 50062306a36Sopenharmony_ci }; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci}; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci&qspi_clk { 50562306a36Sopenharmony_ci bias-disable; 50662306a36Sopenharmony_ci}; 50762306a36Sopenharmony_ci 50862306a36Sopenharmony_ci&qspi_cs0 { 50962306a36Sopenharmony_ci bias-disable; 51062306a36Sopenharmony_ci}; 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_ci&qspi_data0 { 51362306a36Sopenharmony_ci bias-pull-up; 51462306a36Sopenharmony_ci}; 51562306a36Sopenharmony_ci 51662306a36Sopenharmony_ci&qspi_data1 { 51762306a36Sopenharmony_ci bias-pull-up; 51862306a36Sopenharmony_ci}; 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_ci&qup_i2c2_default { 52162306a36Sopenharmony_ci drive-strength = <2>; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci /* Has external pullup */ 52462306a36Sopenharmony_ci bias-disable; 52562306a36Sopenharmony_ci}; 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ci&qup_i2c4_default { 52862306a36Sopenharmony_ci drive-strength = <2>; 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci /* Has external pullup */ 53162306a36Sopenharmony_ci bias-disable; 53262306a36Sopenharmony_ci}; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci&qup_i2c7_default { 53562306a36Sopenharmony_ci drive-strength = <2>; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci /* Has external pullup */ 53862306a36Sopenharmony_ci bias-disable; 53962306a36Sopenharmony_ci}; 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ci&qup_i2c9_default { 54262306a36Sopenharmony_ci drive-strength = <2>; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci /* Has external pullup */ 54562306a36Sopenharmony_ci bias-disable; 54662306a36Sopenharmony_ci}; 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci&qup_uart3_cts { 54962306a36Sopenharmony_ci /* 55062306a36Sopenharmony_ci * Configure a pull-down on CTS to match the pull of 55162306a36Sopenharmony_ci * the Bluetooth module. 55262306a36Sopenharmony_ci */ 55362306a36Sopenharmony_ci bias-pull-down; 55462306a36Sopenharmony_ci}; 55562306a36Sopenharmony_ci 55662306a36Sopenharmony_ci&qup_uart3_rts { 55762306a36Sopenharmony_ci /* We'll drive RTS, so no pull */ 55862306a36Sopenharmony_ci drive-strength = <2>; 55962306a36Sopenharmony_ci bias-disable; 56062306a36Sopenharmony_ci}; 56162306a36Sopenharmony_ci 56262306a36Sopenharmony_ci&qup_uart3_tx { 56362306a36Sopenharmony_ci /* We'll drive TX, so no pull */ 56462306a36Sopenharmony_ci drive-strength = <2>; 56562306a36Sopenharmony_ci bias-disable; 56662306a36Sopenharmony_ci}; 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci&qup_uart3_rx { 56962306a36Sopenharmony_ci /* 57062306a36Sopenharmony_ci * Configure a pull-up on RX. This is needed to avoid 57162306a36Sopenharmony_ci * garbage data when the TX pin of the Bluetooth module is 57262306a36Sopenharmony_ci * in tri-state (module powered off or not driving the 57362306a36Sopenharmony_ci * signal yet). 57462306a36Sopenharmony_ci */ 57562306a36Sopenharmony_ci bias-pull-up; 57662306a36Sopenharmony_ci}; 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ci&qup_uart8_tx { 57962306a36Sopenharmony_ci drive-strength = <2>; 58062306a36Sopenharmony_ci bias-disable; 58162306a36Sopenharmony_ci}; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci&qup_uart8_rx { 58462306a36Sopenharmony_ci drive-strength = <2>; 58562306a36Sopenharmony_ci bias-pull-up; 58662306a36Sopenharmony_ci}; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci&qup_spi0_spi { 58962306a36Sopenharmony_ci drive-strength = <2>; 59062306a36Sopenharmony_ci bias-disable; 59162306a36Sopenharmony_ci}; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci&qup_spi0_cs { 59462306a36Sopenharmony_ci drive-strength = <2>; 59562306a36Sopenharmony_ci bias-disable; 59662306a36Sopenharmony_ci}; 59762306a36Sopenharmony_ci 59862306a36Sopenharmony_ci&qup_spi6_spi { 59962306a36Sopenharmony_ci drive-strength = <2>; 60062306a36Sopenharmony_ci bias-disable; 60162306a36Sopenharmony_ci}; 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_ci&qup_spi6_cs { 60462306a36Sopenharmony_ci drive-strength = <2>; 60562306a36Sopenharmony_ci bias-disable; 60662306a36Sopenharmony_ci}; 60762306a36Sopenharmony_ci 60862306a36Sopenharmony_ci&qup_spi10_spi { 60962306a36Sopenharmony_ci drive-strength = <2>; 61062306a36Sopenharmony_ci bias-disable; 61162306a36Sopenharmony_ci}; 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_ci&qup_spi10_cs { 61462306a36Sopenharmony_ci drive-strength = <2>; 61562306a36Sopenharmony_ci bias-disable; 61662306a36Sopenharmony_ci}; 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ci&tlmm { 61962306a36Sopenharmony_ci qup_uart3_sleep: qup-uart3-sleep-state { 62062306a36Sopenharmony_ci cts-pins { 62162306a36Sopenharmony_ci /* 62262306a36Sopenharmony_ci * Configure a pull-down on CTS to match the pull of 62362306a36Sopenharmony_ci * the Bluetooth module. 62462306a36Sopenharmony_ci */ 62562306a36Sopenharmony_ci pins = "gpio38"; 62662306a36Sopenharmony_ci function = "gpio"; 62762306a36Sopenharmony_ci bias-pull-down; 62862306a36Sopenharmony_ci }; 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci rts-pins { 63162306a36Sopenharmony_ci /* 63262306a36Sopenharmony_ci * Configure pull-down on RTS. As RTS is active low 63362306a36Sopenharmony_ci * signal, pull it low to indicate the BT SoC that it 63462306a36Sopenharmony_ci * can wakeup the system anytime from suspend state by 63562306a36Sopenharmony_ci * pulling RX low (by sending wakeup bytes). 63662306a36Sopenharmony_ci */ 63762306a36Sopenharmony_ci pins = "gpio39"; 63862306a36Sopenharmony_ci function = "gpio"; 63962306a36Sopenharmony_ci bias-pull-down; 64062306a36Sopenharmony_ci }; 64162306a36Sopenharmony_ci 64262306a36Sopenharmony_ci tx-pins { 64362306a36Sopenharmony_ci /* 64462306a36Sopenharmony_ci * Configure pull-up on TX when it isn't actively driven 64562306a36Sopenharmony_ci * to prevent BT SoC from receiving garbage during sleep. 64662306a36Sopenharmony_ci */ 64762306a36Sopenharmony_ci pins = "gpio40"; 64862306a36Sopenharmony_ci function = "gpio"; 64962306a36Sopenharmony_ci bias-pull-up; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci rx-pins { 65362306a36Sopenharmony_ci /* 65462306a36Sopenharmony_ci * Configure a pull-up on RX. This is needed to avoid 65562306a36Sopenharmony_ci * garbage data when the TX pin of the Bluetooth module 65662306a36Sopenharmony_ci * is floating which may cause spurious wakeups. 65762306a36Sopenharmony_ci */ 65862306a36Sopenharmony_ci pins = "gpio41"; 65962306a36Sopenharmony_ci function = "gpio"; 66062306a36Sopenharmony_ci bias-pull-up; 66162306a36Sopenharmony_ci }; 66262306a36Sopenharmony_ci }; 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci sdc1_on: sdc1-on-state { 66562306a36Sopenharmony_ci clk-pins { 66662306a36Sopenharmony_ci pins = "sdc1_clk"; 66762306a36Sopenharmony_ci bias-disable; 66862306a36Sopenharmony_ci drive-strength = <16>; 66962306a36Sopenharmony_ci }; 67062306a36Sopenharmony_ci 67162306a36Sopenharmony_ci cmd-pins { 67262306a36Sopenharmony_ci pins = "sdc1_cmd"; 67362306a36Sopenharmony_ci bias-pull-up; 67462306a36Sopenharmony_ci drive-strength = <10>; 67562306a36Sopenharmony_ci }; 67662306a36Sopenharmony_ci 67762306a36Sopenharmony_ci data-pins { 67862306a36Sopenharmony_ci pins = "sdc1_data"; 67962306a36Sopenharmony_ci bias-pull-up; 68062306a36Sopenharmony_ci drive-strength = <10>; 68162306a36Sopenharmony_ci }; 68262306a36Sopenharmony_ci 68362306a36Sopenharmony_ci rclk-pins { 68462306a36Sopenharmony_ci pins = "sdc1_rclk"; 68562306a36Sopenharmony_ci bias-pull-down; 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci }; 68862306a36Sopenharmony_ci 68962306a36Sopenharmony_ci sdc1_off: sdc1-off-state { 69062306a36Sopenharmony_ci clk-pins { 69162306a36Sopenharmony_ci pins = "sdc1_clk"; 69262306a36Sopenharmony_ci bias-disable; 69362306a36Sopenharmony_ci drive-strength = <2>; 69462306a36Sopenharmony_ci }; 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci cmd-pins { 69762306a36Sopenharmony_ci pins = "sdc1_cmd"; 69862306a36Sopenharmony_ci bias-pull-up; 69962306a36Sopenharmony_ci drive-strength = <2>; 70062306a36Sopenharmony_ci }; 70162306a36Sopenharmony_ci 70262306a36Sopenharmony_ci data-pins { 70362306a36Sopenharmony_ci pins = "sdc1_data"; 70462306a36Sopenharmony_ci bias-pull-up; 70562306a36Sopenharmony_ci drive-strength = <2>; 70662306a36Sopenharmony_ci }; 70762306a36Sopenharmony_ci 70862306a36Sopenharmony_ci rclk-pins { 70962306a36Sopenharmony_ci pins = "sdc1_rclk"; 71062306a36Sopenharmony_ci bias-pull-down; 71162306a36Sopenharmony_ci }; 71262306a36Sopenharmony_ci }; 71362306a36Sopenharmony_ci 71462306a36Sopenharmony_ci sdc2_on: sdc2-on-state { 71562306a36Sopenharmony_ci clk-pins { 71662306a36Sopenharmony_ci pins = "sdc2_clk"; 71762306a36Sopenharmony_ci bias-disable; 71862306a36Sopenharmony_ci drive-strength = <16>; 71962306a36Sopenharmony_ci }; 72062306a36Sopenharmony_ci 72162306a36Sopenharmony_ci cmd-pins { 72262306a36Sopenharmony_ci pins = "sdc2_cmd"; 72362306a36Sopenharmony_ci bias-pull-up; 72462306a36Sopenharmony_ci drive-strength = <10>; 72562306a36Sopenharmony_ci }; 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_ci data-pins { 72862306a36Sopenharmony_ci pins = "sdc2_data"; 72962306a36Sopenharmony_ci bias-pull-up; 73062306a36Sopenharmony_ci drive-strength = <10>; 73162306a36Sopenharmony_ci }; 73262306a36Sopenharmony_ci 73362306a36Sopenharmony_ci sd-cd-pins { 73462306a36Sopenharmony_ci pins = "gpio69"; 73562306a36Sopenharmony_ci function = "gpio"; 73662306a36Sopenharmony_ci bias-pull-up; 73762306a36Sopenharmony_ci drive-strength = <2>; 73862306a36Sopenharmony_ci }; 73962306a36Sopenharmony_ci }; 74062306a36Sopenharmony_ci 74162306a36Sopenharmony_ci sdc2_off: sdc2-off-state { 74262306a36Sopenharmony_ci clk-pins { 74362306a36Sopenharmony_ci pins = "sdc2_clk"; 74462306a36Sopenharmony_ci bias-disable; 74562306a36Sopenharmony_ci drive-strength = <2>; 74662306a36Sopenharmony_ci }; 74762306a36Sopenharmony_ci 74862306a36Sopenharmony_ci cmd-pins { 74962306a36Sopenharmony_ci pins = "sdc2_cmd"; 75062306a36Sopenharmony_ci bias-pull-up; 75162306a36Sopenharmony_ci drive-strength = <2>; 75262306a36Sopenharmony_ci }; 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_ci data-pins { 75562306a36Sopenharmony_ci pins = "sdc2_data"; 75662306a36Sopenharmony_ci bias-pull-up; 75762306a36Sopenharmony_ci drive-strength = <2>; 75862306a36Sopenharmony_ci }; 75962306a36Sopenharmony_ci 76062306a36Sopenharmony_ci sd-cd-pins { 76162306a36Sopenharmony_ci pins = "gpio69"; 76262306a36Sopenharmony_ci function = "gpio"; 76362306a36Sopenharmony_ci bias-pull-up; 76462306a36Sopenharmony_ci drive-strength = <2>; 76562306a36Sopenharmony_ci }; 76662306a36Sopenharmony_ci }; 76762306a36Sopenharmony_ci}; 768