1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2019, Linaro Limited 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 10#include <dt-bindings/gpio/gpio.h> 11#include "sm8150.dtsi" 12#include "pm8150.dtsi" 13#include "pm8150b.dtsi" 14#include "pm8150l.dtsi" 15 16/ { 17 model = "Qualcomm Technologies, Inc. SM8150 MTP"; 18 compatible = "qcom,sm8150-mtp", "qcom,sm8150"; 19 chassis-type = "handset"; 20 21 aliases { 22 serial0 = &uart2; 23 }; 24 25 chosen { 26 stdout-path = "serial0:115200n8"; 27 }; 28 29 vph_pwr: vph-pwr-regulator { 30 compatible = "regulator-fixed"; 31 regulator-name = "vph_pwr"; 32 regulator-min-microvolt = <3700000>; 33 regulator-max-microvolt = <3700000>; 34 }; 35 36 /* 37 * Apparently RPMh does not provide support for PM8150 S4 because it 38 * is always-on; model it as a fixed regulator. 39 */ 40 vreg_s4a_1p8: pm8150-s4 { 41 compatible = "regulator-fixed"; 42 regulator-name = "vreg_s4a_1p8"; 43 44 regulator-min-microvolt = <1800000>; 45 regulator-max-microvolt = <1800000>; 46 47 regulator-always-on; 48 regulator-boot-on; 49 50 vin-supply = <&vph_pwr>; 51 }; 52}; 53 54&apps_rsc { 55 regulators-0 { 56 compatible = "qcom,pm8150-rpmh-regulators"; 57 qcom,pmic-id = "a"; 58 59 vdd-s1-supply = <&vph_pwr>; 60 vdd-s2-supply = <&vph_pwr>; 61 vdd-s3-supply = <&vph_pwr>; 62 vdd-s4-supply = <&vph_pwr>; 63 vdd-s5-supply = <&vph_pwr>; 64 vdd-s6-supply = <&vph_pwr>; 65 vdd-s7-supply = <&vph_pwr>; 66 vdd-s8-supply = <&vph_pwr>; 67 vdd-s9-supply = <&vph_pwr>; 68 vdd-s10-supply = <&vph_pwr>; 69 70 vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>; 71 vdd-l2-l10-supply = <&vreg_bob>; 72 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>; 73 vdd-l6-l9-supply = <&vreg_s8c_1p3>; 74 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>; 75 vdd-l13-l16-l17-supply = <&vreg_bob>; 76 77 vreg_s5a_2p0: smps5 { 78 regulator-min-microvolt = <1904000>; 79 regulator-max-microvolt = <2000000>; 80 }; 81 82 vreg_s6a_0p9: smps6 { 83 regulator-min-microvolt = <920000>; 84 regulator-max-microvolt = <1128000>; 85 }; 86 87 vdda_wcss_pll: 88 vreg_l1a_0p75: ldo1 { 89 regulator-min-microvolt = <752000>; 90 regulator-max-microvolt = <752000>; 91 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 92 }; 93 94 vdd_pdphy: 95 vdda_usb_hs_3p1: 96 vreg_l2a_3p1: ldo2 { 97 regulator-min-microvolt = <3072000>; 98 regulator-max-microvolt = <3072000>; 99 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 100 }; 101 102 vreg_l3a_0p8: ldo3 { 103 regulator-min-microvolt = <480000>; 104 regulator-max-microvolt = <932000>; 105 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 106 }; 107 108 vdd_usb_hs_core: 109 vdda_csi_0_0p9: 110 vdda_csi_1_0p9: 111 vdda_csi_2_0p9: 112 vdda_csi_3_0p9: 113 vdda_dsi_0_0p9: 114 vdda_dsi_1_0p9: 115 vdda_dsi_0_pll_0p9: 116 vdda_dsi_1_pll_0p9: 117 vdda_pcie_1ln_core: 118 vdda_pcie_2ln_core: 119 vdda_pll_hv_cc_ebi01: 120 vdda_pll_hv_cc_ebi23: 121 vdda_qrefs_0p875_5: 122 vdda_sp_sensor: 123 vdda_ufs_2ln_core_1: 124 vdda_ufs_2ln_core_2: 125 vdda_usb_ss_dp_core_1: 126 vdda_usb_ss_dp_core_2: 127 vdda_qlink_lv: 128 vdda_qlink_lv_ck: 129 vreg_l5a_0p875: ldo5 { 130 regulator-min-microvolt = <880000>; 131 regulator-max-microvolt = <880000>; 132 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 133 }; 134 135 vreg_l6a_1p2: ldo6 { 136 regulator-min-microvolt = <1200000>; 137 regulator-max-microvolt = <1200000>; 138 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 139 }; 140 141 vreg_l7a_1p8: ldo7 { 142 regulator-min-microvolt = <1800000>; 143 regulator-max-microvolt = <1800000>; 144 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 145 }; 146 147 vddpx_10: 148 vreg_l9a_1p2: ldo9 { 149 regulator-min-microvolt = <1200000>; 150 regulator-max-microvolt = <1200000>; 151 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 152 }; 153 154 vreg_l10a_2p5: ldo10 { 155 regulator-min-microvolt = <2504000>; 156 regulator-max-microvolt = <2960000>; 157 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 158 }; 159 160 vreg_l11a_0p8: ldo11 { 161 regulator-min-microvolt = <800000>; 162 regulator-max-microvolt = <800000>; 163 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 164 }; 165 166 vdd_qfprom: 167 vdd_qfprom_sp: 168 vdda_apc_cs_1p8: 169 vdda_gfx_cs_1p8: 170 vdda_usb_hs_1p8: 171 vdda_qrefs_vref_1p8: 172 vddpx_10_a: 173 vreg_l12a_1p8: ldo12 { 174 regulator-min-microvolt = <1800000>; 175 regulator-max-microvolt = <1800000>; 176 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 177 }; 178 179 vreg_l13a_2p7: ldo13 { 180 regulator-min-microvolt = <2704000>; 181 regulator-max-microvolt = <2704000>; 182 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 183 }; 184 185 vreg_l14a_1p8: ldo14 { 186 regulator-min-microvolt = <1800000>; 187 regulator-max-microvolt = <1880000>; 188 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 189 }; 190 191 vreg_l15a_1p7: ldo15 { 192 regulator-min-microvolt = <1704000>; 193 regulator-max-microvolt = <1704000>; 194 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 195 }; 196 197 vreg_l16a_2p7: ldo16 { 198 regulator-min-microvolt = <2704000>; 199 regulator-max-microvolt = <2960000>; 200 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 201 }; 202 203 vreg_l17a_3p0: ldo17 { 204 regulator-min-microvolt = <2856000>; 205 regulator-max-microvolt = <3008000>; 206 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 207 }; 208 }; 209 210 regulators-1 { 211 compatible = "qcom,pm8150l-rpmh-regulators"; 212 qcom,pmic-id = "c"; 213 214 vdd-s1-supply = <&vph_pwr>; 215 vdd-s2-supply = <&vph_pwr>; 216 vdd-s3-supply = <&vph_pwr>; 217 vdd-s4-supply = <&vph_pwr>; 218 vdd-s5-supply = <&vph_pwr>; 219 vdd-s6-supply = <&vph_pwr>; 220 vdd-s7-supply = <&vph_pwr>; 221 vdd-s8-supply = <&vph_pwr>; 222 223 vdd-l1-l8-supply = <&vreg_s4a_1p8>; 224 vdd-l2-l3-supply = <&vreg_s8c_1p3>; 225 vdd-l4-l5-l6-supply = <&vreg_bob>; 226 vdd-l7-l11-supply = <&vreg_bob>; 227 vdd-l9-l10-supply = <&vreg_bob>; 228 229 vdd-bob-supply = <&vph_pwr>; 230 vdd-flash-supply = <&vreg_bob>; 231 vdd-rgb-supply = <&vreg_bob>; 232 233 vreg_bob: bob { 234 regulator-min-microvolt = <3008000>; 235 regulator-max-microvolt = <4000000>; 236 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 237 regulator-allow-bypass; 238 }; 239 240 vreg_s8c_1p3: smps8 { 241 regulator-min-microvolt = <1352000>; 242 regulator-max-microvolt = <1352000>; 243 }; 244 245 vreg_l1c_1p8: ldo1 { 246 regulator-min-microvolt = <1800000>; 247 regulator-max-microvolt = <1800000>; 248 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 249 }; 250 251 vdda_wcss_adcdac_1: 252 vdda_wcss_adcdac_22: 253 vreg_l2c_1p3: ldo2 { 254 regulator-min-microvolt = <1304000>; 255 regulator-max-microvolt = <1304000>; 256 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 257 }; 258 259 vdda_hv_ebi0: 260 vdda_hv_ebi1: 261 vdda_hv_ebi2: 262 vdda_hv_ebi3: 263 vdda_hv_refgen0: 264 vdda_qlink_hv_ck: 265 vreg_l3c_1p2: ldo3 { 266 regulator-min-microvolt = <1200000>; 267 regulator-max-microvolt = <1200000>; 268 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 269 }; 270 271 vddpx_5: 272 vreg_l4c_1p8: ldo4 { 273 regulator-min-microvolt = <1704000>; 274 regulator-max-microvolt = <2928000>; 275 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 276 }; 277 278 vddpx_6: 279 vreg_l5c_1p8: ldo5 { 280 regulator-min-microvolt = <1704000>; 281 regulator-max-microvolt = <2928000>; 282 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 283 }; 284 285 vddpx_2: 286 vreg_l6c_2p9: ldo6 { 287 regulator-min-microvolt = <1800000>; 288 regulator-max-microvolt = <2960000>; 289 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 290 }; 291 292 vreg_l7c_3p0: ldo7 { 293 regulator-min-microvolt = <2856000>; 294 regulator-max-microvolt = <3104000>; 295 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 296 }; 297 298 vreg_l8c_1p8: ldo8 { 299 regulator-min-microvolt = <1800000>; 300 regulator-max-microvolt = <1800000>; 301 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 302 }; 303 304 vreg_l9c_2p9: ldo9 { 305 regulator-min-microvolt = <2704000>; 306 regulator-max-microvolt = <2960000>; 307 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 308 }; 309 310 vreg_l10c_3p3: ldo10 { 311 regulator-min-microvolt = <3000000>; 312 regulator-max-microvolt = <3312000>; 313 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 314 }; 315 316 vreg_l11c_3p3: ldo11 { 317 regulator-min-microvolt = <3000000>; 318 regulator-max-microvolt = <3312000>; 319 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 320 }; 321 }; 322 323 regulators-2 { 324 compatible = "qcom,pm8009-rpmh-regulators"; 325 qcom,pmic-id = "f"; 326 327 vdd-s1-supply = <&vph_pwr>; 328 vdd-s2-supply = <&vreg_bob>; 329 330 vdd-l2-supply = <&vreg_s8c_1p3>; 331 vdd-l5-l6-supply = <&vreg_bob>; 332 333 vreg_l2f_1p2: ldo2 { 334 regulator-min-microvolt = <1200000>; 335 regulator-max-microvolt = <1200000>; 336 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 337 }; 338 339 vreg_l5f_2p85: ldo5 { 340 regulator-min-microvolt = <2800000>; 341 regulator-max-microvolt = <2800000>; 342 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 343 }; 344 345 vreg_l6f_2p85: ldo6 { 346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 347 regulator-min-microvolt = <2856000>; 348 regulator-max-microvolt = <2856000>; 349 }; 350 }; 351}; 352 353&gmu { 354 status = "okay"; 355}; 356 357&gpu { 358 /* 359 * NOTE: "amd,imageon" makes Adreno start in headless mode, remove it 360 * after display support is added on this board. 361 */ 362 compatible = "qcom,adreno-640.1", "qcom,adreno", "amd,imageon"; 363 status = "okay"; 364}; 365 366&pon_pwrkey { 367 status = "okay"; 368}; 369 370&pon_resin { 371 status = "okay"; 372 373 linux,code = <KEY_VOLUMEDOWN>; 374}; 375 376&qupv3_id_1 { 377 status = "okay"; 378}; 379 380&remoteproc_adsp { 381 status = "okay"; 382 firmware-name = "qcom/sm8150/adsp.mdt"; 383}; 384 385&remoteproc_cdsp { 386 status = "okay"; 387 firmware-name = "qcom/sm8150/cdsp.mdt"; 388}; 389 390&remoteproc_mpss { 391 status = "okay"; 392 firmware-name = "qcom/sm8150/modem.mdt"; 393}; 394 395&remoteproc_slpi { 396 status = "okay"; 397 firmware-name = "qcom/sm8150/slpi.mdt"; 398}; 399 400&tlmm { 401 gpio-reserved-ranges = <0 4>, <126 4>; 402}; 403 404&uart2 { 405 status = "okay"; 406}; 407 408&ufs_mem_hc { 409 status = "okay"; 410 411 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 412 413 vcc-supply = <&vreg_l10a_2p5>; 414 vcc-max-microamp = <750000>; 415 vccq-supply = <&vreg_l9a_1p2>; 416 vccq-max-microamp = <700000>; 417 vccq2-supply = <&vreg_s4a_1p8>; 418 vccq2-max-microamp = <750000>; 419}; 420 421&ufs_mem_phy { 422 status = "okay"; 423 424 vdda-phy-supply = <&vdda_ufs_2ln_core_1>; 425 vdda-pll-supply = <&vreg_l3c_1p2>; 426}; 427 428&usb_1_hsphy { 429 status = "okay"; 430 vdda-pll-supply = <&vdd_usb_hs_core>; 431 vdda33-supply = <&vdda_usb_hs_3p1>; 432 vdda18-supply = <&vdda_usb_hs_1p8>; 433}; 434 435&usb_1_qmpphy { 436 status = "okay"; 437 vdda-phy-supply = <&vreg_l3c_1p2>; 438 vdda-pll-supply = <&vdda_usb_ss_dp_core_1>; 439}; 440 441&usb_1 { 442 status = "okay"; 443}; 444 445&usb_1_dwc3 { 446 dr_mode = "peripheral"; 447}; 448 449&wifi { 450 status = "okay"; 451 452 vdd-0.8-cx-mx-supply = <&vdda_wcss_pll>; 453 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 454 vdd-1.3-rfa-supply = <&vdda_wcss_adcdac_1>; 455 vdd-3.3-ch0-supply = <&vreg_l11c_3p3>; 456}; 457