arch/arm64/boot/dts/qcom/msm8929-pm8916.dtsi

Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/qcom/msm8929-pm8916.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/qcom/msm8929-pm8916.dtsi
Extension
.dtsi
Size
3716 bytes
Lines
163
Domain
Architecture Layer
Bucket
arch/arm64
Inferred role
Architecture Layer: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0-only
/*
 * msm8929-pm8916.dtsi describes common properties (e.g. regulator connections)
 * that apply to most devices that make use of the MSM8929 SoC and PM8916 PMIC.
 * Many regulators have a fixed purpose in the original reference design and
 * were rarely re-used for different purposes. Devices that deviate from the
 * typical reference design should not make use of this include and instead add
 * the necessary properties in the board-specific device tree.
 */

#include "msm8929.dtsi"
#include "pm8916.dtsi"

&mdss_dsi0 {
	vdda-supply = <&pm8916_l2>;
	vddio-supply = <&pm8916_l6>;
};

&mdss_dsi0_phy {
	vddio-supply = <&pm8916_l6>;
};

&mdss_dsi1 {
	vdda-supply = <&pm8916_l2>;
	vddio-supply = <&pm8916_l6>;
};

&mdss_dsi1_phy {
	vddio-supply = <&pm8916_l6>;
};

&mpss {
	pll-supply = <&pm8916_l7>;
};

&pm8916_codec {
	vdd-cdc-io-supply = <&pm8916_l5>;
	vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
	vdd-micbias-supply = <&pm8916_l13>;
};

&rpm_requests {
	pm8916_rpm_regulators: regulators {
		compatible = "qcom,rpm-pm8916-regulators";
		vdd_l1_l2_l3-supply = <&pm8916_s3>;
		vdd_l4_l5_l6-supply = <&pm8916_s4>;
		vdd_l7-supply = <&pm8916_s4>;

		/* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */
		/* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */
		pm8916_s3: s3 {
			regulator-min-microvolt = <1250000>;
			regulator-max-microvolt = <1350000>;
			regulator-always-on; /* Needed for L2 */
		};
		pm8916_s4: s4 {
			regulator-min-microvolt = <1850000>;
			regulator-max-microvolt = <2150000>;
			regulator-always-on; /* Needed for L5/L7 */
		};

		/*
		 * Some of the regulators are unused or managed by another
		 * processor (e.g. the modem). We should still define nodes for
		 * them to ensure the vote from the application processor can be
		 * dropped in case the regulators are already on during boot.
		 *
		 * The labels for these nodes are omitted on purpose because
		 * boards should configure a proper voltage before using them.
		 */

Annotation

Implementation Notes