summaryrefslogtreecommitdiffstats
path: root/dts/src/arm64/qcom/msm8916-pm8916.dtsi
blob: b1a7eafbee31f7a5ef957597237e56644ffd45cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// SPDX-License-Identifier: GPL-2.0-only
/*
 * msm8916-pm8916.dtsi describes common properties (e.g. regulator connections)
 * that apply to most devices that make use of the MSM8916 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 "msm8916.dtsi"
#include "pm8916.dtsi"

&camss {
	vdda-supply = <&pm8916_l2>;
};

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

&mdss_dsi0_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>;
};

&sdhc_1 {
	vmmc-supply = <&pm8916_l8>;
	vqmmc-supply = <&pm8916_l5>;
};

&sdhc_2 {
	vmmc-supply = <&pm8916_l11>;
	vqmmc-supply = <&pm8916_l12>;
};

&usb_hs_phy {
	v1p8-supply = <&pm8916_l7>;
	v3p3-supply = <&pm8916_l13>;
};

&wcnss {
	vddpx-supply = <&pm8916_l7>;
};

&wcnss_iris {
	vddxo-supply = <&pm8916_l7>;
	vddrfa-supply = <&pm8916_s3>;
	vddpa-supply = <&pm8916_l9>;
	vdddig-supply = <&pm8916_l5>;
};

&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 (MSM8916_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.
		 */
		l1 {};

		pm8916_l2: l2 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-always-on; /* Needed for LPDDR RAM */
		};

		/* pm8916_l3 is managed by rpmpd (MSM8916_VDDMX) */

		l4 {};

		pm8916_l5: l5 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on; /* Needed for most digital I/O */
		};

		pm8916_l6: l6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		pm8916_l7: l7 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on; /* Needed for CPU PLL */
		};

		pm8916_l8: l8 {
			regulator-min-microvolt = <2900000>;
			regulator-max-microvolt = <2900000>;
		};

		pm8916_l9: l9 {
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
		};

		l10 {};

		pm8916_l11: l11 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
			regulator-allow-set-load;
			regulator-system-load = <200000>;
		};

		pm8916_l12: l12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
		};

		pm8916_l13: l13 {
			regulator-min-microvolt = <3075000>;
			regulator-max-microvolt = <3075000>;
		};

		l14 {};
		l15 {};
		l16 {};
		l17 {};
		l18 {};
	};
};