Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/arm64/boot/dts/qcom/eliza-mtp.dts
170998 views
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "eliza.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. Eliza MTP";
	compatible = "qcom,eliza-mtp", "qcom,eliza";
	chassis-type = "handset";

	aliases {
		serial0 = &uart14;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	clocks {
		xo_board: xo-board {
			compatible = "fixed-clock";
			clock-frequency = <76800000>;
			#clock-cells = <0>;
		};

		sleep_clk: sleep-clk {
			compatible = "fixed-clock";
			clock-frequency = <32764>;
			#clock-cells = <0>;
		};

		bi_tcxo_div2: bi-tcxo-div2-clk {
			compatible = "fixed-factor-clock";
			#clock-cells = <0>;

			clocks = <&rpmhcc RPMH_CXO_CLK>;
			clock-mult = <1>;
			clock-div = <2>;
		};

		bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
			compatible = "fixed-factor-clock";
			#clock-cells = <0>;

			clocks = <&rpmhcc RPMH_CXO_CLK_A>;
			clock-mult = <1>;
			clock-div = <2>;
		};
	};

	vph_pwr: regulator-vph-pwr {
		compatible = "regulator-fixed";

		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;

		regulator-always-on;
		regulator-boot-on;
	};
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm7550-rpmh-regulators";

		vdd-l1-supply = <&vreg_s3b>;
		vdd-l2-l3-supply = <&vreg_s3b>;
		vdd-l4-l5-supply = <&vreg_s2b>;
		vdd-l6-supply = <&vreg_s2b>;
		vdd-l7-supply = <&vreg_s1b>;
		vdd-l8-supply = <&vreg_s1b>;
		vdd-l9-l10-supply = <&vreg_s1b>;
		vdd-l11-supply = <&vreg_s1b>;
		vdd-l12-l14-supply = <&vreg_bob>;
		vdd-l13-l16-supply = <&vreg_bob>;
		vdd-l15-l17-l18-l19-l20-l21-l22-l23-supply = <&vreg_bob>;
		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;

		vdd-bob-supply = <&vph_pwr>;

		qcom,pmic-id = "b";

		vreg_s1b: smps1 {
			regulator-name = "vreg_s1b";
			regulator-min-microvolt = <1850000>;
			regulator-max-microvolt = <2040000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s2b: smps2 {
			regulator-name = "vreg_s2b";
			regulator-min-microvolt = <375000>;
			regulator-max-microvolt = <2744000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s3b: smps3 {
			regulator-name = "vreg_s3b";
			regulator-min-microvolt = <375000>;
			regulator-max-microvolt = <2744000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s4b: smps4 {
			regulator-name = "vreg_s4b";
			regulator-min-microvolt = <2156000>;
			regulator-max-microvolt = <2400000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2b: ldo2 {
			regulator-name = "vreg_l2b";
			regulator-min-microvolt = <720000>;
			regulator-max-microvolt = <950000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3b: ldo3 {
			regulator-name = "vreg_l3b";
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4b: ldo4 {
			regulator-name = "vreg_l4b";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6b: ldo6 {
			regulator-name = "vreg_l6b";
			regulator-min-microvolt = <866000>;
			regulator-max-microvolt = <958000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7b: ldo7 {
			regulator-name = "vreg_l7b";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8b: ldo8 {
			regulator-name = "vreg_l8b";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9b: ldo9 {
			regulator-name = "vreg_l9b";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10b: ldo10 {
			regulator-name = "vreg_l10b";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11b: ldo11 {
			regulator-name = "vreg_l11b";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12b: ldo12 {
			regulator-name = "vreg_l12b";
			/* Voltage range for UFS 3.x and above */
			regulator-min-microvolt = <2400000>;
			regulator-max-microvolt = <3300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l13b: ldo13 {
			regulator-name = "vreg_l13b";
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <3300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l14b: ldo14 {
			regulator-name = "vreg_l14b";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15b: ldo15 {
			regulator-name = "vreg_l15b";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l16b: ldo16 {
			regulator-name = "vreg_l16b";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l17b: ldo17 {
			regulator-name = "vreg_l17b";
			regulator-min-microvolt = <3104000>;
			regulator-max-microvolt = <3104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l18b: ldo18 {
			regulator-name = "vreg_l18b";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l19b: ldo19 {
			regulator-name = "vreg_l19b";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l20b: ldo20 {
			regulator-name = "vreg_l20b";
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l21b: ldo21 {
			regulator-name = "vreg_l21b";
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l22b: ldo22 {
			regulator-name = "vreg_l22b";
			regulator-min-microvolt = <3200000>;
			regulator-max-microvolt = <3200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l23b: ldo23 {
			regulator-name = "vreg_l23b";
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_bob: bob {
			regulator-name = "vreg_bob";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-1 {
		compatible = "qcom,pm8550vs-rpmh-regulators";

		vdd-l1-supply = <&vreg_s2b>;

		qcom,pmic-id = "d";

		vreg_l1d: ldo1 {
			regulator-name = "vreg_l1d";
			regulator-min-microvolt = <1140000>;
			regulator-max-microvolt = <1260000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-2 {
		compatible = "qcom,pm8550vs-rpmh-regulators";

		vdd-l1-supply = <&vreg_s2b>;
		vdd-l3-supply = <&vreg_s2b>;

		qcom,pmic-id = "g";

		vreg_l1g: ldo1 {
			regulator-name = "vreg_l1g";
			regulator-min-microvolt = <1150000>;
			regulator-max-microvolt = <1260000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3g: ldo3 {
			regulator-name = "vreg_l3g";
			regulator-min-microvolt = <1150000>;
			regulator-max-microvolt = <1260000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

	};

	regulators-3 {
		compatible = "qcom,pmr735d-rpmh-regulators";

		vdd-l1-l2-l5-supply = <&vreg_s3b>;
		vdd-l3-l4-supply = <&vreg_s2b>;
		vdd-l6-supply = <&vreg_s1b>;
		vdd-l7-supply = <&vreg_s3b>;

		qcom,pmic-id = "k";

		vreg_l1k: ldo1 {
			regulator-name = "vreg_l1k";
			regulator-min-microvolt = <488000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2k: ldo2 {
			regulator-name = "vreg_l2k";
			regulator-min-microvolt = <920000>;
			regulator-max-microvolt = <969000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3k: ldo3 {
			regulator-name = "vreg_l3k";
			regulator-min-microvolt = <1080000>;
			regulator-max-microvolt = <1350000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4k: ldo4 {
			regulator-name = "vreg_l4k";
			regulator-min-microvolt = <960000>;
			regulator-max-microvolt = <1980000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5k: ldo5 {
			regulator-name = "vreg_l5k";
			regulator-min-microvolt = <866000>;
			regulator-max-microvolt = <931000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6k: ldo6 {
			regulator-name = "vreg_l6k";
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7k: ldo7 {
			regulator-name = "vreg_l7k";
			regulator-min-microvolt = <720000>;
			regulator-max-microvolt = <958000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};
};

&tlmm {
	gpio-reserved-ranges = <20 4>,   /* NFC SPI */
			       <111 2>,  /* WCN UART1 */
			       <118 1>;  /* NFC Secure I/O */
};

&uart14 {
	compatible = "qcom,geni-debug-uart";

	status = "okay";
};

&ufs_mem_hc {
	reset-gpios = <&tlmm 185 GPIO_ACTIVE_LOW>;

	vcc-supply = <&vreg_l12b>;
	vcc-max-microamp = <1300000>;
	vccq-supply = <&vreg_l1d>;
	vccq-max-microamp = <1200000>;

	status = "okay";
};

&ufs_mem_phy {
	vdda-phy-supply = <&vreg_l6b>;
	vdda-pll-supply = <&vreg_l4b>;

	status = "okay";
};