summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mfd/qcom-rpm-smd.txt
blob: 2e28f350c548fcb63e1b1e56d2a65c72152c7161 (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
Qualcomm Resource Power Manager (RPM) over SMD

This driver is used to interface with the Resource Power Manager (RPM) found in
various Qualcomm platforms. The RPM allows each component in the system to vote
for state of the system resources, such as clocks, regulators and bus
frequencies.

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,rpm-msm8974"
		    "qcom,rpm-msm8916"

- qcom,smd-channels:
	Usage: required
	Value type: <stringlist>
	Definition: Shared Memory channel used for communication with the RPM

= SUBDEVICES

The RPM exposes resources to its subnodes. The below bindings specify the set
of valid subnodes that can operate on these resources.

== Regulators

Regulator nodes are identified by their compatible:

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,rpm-pm8841-regulators"
		    "qcom,rpm-pm8941-regulators"
		    "qcom,rpm-pm8916-regulators"

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- vdd_s5-supply:
- vdd_s6-supply:
- vdd_s7-supply:
- vdd_s8-supply:
	Usage: optional (pm8841 only)
	Value type: <phandle>
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_l1_l3-supply:
- vdd_l2_lvs1_2_3-supply:
- vdd_l1_l3-supply:
- vdd_l4_l11-supply:
- vdd_l5_l7-supply:
- vdd_l6_l12_l14_l15-supply:
- vdd_l5_l7-supply:
- vdd_l8_l16_l18_l19-supply:
- vdd_l9_l10_l17_l22-supply:
- vdd_l9_l10_l17_l22-supply:
- vdd_l4_l11-supply:
- vdd_l6_l12_l14_l15-supply:
- vdd_l13_l20_l23_l24-supply:
- vdd_l6_l12_l14_l15-supply:
- vdd_l6_l12_l14_l15-supply:
- vdd_l8_l16_l18_l19-supply:
- vdd_l9_l10_l17_l22-supply:
- vdd_l8_l16_l18_l19-supply:
- vdd_l8_l16_l18_l19-supply:
- vdd_l13_l20_l23_l24-supply:
- vdd_l21-supply:
- vdd_l9_l10_l17_l22-supply:
- vdd_l13_l20_l23_l24-supply:
- vdd_l13_l20_l23_l24-supply:
- vdd_l2_lvs1_2_3-supply:
- vdd_l2_lvs1_2_3-supply:
- vdd_l2_lvs1_2_3-supply:
- vin_5vs-supply:
- vin_5vs-supply:
	Usage: optional (pm8941 only)
	Value type: <phandle>
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- l1_l2_l3-supply:
- l4_l5_l6-supply:
- l7-supply:
- l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18-supply:

	Usage: optional (pm8916 only)
	Value type: <phandle>
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet

The regulator node houses sub-nodes for each regulator within the device. Each
sub-node is identified using the node's name, with valid values listed for each
of the pmics below.

pm8841:
	s1, s2, s3, s4, s5, s6, s7, s8

pm8941:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2,
	lvs3, 5vs1, 5vs2

pm8916:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	l14, l15, l16, l17, l18

The content of each sub-node is defined by the standard binding for regulators -
see regulator.txt.

= EXAMPLE

	smd {
		compatible = "qcom,smd";

		rpm {
			interrupts = <0 168 1>;
			qcom,ipc = <&apcs 8 0>;
			qcom,smd-edge = <15>;

			rpm_requests {
				compatible = "qcom,rpm-msm8974";
				qcom,smd-channels = "rpm_requests";

				pm8941-regulators {
					compatible = "qcom,rpm-pm8941-regulators";
					vdd_l13_l20_l23_l24-supply = <&pm8941_boost>;

					pm8941_s3: s3 {
						regulator-min-microvolt = <1800000>;
						regulator-max-microvolt = <1800000>;
					};

					pm8941_boost: s4 {
						regulator-min-microvolt = <5000000>;
						regulator-max-microvolt = <5000000>;
					};

					pm8941_l20: l20 {
						regulator-min-microvolt = <2950000>;
						regulator-max-microvolt = <2950000>;
					};
				};
			};
		};
	};