blob: ddc84282f1428a58333340423a35bc8977f3e5db [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2021-2023, Linaro Limited
5 */
6
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/spmi/spmi.h>
10#include <dt-bindings/iio/qcom,spmi-vadc.h>
11
12/ {
13 thermal-zones {
14 pmc8180-thermal {
15 polling-delay-passive = <100>;
16 polling-delay = <0>;
17
18 thermal-sensors = <&pmc8180_temp>;
19
20 trips {
21 trip0 {
22 temperature = <95000>;
23 hysteresis = <0>;
24 type = "passive";
25 };
26
27 trip1 {
28 temperature = <115000>;
29 hysteresis = <0>;
30 type = "hot";
31 };
32
33 trip2 {
34 temperature = <145000>;
35 hysteresis = <0>;
36 type = "critical";
37 };
38 };
39 };
40
41 pmc8180c-thermal {
42 polling-delay-passive = <100>;
43 polling-delay = <0>;
44
45 thermal-sensors = <&pmc8180c_temp>;
46
47 trips {
48 trip0 {
49 temperature = <95000>;
50 hysteresis = <0>;
51 type = "passive";
52 };
53
54 trip1 {
55 temperature = <115000>;
56 hysteresis = <0>;
57 type = "hot";
58 };
59
60 trip2 {
61 temperature = <145000>;
62 hysteresis = <0>;
63 type = "critical";
64 };
65 };
66 };
67 };
68};
69
70&spmi_bus {
71 pmc8180_0: pmic@0 {
72 compatible = "qcom,pm8150", "qcom,spmi-pmic";
73 reg = <0x0 SPMI_USID>;
74 #address-cells = <1>;
75 #size-cells = <0>;
76
77 pon: pon@800 {
78 compatible = "qcom,pm8916-pon";
79 reg = <0x0800>;
80 pwrkey {
81 compatible = "qcom,pm8941-pwrkey";
82 interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
83 debounce = <15625>;
84 bias-pull-up;
85 linux,code = <KEY_POWER>;
86
87 status = "disabled";
88 };
89 };
90
91 pmc8180_temp: temp-alarm@2400 {
92 compatible = "qcom,spmi-temp-alarm";
93 reg = <0x2400>;
94 interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
95 io-channels = <&pmc8180_adc ADC5_DIE_TEMP>;
96 io-channel-names = "thermal";
97 #thermal-sensor-cells = <0>;
98 };
99
100 pmc8180_adc: adc@3100 {
101 compatible = "qcom,spmi-adc5";
102 reg = <0x3100>;
103 #address-cells = <1>;
104 #size-cells = <0>;
105 #io-channel-cells = <1>;
106 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
107
108 channel@0 {
109 reg = <ADC5_REF_GND>;
110 qcom,pre-scaling = <1 1>;
111 label = "ref_gnd";
112 };
113
114 channel@1 {
115 reg = <ADC5_1P25VREF>;
116 qcom,pre-scaling = <1 1>;
117 label = "vref_1p25";
118 };
119
120 channel@6 {
121 reg = <ADC5_DIE_TEMP>;
122 qcom,pre-scaling = <1 1>;
123 label = "die_temp";
124 };
125 };
126
127 pmc8180_adc_tm: adc-tm@3500 {
128 compatible = "qcom,spmi-adc-tm5";
129 reg = <0x3500>;
130 interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
131 #thermal-sensor-cells = <1>;
132 #address-cells = <1>;
133 #size-cells = <0>;
134 status = "disabled";
135 };
136
137 rtc@6000 {
138 compatible = "qcom,pm8941-rtc";
139 reg = <0x6000>;
140 reg-names = "rtc", "alarm";
141 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
142 };
143
144 pmc8180_gpios: gpio@c000 {
145 compatible = "qcom,pmc8180-gpio", "qcom,spmi-gpio";
146 reg = <0xc000>;
147 gpio-controller;
148 gpio-ranges = <&pmc8180_gpios 0 0 10>;
149 #gpio-cells = <2>;
150 interrupt-controller;
151 #interrupt-cells = <2>;
152 };
153 };
154
155 pmic@1 {
156 compatible = "qcom,pmc8180", "qcom,spmi-pmic";
157 reg = <0x1 SPMI_USID>;
158 #address-cells = <1>;
159 #size-cells = <0>;
160 };
161
162 pmic@2 {
163 compatible = "qcom,smb2351", "qcom,spmi-pmic";
164 reg = <0x2 SPMI_USID>;
165 #address-cells = <1>;
166 #size-cells = <0>;
167
168 adc@3100 {
169 compatible = "qcom,spmi-adc-rev2";
170 reg = <0x3100>;
171 #address-cells = <1>;
172 #size-cells = <0>;
173 #io-channel-cells = <1>;
174 interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
175
176 channel@0 {
177 reg = <ADC5_REF_GND>;
178 qcom,pre-scaling = <1 1>;
179 label = "ref_gnd";
180 };
181
182 channel@1 {
183 reg = <ADC5_1P25VREF>;
184 qcom,pre-scaling = <1 1>;
185 label = "vref_1p25";
186 };
187
188 channel@85 {
189 reg = <0x85>;
190 qcom,pre-scaling = <1 1>;
191 label = "vcoin2";
192 };
193 };
194 };
195
196 pmic@6 {
197 compatible = "qcom,pm8150c", "qcom,spmi-pmic";
198 reg = <0x6 SPMI_USID>;
199 #address-cells = <1>;
200 #size-cells = <0>;
201 };
202
203 pmic@8 {
204 compatible = "qcom,pm8150", "qcom,spmi-pmic";
205 reg = <0x8 SPMI_USID>;
206 #address-cells = <1>;
207 #size-cells = <0>;
208 };
209
210 pmic@a {
211 compatible = "qcom,smb2351", "qcom,spmi-pmic";
212 reg = <0xa SPMI_USID>;
213 #address-cells = <1>;
214 #size-cells = <0>;
215
216 adc@3100 {
217 compatible = "qcom,spmi-adc-rev2";
218 reg = <0x3100>;
219 #address-cells = <1>;
220 #size-cells = <0>;
221 #io-channel-cells = <1>;
222 interrupts = <0xa 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
223
224 channel@0 {
225 reg = <ADC5_REF_GND>;
226 qcom,pre-scaling = <1 1>;
227 label = "ref_gnd";
228 };
229
230 channel@1 {
231 reg = <ADC5_1P25VREF>;
232 qcom,pre-scaling = <1 1>;
233 label = "vref_1p25";
234 };
235
236 channel@85 {
237 reg = <0x85>;
238 qcom,pre-scaling = <1 1>;
239 label = "vcoin";
240 };
241 };
242 };
243
244 pmic@4 {
245 compatible = "qcom,pm8150c", "qcom,spmi-pmic";
246 reg = <0x4 SPMI_USID>;
247 #address-cells = <1>;
248 #size-cells = <0>;
249
250 pon@800 {
251 compatible = "qcom,pm8916-pon";
252 reg = <0x0800>;
253
254 status = "disabled";
255 };
256
257 pmc8180c_temp: temp-alarm@2400 {
258 compatible = "qcom,spmi-temp-alarm";
259 reg = <0x2400>;
260 interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
261 io-channels = <&pmc8180c_adc ADC5_DIE_TEMP>;
262 io-channel-names = "thermal";
263 #thermal-sensor-cells = <0>;
264 };
265
266 pmc8180c_adc: adc@3100 {
267 compatible = "qcom,spmi-adc5";
268 reg = <0x3100>;
269 #address-cells = <1>;
270 #size-cells = <0>;
271 #io-channel-cells = <1>;
272 interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
273
274 channel@0 {
275 reg = <ADC5_REF_GND>;
276 qcom,pre-scaling = <1 1>;
277 label = "ref_gnd";
278 };
279
280 channel@1 {
281 reg = <ADC5_1P25VREF>;
282 qcom,pre-scaling = <1 1>;
283 label = "vref_1p25";
284 };
285
286 channel@6 {
287 reg = <ADC5_DIE_TEMP>;
288 qcom,pre-scaling = <1 1>;
289 label = "die_temp";
290 };
291 };
292
293 pmc8180c_adc_tm: adc-tm@3500 {
294 compatible = "qcom,spmi-adc-tm5";
295 reg = <0x3500>;
296 interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
297 #thermal-sensor-cells = <1>;
298 #address-cells = <1>;
299 #size-cells = <0>;
300 status = "disabled";
301 };
302
303 pmc8180c_gpios: gpio@c000 {
304 compatible = "qcom,pmc8180c-gpio", "qcom,spmi-gpio";
305 reg = <0xc000>;
306 gpio-controller;
307 gpio-ranges = <&pmc8180c_gpios 0 0 12>;
308 #gpio-cells = <2>;
309 interrupt-controller;
310 #interrupt-cells = <2>;
311 };
312 };
313
314 pmic@5 {
315 compatible = "qcom,pmc8180c", "qcom,spmi-pmic";
316 reg = <0x5 SPMI_USID>;
317
318 pmc8180c_lpg: pwm {
319 compatible = "qcom,pmc8180c-lpg";
320
321 #address-cells = <1>;
322 #size-cells = <0>;
323 #pwm-cells = <2>;
324
325 status = "disabled";
326 };
327 };
328};