162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2021, Linaro Ltd.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1062306a36Sopenharmony_ci#include "qcom-sdx55.dtsi"
1162306a36Sopenharmony_ci#include "pmx55.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Telit FN980 TLB";
1562306a36Sopenharmony_ci	compatible = "qcom,sdx55-telit-fn980-tlb", "qcom,sdx55";
1662306a36Sopenharmony_ci	qcom,board-id = <0xb010008 0x0>;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		serial0 = &blsp1_uart3;
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	chosen {
2362306a36Sopenharmony_ci		stdout-path = "serial0:921600n8";
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_debug_mem: memory@8ef00000 {
3262306a36Sopenharmony_ci			no-map;
3362306a36Sopenharmony_ci			reg = <0x8ef00000 0x800000>;
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 0xf800000>;
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: pmx55-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	vreg_s7e_mx_0p752: pmx55-s7e {
6762306a36Sopenharmony_ci		compatible = "regulator-fixed";
6862306a36Sopenharmony_ci		regulator-name = "vreg_s7e_mx_0p752";
6962306a36Sopenharmony_ci		regulator-min-microvolt = <752000>;
7062306a36Sopenharmony_ci		regulator-max-microvolt = <752000>;
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		vin-supply = <&vph_pwr>;
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	vreg_sd_vdd: sd-vdd {
7662306a36Sopenharmony_ci		compatible = "regulator-fixed";
7762306a36Sopenharmony_ci		regulator-name = "vreg_sd_vdd";
7862306a36Sopenharmony_ci		regulator-min-microvolt = <2950000>;
7962306a36Sopenharmony_ci		regulator-max-microvolt = <2950000>;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		vin-supply = <&vreg_vddpx_2>;
8262306a36Sopenharmony_ci	};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci	vreg_vddpx_2: vddpx-2 {
8562306a36Sopenharmony_ci		compatible = "regulator-gpio";
8662306a36Sopenharmony_ci		regulator-name = "vreg_vddpx_2";
8762306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
8862306a36Sopenharmony_ci		regulator-max-microvolt = <2850000>;
8962306a36Sopenharmony_ci		enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
9062306a36Sopenharmony_ci		gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
9162306a36Sopenharmony_ci		states = <1800000 0>, <2850000 1>;
9262306a36Sopenharmony_ci		startup-delay-us = <200000>;
9362306a36Sopenharmony_ci		enable-active-high;
9462306a36Sopenharmony_ci		regulator-boot-on;
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci		vin-supply = <&vph_pwr>;
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci&apps_rsc {
10162306a36Sopenharmony_ci	regulators-0 {
10262306a36Sopenharmony_ci		compatible = "qcom,pmx55-rpmh-regulators";
10362306a36Sopenharmony_ci		qcom,pmic-id = "e";
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci		vdd-s1-supply = <&vph_pwr>;
10662306a36Sopenharmony_ci		vdd-s2-supply = <&vph_pwr>;
10762306a36Sopenharmony_ci		vdd-s3-supply = <&vph_pwr>;
10862306a36Sopenharmony_ci		vdd-s4-supply = <&vph_pwr>;
10962306a36Sopenharmony_ci		vdd-s5-supply = <&vph_pwr>;
11062306a36Sopenharmony_ci		vdd-s6-supply = <&vph_pwr>;
11162306a36Sopenharmony_ci		vdd-s7-supply = <&vph_pwr>;
11262306a36Sopenharmony_ci		vdd-l1-l2-supply = <&vreg_s2e_1p224>;
11362306a36Sopenharmony_ci		vdd-l3-l9-supply = <&vreg_s3e_0p824>;
11462306a36Sopenharmony_ci		vdd-l4-l12-supply = <&vreg_s4e_1p904>;
11562306a36Sopenharmony_ci		vdd-l5-l6-supply = <&vreg_s4e_1p904>;
11662306a36Sopenharmony_ci		vdd-l7-l8-supply = <&vreg_s3e_0p824>;
11762306a36Sopenharmony_ci		vdd-l10-l11-l13-supply = <&vreg_bob_3p3>;
11862306a36Sopenharmony_ci		vdd-l14-supply = <&vreg_s7e_mx_0p752>;
11962306a36Sopenharmony_ci		vdd-l15-supply = <&vreg_s2e_1p224>;
12062306a36Sopenharmony_ci		vdd-l16-supply = <&vreg_s4e_1p904>;
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci		vreg_s2e_1p224: smps2 {
12362306a36Sopenharmony_ci			regulator-min-microvolt = <1280000>;
12462306a36Sopenharmony_ci			regulator-max-microvolt = <1400000>;
12562306a36Sopenharmony_ci		};
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci		vreg_s3e_0p824: smps3 {
12862306a36Sopenharmony_ci			regulator-min-microvolt = <800000>;
12962306a36Sopenharmony_ci			regulator-max-microvolt = <1000000>;
13062306a36Sopenharmony_ci		};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci		vreg_s4e_1p904: smps4 {
13362306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
13462306a36Sopenharmony_ci			regulator-max-microvolt = <1960000>;
13562306a36Sopenharmony_ci		};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci		vreg_l1e_bb_1p2: ldo1 {
13862306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
13962306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
14062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
14162306a36Sopenharmony_ci		};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci		ldo2 {
14462306a36Sopenharmony_ci			regulator-min-microvolt = <1128000>;
14562306a36Sopenharmony_ci			regulator-max-microvolt = <1128000>;
14662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
14762306a36Sopenharmony_ci		};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci		ldo3 {
15062306a36Sopenharmony_ci			regulator-min-microvolt = <800000>;
15162306a36Sopenharmony_ci			regulator-max-microvolt = <800000>;
15262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
15362306a36Sopenharmony_ci		};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci		vreg_l4e_bb_0p875: ldo4 {
15662306a36Sopenharmony_ci			regulator-min-microvolt = <872000>;
15762306a36Sopenharmony_ci			regulator-max-microvolt = <872000>;
15862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
15962306a36Sopenharmony_ci		};
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci		vreg_l5e_bb_1p7: ldo5 {
16262306a36Sopenharmony_ci			regulator-min-microvolt = <1704000>;
16362306a36Sopenharmony_ci			regulator-max-microvolt = <1900000>;
16462306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
16562306a36Sopenharmony_ci		};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci		ldo6 {
16862306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
16962306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
17062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
17162306a36Sopenharmony_ci		};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci		ldo7 {
17462306a36Sopenharmony_ci			regulator-min-microvolt = <480000>;
17562306a36Sopenharmony_ci			regulator-max-microvolt = <900000>;
17662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
17762306a36Sopenharmony_ci		};
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci		ldo8 {
18062306a36Sopenharmony_ci			regulator-min-microvolt = <480000>;
18162306a36Sopenharmony_ci			regulator-max-microvolt = <900000>;
18262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
18362306a36Sopenharmony_ci		};
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci		ldo9 {
18662306a36Sopenharmony_ci			regulator-min-microvolt = <800000>;
18762306a36Sopenharmony_ci			regulator-max-microvolt = <800000>;
18862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
18962306a36Sopenharmony_ci		};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci		vreg_l10e_3p1: ldo10 {
19262306a36Sopenharmony_ci			regulator-min-microvolt = <3088000>;
19362306a36Sopenharmony_ci			regulator-max-microvolt = <3088000>;
19462306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
19562306a36Sopenharmony_ci		};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci		ldo11 {
19862306a36Sopenharmony_ci			regulator-min-microvolt = <1704000>;
19962306a36Sopenharmony_ci			regulator-max-microvolt = <2928000>;
20062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
20162306a36Sopenharmony_ci		};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci		ldo12 {
20462306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
20562306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
20662306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
20762306a36Sopenharmony_ci		};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci		ldo13 {
21062306a36Sopenharmony_ci			regulator-min-microvolt = <1704000>;
21162306a36Sopenharmony_ci			regulator-max-microvolt = <2928000>;
21262306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
21362306a36Sopenharmony_ci		};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci		ldo14 {
21662306a36Sopenharmony_ci			regulator-min-microvolt = <600000>;
21762306a36Sopenharmony_ci			regulator-max-microvolt = <800000>;
21862306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
21962306a36Sopenharmony_ci		};
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci		ldo15 {
22262306a36Sopenharmony_ci			regulator-min-microvolt = <1200000>;
22362306a36Sopenharmony_ci			regulator-max-microvolt = <1200000>;
22462306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
22562306a36Sopenharmony_ci		};
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		ldo16 {
22862306a36Sopenharmony_ci			regulator-min-microvolt = <1704000>;
22962306a36Sopenharmony_ci			regulator-max-microvolt = <1904000>;
23062306a36Sopenharmony_ci			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
23162306a36Sopenharmony_ci		};
23262306a36Sopenharmony_ci	};
23362306a36Sopenharmony_ci};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci&blsp1_uart3 {
23662306a36Sopenharmony_ci	status = "okay";
23762306a36Sopenharmony_ci};
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci&ipa {
24062306a36Sopenharmony_ci	qcom,gsi-loader = "self";
24162306a36Sopenharmony_ci	memory-region = <&ipa_fw_mem>;
24262306a36Sopenharmony_ci	status = "okay";
24362306a36Sopenharmony_ci};
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci&pcie_phy {
24662306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l1e_bb_1p2>;
24762306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l4e_bb_0p875>;
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci	status = "okay";
25062306a36Sopenharmony_ci};
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci&pcie_ep {
25362306a36Sopenharmony_ci	pinctrl-names = "default";
25462306a36Sopenharmony_ci	pinctrl-0 = <&pcie_ep_clkreq_default &pcie_ep_perst_default
25562306a36Sopenharmony_ci		     &pcie_ep_wake_default>;
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci	reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
25862306a36Sopenharmony_ci	wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci	status = "okay";
26162306a36Sopenharmony_ci};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci&qpic_bam {
26462306a36Sopenharmony_ci	status = "okay";
26562306a36Sopenharmony_ci};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci&qpic_nand {
26862306a36Sopenharmony_ci	status = "okay";
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci	nand@0 {
27162306a36Sopenharmony_ci		reg = <0>;
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci		nand-ecc-strength = <8>;
27462306a36Sopenharmony_ci		nand-ecc-step-size = <512>;
27562306a36Sopenharmony_ci		nand-bus-width = <8>;
27662306a36Sopenharmony_ci		/* ico and efs2 partitions are secured */
27762306a36Sopenharmony_ci		secure-regions = /bits/ 64 <0x500000 0x500000
27862306a36Sopenharmony_ci					    0xa00000 0xb00000>;
27962306a36Sopenharmony_ci	};
28062306a36Sopenharmony_ci};
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci&remoteproc_mpss {
28362306a36Sopenharmony_ci	memory-region = <&mpss_adsp_mem>;
28462306a36Sopenharmony_ci	status = "okay";
28562306a36Sopenharmony_ci};
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci&tlmm {
28862306a36Sopenharmony_ci	pcie_ep_clkreq_default: pcie-ep-clkreq-default-state {
28962306a36Sopenharmony_ci		pins = "gpio56";
29062306a36Sopenharmony_ci		function = "pcie_clkreq";
29162306a36Sopenharmony_ci		drive-strength = <2>;
29262306a36Sopenharmony_ci		bias-disable;
29362306a36Sopenharmony_ci	};
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci	pcie_ep_perst_default: pcie-ep-perst-default-state {
29662306a36Sopenharmony_ci		pins = "gpio57";
29762306a36Sopenharmony_ci		function = "gpio";
29862306a36Sopenharmony_ci		drive-strength = <2>;
29962306a36Sopenharmony_ci		bias-pull-down;
30062306a36Sopenharmony_ci	};
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci	pcie_ep_wake_default: pcie-ep-wake-default-state {
30362306a36Sopenharmony_ci		pins = "gpio53";
30462306a36Sopenharmony_ci		function = "gpio";
30562306a36Sopenharmony_ci		drive-strength = <2>;
30662306a36Sopenharmony_ci		bias-disable;
30762306a36Sopenharmony_ci	};
30862306a36Sopenharmony_ci};
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci&usb_hsphy {
31162306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l4e_bb_0p875>;
31262306a36Sopenharmony_ci	vdda33-supply = <&vreg_l10e_3p1>;
31362306a36Sopenharmony_ci	vdda18-supply = <&vreg_l5e_bb_1p7>;
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci	status = "okay";
31662306a36Sopenharmony_ci};
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci&usb_qmpphy {
31962306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l4e_bb_0p875>;
32062306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l1e_bb_1p2>;
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci	status = "okay";
32362306a36Sopenharmony_ci};
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci&usb {
32662306a36Sopenharmony_ci	status = "okay";
32762306a36Sopenharmony_ci};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci&usb_dwc3 {
33062306a36Sopenharmony_ci	dr_mode = "peripheral";
33162306a36Sopenharmony_ci};
332