162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci/dts-v1/;
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "qcom-sdx65.dtsi"
862306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
962306a36Sopenharmony_ci#include <arm64/qcom/pmk8350.dtsi>
1062306a36Sopenharmony_ci#include <arm64/qcom/pm7250b.dtsi>
1162306a36Sopenharmony_ci#include "pmx65.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Qualcomm Technologies, Inc. SDX65 MTP";
1562306a36Sopenharmony_ci	compatible = "qcom,sdx65-mtp", "qcom,sdx65";
1662306a36Sopenharmony_ci	qcom,board-id = <0x2010008 0x302>;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		serial0 = &blsp1_uart3;
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	chosen {
2362306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
2462306a36Sopenharmony_ci	};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	reserved-memory {
2762306a36Sopenharmony_ci		#address-cells = <1>;
2862306a36Sopenharmony_ci		#size-cells = <1>;
2962306a36Sopenharmony_ci		ranges;
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		mpss_dsm: memory@8c400000 {
3262306a36Sopenharmony_ci			no-map;
3362306a36Sopenharmony_ci			reg = <0x8c400000 0x3200000>;
3462306a36Sopenharmony_ci		};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		ipa_fw_mem: memory@8fced000 {
3762306a36Sopenharmony_ci			no-map;
3862306a36Sopenharmony_ci			reg = <0x8fced000 0x10000>;
3962306a36Sopenharmony_ci		};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci		mpss_adsp_mem: memory@90800000 {
4262306a36Sopenharmony_ci			no-map;
4362306a36Sopenharmony_ci			reg = <0x90800000 0x10000000>;
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	vph_pwr: vph-pwr-regulator {
4862306a36Sopenharmony_ci		compatible = "regulator-fixed";
4962306a36Sopenharmony_ci		regulator-name = "vph_pwr";
5062306a36Sopenharmony_ci		regulator-min-microvolt = <3700000>;
5162306a36Sopenharmony_ci		regulator-max-microvolt = <3700000>;
5262306a36Sopenharmony_ci	};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	vreg_bob_3p3: pmx65_bob {
5562306a36Sopenharmony_ci		compatible = "regulator-fixed";
5662306a36Sopenharmony_ci		regulator-name = "vreg_bob_3p3";
5762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
5862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci		regulator-always-on;
6162306a36Sopenharmony_ci		regulator-boot-on;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		vin-supply = <&vph_pwr>;
6462306a36Sopenharmony_ci	};
6562306a36Sopenharmony_ci};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci&apps_rsc {
6862306a36Sopenharmony_ci	regulators-0 {
6962306a36Sopenharmony_ci		compatible = "qcom,pmx65-rpmh-regulators";
7062306a36Sopenharmony_ci		qcom,pmic-id = "b";
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		vdd-s1-supply = <&vph_pwr>;
7362306a36Sopenharmony_ci		vdd-s2-supply = <&vph_pwr>;
7462306a36Sopenharmony_ci		vdd-s3-supply = <&vph_pwr>;
7562306a36Sopenharmony_ci		vdd-s4-supply = <&vph_pwr>;
7662306a36Sopenharmony_ci		vdd-s5-supply = <&vph_pwr>;
7762306a36Sopenharmony_ci		vdd-s6-supply = <&vph_pwr>;
7862306a36Sopenharmony_ci		vdd-s7-supply = <&vph_pwr>;
7962306a36Sopenharmony_ci		vdd-s8-supply = <&vph_pwr>;
8062306a36Sopenharmony_ci		vdd-l1-supply = <&vreg_s2b_1p224>;
8162306a36Sopenharmony_ci		vdd-l2-l18-supply = <&vreg_s2b_1p224>;
8262306a36Sopenharmony_ci		vdd-l3-supply = <&vreg_s8b_0p824>;
8362306a36Sopenharmony_ci		vdd-l4-supply = <&vreg_s7b_0p936>;
8462306a36Sopenharmony_ci		vdd-l5-l6-l16-supply = <&vreg_s4b_1p824>;
8562306a36Sopenharmony_ci		vdd-l7-supply = <&vreg_s3b_0p776>;
8662306a36Sopenharmony_ci		vdd-l8-l9-supply = <&vreg_s8b_0p824>;
8762306a36Sopenharmony_ci		vdd-l10-supply = <&vreg_bob_3p3>;
8862306a36Sopenharmony_ci		vdd-l11-l13-supply = <&vreg_bob_3p3>;
8962306a36Sopenharmony_ci		vdd-l12-supply = <&vreg_s2b_1p224>;
9062306a36Sopenharmony_ci		vdd-l14-supply = <&vreg_s3b_0p776>;
9162306a36Sopenharmony_ci		vdd-l15-supply = <&vreg_s2b_1p224>;
9262306a36Sopenharmony_ci		vdd-l17-supply = <&vreg_s8b_0p824>;
9362306a36Sopenharmony_ci		vdd-l19-supply = <&vreg_s3b_0p776>;
9462306a36Sopenharmony_ci		vdd-l20-supply = <&vreg_s7b_0p936>;
9562306a36Sopenharmony_ci		vdd-l21-supply = <&vreg_s7b_0p936>;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci		vreg_s2b_1p224: smps2 {
9862306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
9962306a36Sopenharmony_ci			regulator-max-microvolt = <1400000>;
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci		vreg_s3b_0p776: smps3 {
10362306a36Sopenharmony_ci			regulator-min-microvolt = <500000>;
10462306a36Sopenharmony_ci			regulator-max-microvolt = <1040000>;
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci		vreg_s4b_1p824: smps4 {
10862306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
10962306a36Sopenharmony_ci			regulator-max-microvolt = <2024000>;
11062306a36Sopenharmony_ci		};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci		vreg_s7b_0p936: smps7 {
11362306a36Sopenharmony_ci			regulator-min-microvolt = <500000>;
11462306a36Sopenharmony_ci			regulator-max-microvolt = <1040000>;
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci		vreg_s8b_0p824: smps8 {
11862306a36Sopenharmony_ci			regulator-min-microvolt = <304000>;
11962306a36Sopenharmony_ci			regulator-max-microvolt = <1300000>;
12062306a36Sopenharmony_ci		};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci		vreg_l1b_1p2: ldo1 {
12362306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
12462306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
12562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
12662306a36Sopenharmony_ci		};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		ldo2 {
12962306a36Sopenharmony_ci			regulator-min-microvolt = <1128000>;
13062306a36Sopenharmony_ci			regulator-max-microvolt = <1128000>;
13162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
13262306a36Sopenharmony_ci		};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		ldo3 {
13562306a36Sopenharmony_ci			regulator-min-microvolt = <300000>;
13662306a36Sopenharmony_ci			regulator-max-microvolt = <960000>;
13762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci		vreg_l4b_0p88: ldo4 {
14162306a36Sopenharmony_ci			regulator-min-microvolt = <880000>;
14262306a36Sopenharmony_ci			regulator-max-microvolt = <912000>;
14362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
14462306a36Sopenharmony_ci		};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci		vreg_l5b_1p8: ldo5 {
14762306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
14862306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
14962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15062306a36Sopenharmony_ci		};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		ldo6 {
15362306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
15462306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
15562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci		ldo7 {
15962306a36Sopenharmony_ci			regulator-min-microvolt = <752000>;
16062306a36Sopenharmony_ci			regulator-max-microvolt = <752000>;
16162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16262306a36Sopenharmony_ci		};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci		ldo8 {
16562306a36Sopenharmony_ci			regulator-min-microvolt = <800000>;
16662306a36Sopenharmony_ci			regulator-max-microvolt = <800000>;
16762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16862306a36Sopenharmony_ci		};
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci		ldo9 {
17162306a36Sopenharmony_ci			regulator-min-microvolt = <800000>;
17262306a36Sopenharmony_ci			regulator-max-microvolt = <800000>;
17362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
17462306a36Sopenharmony_ci		};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci		vreg_l10b_3p08: ldo10 {
17762306a36Sopenharmony_ci			regulator-min-microvolt = <3088000>;
17862306a36Sopenharmony_ci			regulator-max-microvolt = <3088000>;
17962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18062306a36Sopenharmony_ci		};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci		ldo11 {
18362306a36Sopenharmony_ci			regulator-min-microvolt = <1704000>;
18462306a36Sopenharmony_ci			regulator-max-microvolt = <2928000>;
18562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18662306a36Sopenharmony_ci		};
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci		ldo12 {
18962306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
19062306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
19162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19262306a36Sopenharmony_ci		};
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		ldo13 {
19562306a36Sopenharmony_ci			regulator-min-microvolt = <1704000>;
19662306a36Sopenharmony_ci			regulator-max-microvolt = <2928000>;
19762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19862306a36Sopenharmony_ci		};
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci		ldo14 {
20162306a36Sopenharmony_ci			regulator-min-microvolt = <600000>;
20262306a36Sopenharmony_ci			regulator-max-microvolt = <800000>;
20362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20462306a36Sopenharmony_ci		};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci		ldo15 {
20762306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
20862306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
20962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21062306a36Sopenharmony_ci		};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci		ldo16 {
21362306a36Sopenharmony_ci			regulator-min-microvolt = <1776000>;
21462306a36Sopenharmony_ci			regulator-max-microvolt = <1776000>;
21562306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21662306a36Sopenharmony_ci		};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci		ldo17 {
21962306a36Sopenharmony_ci			regulator-min-microvolt = <300000>;
22062306a36Sopenharmony_ci			regulator-max-microvolt = <960000>;
22162306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22262306a36Sopenharmony_ci		};
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci		ldo19 {
22562306a36Sopenharmony_ci			regulator-min-microvolt = <752000>;
22662306a36Sopenharmony_ci			regulator-max-microvolt = <752000>;
22762306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22862306a36Sopenharmony_ci		};
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci		ldo20 {
23162306a36Sopenharmony_ci			regulator-min-microvolt = <912000>;
23262306a36Sopenharmony_ci			regulator-max-microvolt = <912000>;
23362306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23462306a36Sopenharmony_ci		};
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci		ldo21 {
23762306a36Sopenharmony_ci			regulator-min-microvolt = <912000>;
23862306a36Sopenharmony_ci			regulator-max-microvolt = <912000>;
23962306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24062306a36Sopenharmony_ci		};
24162306a36Sopenharmony_ci	};
24262306a36Sopenharmony_ci};
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci&blsp1_uart3 {
24562306a36Sopenharmony_ci	status = "okay";
24662306a36Sopenharmony_ci};
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci&ipa {
24962306a36Sopenharmony_ci	qcom,gsi-loader = "skip";
25062306a36Sopenharmony_ci	status = "okay";
25162306a36Sopenharmony_ci};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci&pcie_ep {
25462306a36Sopenharmony_ci	pinctrl-0 = <&pcie_ep_clkreq_default
25562306a36Sopenharmony_ci		     &pcie_ep_perst_default
25662306a36Sopenharmony_ci		     &pcie_ep_wake_default>;
25762306a36Sopenharmony_ci	pinctrl-names = "default";
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci	reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
26062306a36Sopenharmony_ci	wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ci	status = "okay";
26362306a36Sopenharmony_ci};
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci&pcie_phy {
26662306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l1b_1p2>;
26762306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l4b_0p88>;
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	status = "okay";
27062306a36Sopenharmony_ci};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci&qpic_bam {
27362306a36Sopenharmony_ci	status = "okay";
27462306a36Sopenharmony_ci};
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci&qpic_nand {
27762306a36Sopenharmony_ci	status = "okay";
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ci	nand@0 {
28062306a36Sopenharmony_ci		reg = <0>;
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci		nand-ecc-strength = <4>;
28362306a36Sopenharmony_ci		nand-ecc-step-size = <512>;
28462306a36Sopenharmony_ci		nand-bus-width = <8>;
28562306a36Sopenharmony_ci		/* ico and efs2 partitions are secured */
28662306a36Sopenharmony_ci		secure-regions = /bits/ 64 <0x500000 0x500000
28762306a36Sopenharmony_ci					    0xa00000 0xb00000>;
28862306a36Sopenharmony_ci	};
28962306a36Sopenharmony_ci};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci&remoteproc_mpss {
29262306a36Sopenharmony_ci	memory-region = <&mpss_adsp_mem>;
29362306a36Sopenharmony_ci	status = "okay";
29462306a36Sopenharmony_ci};
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci&tlmm {
29762306a36Sopenharmony_ci	pcie_ep_clkreq_default: pcie-ep-clkreq-default-state {
29862306a36Sopenharmony_ci		pins = "gpio56";
29962306a36Sopenharmony_ci		function = "pcie_clkreq";
30062306a36Sopenharmony_ci		drive-strength = <2>;
30162306a36Sopenharmony_ci		bias-disable;
30262306a36Sopenharmony_ci	};
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci	pcie_ep_perst_default: pcie-ep-perst-default-state {
30562306a36Sopenharmony_ci		pins = "gpio57";
30662306a36Sopenharmony_ci		function = "gpio";
30762306a36Sopenharmony_ci		drive-strength = <2>;
30862306a36Sopenharmony_ci		bias-pull-down;
30962306a36Sopenharmony_ci	};
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci	pcie_ep_wake_default: pcie-ep-wake-default-state {
31262306a36Sopenharmony_ci		pins = "gpio53";
31362306a36Sopenharmony_ci		function = "gpio";
31462306a36Sopenharmony_ci		drive-strength = <2>;
31562306a36Sopenharmony_ci		bias-disable;
31662306a36Sopenharmony_ci	};
31762306a36Sopenharmony_ci};
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci&usb {
32062306a36Sopenharmony_ci	status = "okay";
32162306a36Sopenharmony_ci};
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci&usb_dwc3 {
32462306a36Sopenharmony_ci	dr_mode = "peripheral";
32562306a36Sopenharmony_ci};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci&usb_hsphy {
32862306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l4b_0p88>;
32962306a36Sopenharmony_ci	vdda33-supply = <&vreg_l10b_3p08>;
33062306a36Sopenharmony_ci	vdda18-supply = <&vreg_l5b_1p8>;
33162306a36Sopenharmony_ci	status = "okay";
33262306a36Sopenharmony_ci};
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci&usb_qmpphy {
33562306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l4b_0p88>;
33662306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l1b_1p2>;
33762306a36Sopenharmony_ci	status = "okay";
33862306a36Sopenharmony_ci};
339