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