xref: /linux/arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
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: 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			qcom,no-alarm; /* alarm owned by ADSP */
227		};
228
229		pmk8550_sdam_2: nvram@7100 {
230			compatible = "qcom,spmi-sdam";
231			reg = <0x7100>;
232			#address-cells = <1>;
233			#size-cells = <1>;
234			ranges = <0 0x7100 0x100>;
235
236			reboot_reason: reboot-reason@48 {
237				reg = <0x48 0x1>;
238				bits = <1 7>;
239			};
240		};
241
242		pmk8550_gpios: gpio@8800 {
243			compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio";
244			reg = <0xb800>;
245			gpio-controller;
246			gpio-ranges = <&pmk8550_gpios 0 0 6>;
247			#gpio-cells = <2>;
248			interrupt-controller;
249			#interrupt-cells = <2>;
250		};
251
252		pmk8550_pwm: pwm {
253			compatible = "qcom,pmk8550-pwm";
254
255			#pwm-cells = <2>;
256
257			status = "disabled";
258		};
259	};
260
261	/* PMC8380C */
262	pm8550: pmic@1 {
263		compatible = "qcom,pm8550", "qcom,spmi-pmic";
264		reg = <0x1 SPMI_USID>;
265		#address-cells = <1>;
266		#size-cells = <0>;
267
268		pm8550_temp_alarm: temp-alarm@a00 {
269			compatible = "qcom,spmi-temp-alarm";
270			reg = <0xa00>;
271			interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
272			#thermal-sensor-cells = <0>;
273		};
274
275		pm8550_gpios: gpio@8800 {
276			compatible = "qcom,pm8550-gpio", "qcom,spmi-gpio";
277			reg = <0x8800>;
278			gpio-controller;
279			gpio-ranges = <&pm8550_gpios 0 0 12>;
280			#gpio-cells = <2>;
281			interrupt-controller;
282			#interrupt-cells = <2>;
283		};
284
285		pm8550_flash: led-controller@ee00 {
286			compatible = "qcom,pm8550-flash-led", "qcom,spmi-flash-led";
287			reg = <0xee00>;
288			status = "disabled";
289		};
290
291		pm8550_pwm: pwm {
292			compatible = "qcom,pm8550-pwm", "qcom,pm8350c-pwm";
293			#pwm-cells = <2>;
294
295			status = "disabled";
296		};
297	};
298
299	/* PMC8380VE */
300	pm8550ve_2: pmic@2 {
301		compatible = "qcom,pm8550", "qcom,spmi-pmic";
302		reg = <0x2 SPMI_USID>;
303		#address-cells = <1>;
304		#size-cells = <0>;
305
306		pm8550ve_2_temp_alarm: temp-alarm@a00 {
307			compatible = "qcom,spmi-temp-alarm";
308			reg = <0xa00>;
309			interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
310			#thermal-sensor-cells = <0>;
311		};
312
313		pm8550ve_2_gpios: gpio@8800 {
314			compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio";
315			reg = <0x8800>;
316			gpio-controller;
317			gpio-ranges = <&pm8550ve_2_gpios 0 0 8>;
318			#gpio-cells = <2>;
319			interrupt-controller;
320			#interrupt-cells = <2>;
321		};
322	};
323
324	/* PMC8380 is actually not a PM8550 series rebrand */
325	pmc8380_3: pmic@3 {
326		compatible = "qcom,pmc8380", "qcom,spmi-pmic";
327		reg = <0x3 SPMI_USID>;
328		#address-cells = <1>;
329		#size-cells = <0>;
330
331		pmc8380_3_temp_alarm: temp-alarm@a00 {
332			compatible = "qcom,spmi-temp-alarm";
333			reg = <0xa00>;
334			interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
335			#thermal-sensor-cells = <0>;
336		};
337
338		pmc8380_3_gpios: gpio@8800 {
339			compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
340			reg = <0x8800>;
341			gpio-controller;
342			gpio-ranges = <&pmc8380_3_gpios 0 0 10>;
343			#gpio-cells = <2>;
344			interrupt-controller;
345			#interrupt-cells = <2>;
346		};
347	};
348
349	pmc8380_4: pmic@4 {
350		compatible = "qcom,pmc8380", "qcom,spmi-pmic";
351		reg = <0x4 SPMI_USID>;
352		#address-cells = <1>;
353		#size-cells = <0>;
354
355		pmc8380_4_temp_alarm: temp-alarm@a00 {
356			compatible = "qcom,spmi-temp-alarm";
357			reg = <0xa00>;
358			interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
359			#thermal-sensor-cells = <0>;
360		};
361
362		pmc8380_4_gpios: gpio@8800 {
363			compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
364			reg = <0x8800>;
365			gpio-controller;
366			gpio-ranges = <&pmc8380_4_gpios 0 0 10>;
367			#gpio-cells = <2>;
368			interrupt-controller;
369			#interrupt-cells = <2>;
370		};
371	};
372
373	pmc8380_5: pmic@5 {
374		compatible = "qcom,pmc8380", "qcom,spmi-pmic";
375		reg = <0x5 SPMI_USID>;
376		#address-cells = <1>;
377		#size-cells = <0>;
378
379		pmc8380_5_temp_alarm: temp-alarm@a00 {
380			compatible = "qcom,spmi-temp-alarm";
381			reg = <0xa00>;
382			interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
383			#thermal-sensor-cells = <0>;
384		};
385
386		pmc8380_5_gpios: gpio@8800 {
387			compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
388			reg = <0x8800>;
389			gpio-controller;
390			gpio-ranges = <&pmc8380_5_gpios 0 0 10>;
391			#gpio-cells = <2>;
392			interrupt-controller;
393			#interrupt-cells = <2>;
394		};
395	};
396
397	pmc8380_6: pmic@6 {
398		compatible = "qcom,pmc8380", "qcom,spmi-pmic";
399		reg = <0x6 SPMI_USID>;
400		#address-cells = <1>;
401		#size-cells = <0>;
402
403		pmc8380_6_temp_alarm: temp-alarm@a00 {
404			compatible = "qcom,spmi-temp-alarm";
405			reg = <0xa00>;
406			interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
407			#thermal-sensor-cells = <0>;
408		};
409
410		pmc8380_6_gpios: gpio@8800 {
411			compatible = "qcom,pmc8380-gpio", "qcom,spmi-gpio";
412			reg = <0x8800>;
413			gpio-controller;
414			gpio-ranges = <&pmc8380_6_gpios 0 0 10>;
415			#gpio-cells = <2>;
416			interrupt-controller;
417			#interrupt-cells = <2>;
418		};
419	};
420
421	/* PMC8380VE */
422	pm8550ve_8: pmic@8 {
423		compatible = "qcom,pm8550", "qcom,spmi-pmic";
424		reg = <0x8 SPMI_USID>;
425		#address-cells = <1>;
426		#size-cells = <0>;
427
428		pm8550ve_8_temp_alarm: temp-alarm@a00 {
429			compatible = "qcom,spmi-temp-alarm";
430			reg = <0xa00>;
431			interrupts = <0x8 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
432			#thermal-sensor-cells = <0>;
433		};
434
435		pm8550ve_8_gpios: gpio@8800 {
436			compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio";
437			reg = <0x8800>;
438			gpio-controller;
439			gpio-ranges = <&pm8550ve_8_gpios 0 0 8>;
440			#gpio-cells = <2>;
441			interrupt-controller;
442			#interrupt-cells = <2>;
443		};
444	};
445
446	/* PMC8380VE */
447	pm8550ve_9: pmic@9 {
448		compatible = "qcom,pm8550", "qcom,spmi-pmic";
449		reg = <0x9 SPMI_USID>;
450		#address-cells = <1>;
451		#size-cells = <0>;
452
453		pm8550ve_9_temp_alarm: temp-alarm@a00 {
454			compatible = "qcom,spmi-temp-alarm";
455			reg = <0xa00>;
456			interrupts = <0x9 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
457			#thermal-sensor-cells = <0>;
458		};
459
460		pm8550ve_9_gpios: gpio@8800 {
461			compatible = "qcom,pm8550ve-gpio", "qcom,spmi-gpio";
462			reg = <0x8800>;
463			gpio-controller;
464			gpio-ranges = <&pm8550ve_9_gpios 0 0 8>;
465			#gpio-cells = <2>;
466			interrupt-controller;
467			#interrupt-cells = <2>;
468		};
469	};
470
471	pm8010: pmic@c {
472		compatible = "qcom,pm8010", "qcom,spmi-pmic";
473		reg = <0xc SPMI_USID>;
474		#address-cells = <1>;
475		#size-cells = <0>;
476
477		pm8010_temp_alarm: temp-alarm@2400 {
478			compatible = "qcom,spmi-temp-alarm";
479			reg = <0x2400>;
480			interrupts = <0xc 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
481			#thermal-sensor-cells = <0>;
482		};
483	};
484};
485
486&spmi_bus1 {
487	smb2360_0: pmic@7 {
488		compatible = "qcom,smb2360", "qcom,spmi-pmic";
489		reg = <0x7 SPMI_USID>;
490		#address-cells = <1>;
491		#size-cells = <0>;
492
493		status = "disabled";
494
495		smb2360_0_eusb2_repeater: phy@fd00 {
496			compatible = "qcom,smb2360-eusb2-repeater";
497			reg = <0xfd00>;
498			#phy-cells = <0>;
499		};
500	};
501
502	smb2360_1: pmic@a {
503		compatible = "qcom,smb2360", "qcom,spmi-pmic";
504		reg = <0xa SPMI_USID>;
505		#address-cells = <1>;
506		#size-cells = <0>;
507
508		status = "disabled";
509
510		smb2360_1_eusb2_repeater: phy@fd00 {
511			compatible = "qcom,smb2360-eusb2-repeater";
512			reg = <0xfd00>;
513			#phy-cells = <0>;
514		};
515	};
516
517	smb2360_2: pmic@b {
518		compatible = "qcom,smb2360", "qcom,spmi-pmic";
519		reg = <0xb SPMI_USID>;
520		#address-cells = <1>;
521		#size-cells = <0>;
522
523		status = "disabled";
524
525		smb2360_2_eusb2_repeater: phy@fd00 {
526			compatible = "qcom,smb2360-eusb2-repeater";
527			reg = <0xfd00>;
528			#phy-cells = <0>;
529		};
530	};
531
532	smb2360_3: pmic@c {
533		compatible = "qcom,smb2360", "qcom,spmi-pmic";
534		reg = <0xc SPMI_USID>;
535		#address-cells = <1>;
536		#size-cells = <0>;
537
538		status = "disabled";
539
540		smb2360_3_eusb2_repeater: phy@fd00 {
541			compatible = "qcom,smb2360-eusb2-repeater";
542			reg = <0xfd00>;
543			#phy-cells = <0>;
544		};
545	};
546};
547