Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2024, Linaro Limited
4 */
5
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/input/linux-event-codes.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/spmi/spmi.h>
10
11/ {
12 thermal-zones {
13 pm8550-thermal {
14 polling-delay-passive = <100>;
15
16 thermal-sensors = <&pm8550_temp_alarm>;
17
18 trips {
19 trip0 {
20 temperature = <95000>;
21 hysteresis = <0>;
22 type = "passive";
23 };
24
25 trip1 {
26 temperature = <115000>;
27 hysteresis = <0>;
28 type = "hot";
29 };
30 };
31 };
32
33 pm8550ve-2-thermal {
34 polling-delay-passive = <100>;
35
36 thermal-sensors = <&pm8550ve_2_temp_alarm>;
37
38 trips {
39 trip0 {
40 temperature = <95000>;
41 hysteresis = <0>;
42 type = "passive";
43 };
44
45 trip1 {
46 temperature = <115000>;
47 hysteresis = <0>;
48 type = "hot";
49 };
50 };
51 };
52
53 pmc8380-3-thermal {
54 polling-delay-passive = <100>;
55
56 thermal-sensors = <&pmc8380_3_temp_alarm>;
57
58 trips {
59 trip0 {
60 temperature = <95000>;
61 hysteresis = <0>;
62 type = "passive";
63 };
64
65 trip1 {
66 temperature = <115000>;
67 hysteresis = <0>;
68 type = "hot";
69 };
70 };
71 };
72
73 pmc8380-4-thermal {
74 polling-delay-passive = <100>;
75
76 thermal-sensors = <&pmc8380_4_temp_alarm>;
77
78 trips {
79 trip0 {
80 temperature = <95000>;
81 hysteresis = <0>;
82 type = "passive";
83 };
84
85 trip1 {
86 temperature = <115000>;
87 hysteresis = <0>;
88 type = "hot";
89 };
90 };
91 };
92
93 pmc8380-5-thermal {
94 polling-delay-passive = <100>;
95
96 thermal-sensors = <&pmc8380_5_temp_alarm>;
97
98 trips {
99 trip0 {
100 temperature = <95000>;
101 hysteresis = <0>;
102 type = "passive";
103 };
104
105 trip1 {
106 temperature = <115000>;
107 hysteresis = <0>;
108 type = "hot";
109 };
110 };
111 };
112
113 pmc8380-6-thermal {
114 polling-delay-passive = <100>;
115
116 thermal-sensors = <&pmc8380_6_temp_alarm>;
117
118 trips {
119 trip0 {
120 temperature = <95000>;
121 hysteresis = <0>;
122 type = "passive";
123 };
124
125 trip1 {
126 temperature = <115000>;
127 hysteresis = <0>;
128 type = "hot";
129 };
130 };
131 };
132
133 pm8550ve-8-thermal {
134 polling-delay-passive = <100>;
135
136 thermal-sensors = <&pm8550ve_8_temp_alarm>;
137
138 trips {
139 trip0 {
140 temperature = <95000>;
141 hysteresis = <0>;
142 type = "passive";
143 };
144
145 trip1 {
146 temperature = <115000>;
147 hysteresis = <0>;
148 type = "hot";
149 };
150 };
151 };
152
153 pm8550ve-9-thermal {
154 polling-delay-passive = <100>;
155
156 thermal-sensors = <&pm8550ve_9_temp_alarm>;
157
158 trips {
159 trip0 {
160 temperature = <95000>;
161 hysteresis = <0>;
162 type = "passive";
163 };
164
165 trip1 {
166 temperature = <115000>;
167 hysteresis = <0>;
168 type = "hot";
169 };
170 };
171 };
172
173 pm8010-thermal {
174 polling-delay-passive = <100>;
175
176 thermal-sensors = <&pm8010_temp_alarm>;
177
178 trips {
179 trip0 {
180 temperature = <95000>;
181 hysteresis = <0>;
182 type = "passive";
183 };
184
185 trip1 {
186 temperature = <115000>;
187 hysteresis = <0>;
188 type = "hot";
189 };
190 };
191 };
192 };
193};
194
195&spmi_bus0 {
196 /* PMK8380 */
197 pmk8550: pmic@0 {
198 compatible = "qcom,pm8550", "qcom,spmi-pmic";
199 reg = <0x0 SPMI_USID>;
200 #address-cells = <1>;
201 #size-cells = <0>;
202
203 pmk8550_pon: pon@1300 {
204 compatible = "qcom,pmk8350-pon";
205 reg = <0x1300>, <0x800>;
206 reg-names = "hlos", "pbs";
207
208 pon_pwrkey: pwrkey {
209 compatible = "qcom,pmk8350-pwrkey";
210 interrupts = <0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
211 linux,code = <KEY_POWER>;
212 };
213
214 pon_resin: resin {
215 compatible = "qcom,pmk8350-resin";
216 interrupts = <0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
217 status = "disabled";
218 };
219 };
220
221 pmk8550_rtc: rtc@6100 {
222 compatible = "qcom,pmk8350-rtc";
223 reg = <0x6100>, <0x6200>;
224 reg-names = "rtc", "alarm";
225 interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
226 /* Not yet sure what blocks access */
227 status = "reserved";
228 };
229
230 pmk8550_sdam_2: nvram@7100 {
231 compatible = "qcom,spmi-sdam";
232 reg = <0x7100>;
233 #address-cells = <1>;
234 #size-cells = <1>;
235 ranges = <0 0x7100 0x100>;
236
237 reboot_reason: reboot-reason@48 {
238 reg = <0x48 0x1>;
239 bits = <1 7>;
240 };
241 };
242
243 pmk8550_gpios: gpio@8800 {
244 compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio";
245 reg = <0xb800>;
246 gpio-controller;
247 gpio-ranges = <&pmk8550_gpios 0 0 6>;
248 #gpio-cells = <2>;
249 interrupt-controller;
250 #interrupt-cells = <2>;
251 };
252
253 pmk8550_pwm: pwm {
254 compatible = "qcom,pmk8550-pwm";
255
256 #pwm-cells = <2>;
257
258 status = "disabled";
259 };
260 };
261
262 /* PMC8380C */
263 pm8550: pmic@1 {
264 compatible = "qcom,pm8550", "qcom,spmi-pmic";
265 reg = <0x1 SPMI_USID>;
266 #address-cells = <1>;
267 #size-cells = <0>;
268
269 pm8550_temp_alarm: temp-alarm@a00 {
270 compatible = "qcom,spmi-temp-alarm";
271 reg = <0xa00>;
272 interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
273 #thermal-sensor-cells = <0>;
274 };
275
276 pm8550_gpios: gpio@8800 {
277 compatible = "qcom,pm8550-gpio", "qcom,spmi-gpio";
278 reg = <0x8800>;
279 gpio-controller;
280 gpio-ranges = <&pm8550_gpios 0 0 12>;
281 #gpio-cells = <2>;
282 interrupt-controller;
283 #interrupt-cells = <2>;
284 };
285
286 pm8550_flash: led-controller@ee00 {
287 compatible = "qcom,pm8550-flash-led", "qcom,spmi-flash-led";
288 reg = <0xee00>;
289 status = "disabled";
290 };
291
292 pm8550_pwm: pwm {
293 compatible = "qcom,pm8550-pwm", "qcom,pm8350c-pwm";
294 #pwm-cells = <2>;
295
296 status = "disabled";
297 };
298 };
299
300 /* PMC8380VE */
301 pm8550ve_2: pmic@2 {
302 compatible = "qcom,pm8550", "qcom,spmi-pmic";
303 reg = <0x2 SPMI_USID>;
304 #address-cells = <1>;
305 #size-cells = <0>;
306
307 pm8550ve_2_temp_alarm: temp-alarm@a00 {
308 compatible = "qcom,spmi-temp-alarm";
309 reg = <0xa00>;
310 interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
311 #thermal-sensor-cells = <0>;
312 };
313
314 pm8550ve_2_gpios: gpio@8800 {
315 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio";
316 reg = <0x8800>;
317 gpio-controller;
318 gpio-ranges = <&pm8550ve_2_gpios 0 0 8>;
319 #gpio-cells = <2>;
320 interrupt-controller;
321 #interrupt-cells = <2>;
322 };
323 };
324
325 /* PMC8380 is actually not a PM8550 series rebrand */
326 pmc8380_3: pmic@3 {
327 compatible = "qcom,pmc8380", "qcom,spmi-pmic";
328 reg = <0x3 SPMI_USID>;
329 #address-cells = <1>;
330 #size-cells = <0>;
331
332 pmc8380_3_temp_alarm: temp-alarm@a00 {
333 compatible = "qcom,spmi-temp-alarm";
334 reg = <0xa00>;
335 interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
336 #thermal-sensor-cells = <0>;
337 };
338
339 pmc8380_3_gpios: gpio@8800 {
340 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
341 reg = <0x8800>;
342 gpio-controller;
343 gpio-ranges = <&pmc8380_3_gpios 0 0 10>;
344 #gpio-cells = <2>;
345 interrupt-controller;
346 #interrupt-cells = <2>;
347 };
348 };
349
350 pmc8380_4: pmic@4 {
351 compatible = "qcom,pmc8380", "qcom,spmi-pmic";
352 reg = <0x4 SPMI_USID>;
353 #address-cells = <1>;
354 #size-cells = <0>;
355
356 pmc8380_4_temp_alarm: temp-alarm@a00 {
357 compatible = "qcom,spmi-temp-alarm";
358 reg = <0xa00>;
359 interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
360 #thermal-sensor-cells = <0>;
361 };
362
363 pmc8380_4_gpios: gpio@8800 {
364 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
365 reg = <0x8800>;
366 gpio-controller;
367 gpio-ranges = <&pmc8380_4_gpios 0 0 10>;
368 #gpio-cells = <2>;
369 interrupt-controller;
370 #interrupt-cells = <2>;
371 };
372 };
373
374 pmc8380_5: pmic@5 {
375 compatible = "qcom,pmc8380", "qcom,spmi-pmic";
376 reg = <0x5 SPMI_USID>;
377 #address-cells = <1>;
378 #size-cells = <0>;
379
380 pmc8380_5_temp_alarm: temp-alarm@a00 {
381 compatible = "qcom,spmi-temp-alarm";
382 reg = <0xa00>;
383 interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
384 #thermal-sensor-cells = <0>;
385 };
386
387 pmc8380_5_gpios: gpio@8800 {
388 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
389 reg = <0x8800>;
390 gpio-controller;
391 gpio-ranges = <&pmc8380_5_gpios 0 0 10>;
392 #gpio-cells = <2>;
393 interrupt-controller;
394 #interrupt-cells = <2>;
395 };
396 };
397
398 pmc8380_6: pmic@6 {
399 compatible = "qcom,pmc8380", "qcom,spmi-pmic";
400 reg = <0x6 SPMI_USID>;
401 #address-cells = <1>;
402 #size-cells = <0>;
403
404 pmc8380_6_temp_alarm: temp-alarm@a00 {
405 compatible = "qcom,spmi-temp-alarm";
406 reg = <0xa00>;
407 interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
408 #thermal-sensor-cells = <0>;
409 };
410
411 pmc8380_6_gpios: gpio@8800 {
412 compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
413 reg = <0x8800>;
414 gpio-controller;
415 gpio-ranges = <&pmc8380_6_gpios 0 0 10>;
416 #gpio-cells = <2>;
417 interrupt-controller;
418 #interrupt-cells = <2>;
419 };
420 };
421
422 /* PMC8380VE */
423 pm8550ve_8: pmic@8 {
424 compatible = "qcom,pm8550", "qcom,spmi-pmic";
425 reg = <0x8 SPMI_USID>;
426 #address-cells = <1>;
427 #size-cells = <0>;
428
429 pm8550ve_8_temp_alarm: temp-alarm@a00 {
430 compatible = "qcom,spmi-temp-alarm";
431 reg = <0xa00>;
432 interrupts = <0x8 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
433 #thermal-sensor-cells = <0>;
434 };
435
436 pm8550ve_8_gpios: gpio@8800 {
437 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio";
438 reg = <0x8800>;
439 gpio-controller;
440 gpio-ranges = <&pm8550ve_8_gpios 0 0 8>;
441 #gpio-cells = <2>;
442 interrupt-controller;
443 #interrupt-cells = <2>;
444 };
445 };
446
447 /* PMC8380VE */
448 pm8550ve_9: pmic@9 {
449 compatible = "qcom,pm8550", "qcom,spmi-pmic";
450 reg = <0x9 SPMI_USID>;
451 #address-cells = <1>;
452 #size-cells = <0>;
453
454 pm8550ve_9_temp_alarm: temp-alarm@a00 {
455 compatible = "qcom,spmi-temp-alarm";
456 reg = <0xa00>;
457 interrupts = <0x9 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
458 #thermal-sensor-cells = <0>;
459 };
460
461 pm8550ve_9_gpios: gpio@8800 {
462 compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio";
463 reg = <0x8800>;
464 gpio-controller;
465 gpio-ranges = <&pm8550ve_9_gpios 0 0 8>;
466 #gpio-cells = <2>;
467 interrupt-controller;
468 #interrupt-cells = <2>;
469 };
470 };
471
472 pm8010: pmic@c {
473 compatible = "qcom,pm8010", "qcom,spmi-pmic";
474 reg = <0xc SPMI_USID>;
475 #address-cells = <1>;
476 #size-cells = <0>;
477
478 pm8010_temp_alarm: temp-alarm@2400 {
479 compatible = "qcom,spmi-temp-alarm";
480 reg = <0x2400>;
481 interrupts = <0xc 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
482 #thermal-sensor-cells = <0>;
483 };
484 };
485};
486
487&spmi_bus1 {
488 smb2360_0: pmic@7 {
489 compatible = "qcom,smb2360", "qcom,spmi-pmic";
490 reg = <0x7 SPMI_USID>;
491 #address-cells = <1>;
492 #size-cells = <0>;
493
494 status = "disabled";
495
496 smb2360_0_eusb2_repeater: phy@fd00 {
497 compatible = "qcom,smb2360-eusb2-repeater";
498 reg = <0xfd00>;
499 #phy-cells = <0>;
500 };
501 };
502
503 smb2360_1: pmic@a {
504 compatible = "qcom,smb2360", "qcom,spmi-pmic";
505 reg = <0xa SPMI_USID>;
506 #address-cells = <1>;
507 #size-cells = <0>;
508
509 status = "disabled";
510
511 smb2360_1_eusb2_repeater: phy@fd00 {
512 compatible = "qcom,smb2360-eusb2-repeater";
513 reg = <0xfd00>;
514 #phy-cells = <0>;
515 };
516 };
517
518 smb2360_2: pmic@b {
519 compatible = "qcom,smb2360", "qcom,spmi-pmic";
520 reg = <0xb SPMI_USID>;
521 #address-cells = <1>;
522 #size-cells = <0>;
523
524 status = "disabled";
525
526 smb2360_2_eusb2_repeater: phy@fd00 {
527 compatible = "qcom,smb2360-eusb2-repeater";
528 reg = <0xfd00>;
529 #phy-cells = <0>;
530 };
531 };
532
533 smb2360_3: pmic@c {
534 compatible = "qcom,smb2360", "qcom,spmi-pmic";
535 reg = <0xc SPMI_USID>;
536 #address-cells = <1>;
537 #size-cells = <0>;
538
539 status = "disabled";
540
541 smb2360_3_eusb2_repeater: phy@fd00 {
542 compatible = "qcom,smb2360-eusb2-repeater";
543 reg = <0xfd00>;
544 #phy-cells = <0>;
545 };
546 };
547};