xref: /linux/arch/arm64/boot/dts/qcom/sc8280xp-pmics.dtsi (revision fa79e55d467366a2c52c68a261a0d6ea5f8a6534)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
7#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
8#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
9#include <dt-bindings/input/input.h>
10#include <dt-bindings/interrupt-controller/irq.h>
11#include <dt-bindings/spmi/spmi.h>
12
13/ {
14	thermal-zones {
15		pm8280_1_thermal: pm8280-1-thermal {
16			polling-delay-passive = <100>;
17
18			thermal-sensors = <&pm8280_1_temp_alarm>;
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 = "critical";
31				};
32			};
33		};
34
35		pmc8280c_thermal: pmc8280c-thermal {
36			polling-delay-passive = <100>;
37
38			thermal-sensors = <&pmc8280c_temp_alarm>;
39
40			trips {
41				trip0 {
42					temperature = <95000>;
43					hysteresis = <0>;
44					type = "passive";
45				};
46
47				trip1 {
48					temperature = <115000>;
49					hysteresis = <0>;
50					type = "critical";
51				};
52			};
53		};
54
55		pm8280_2_thermal: pm8280-2-thermal {
56			polling-delay-passive = <100>;
57
58			thermal-sensors = <&pm8280_2_temp_alarm>;
59
60			trips {
61				trip0 {
62					temperature = <95000>;
63					hysteresis = <0>;
64					type = "passive";
65				};
66
67				trip1 {
68					temperature = <115000>;
69					hysteresis = <0>;
70					type = "critical";
71				};
72			};
73		};
74
75		pmr735a_thermal: pmr735a-thermal {
76			polling-delay-passive = <100>;
77
78			thermal-sensors = <&pmr735a_temp_alarm>;
79
80			trips {
81				trip0 {
82					temperature = <95000>;
83					hysteresis = <0>;
84					type = "passive";
85				};
86
87				trip1 {
88					temperature = <115000>;
89					hysteresis = <0>;
90					type = "critical";
91				};
92			};
93		};
94	};
95};
96
97&spmi_bus {
98	pmk8280: pmic@0 {
99		compatible = "qcom,pmk8350", "qcom,spmi-pmic";
100		reg = <0x0 SPMI_USID>;
101		#address-cells = <1>;
102		#size-cells = <0>;
103
104		pmk8280_pon: pon@1300 {
105			compatible = "qcom,pmk8350-pon";
106			reg = <0x1300>, <0x800>;
107			reg-names = "hlos", "pbs";
108
109			pmk8280_pon_pwrkey: pwrkey {
110				compatible = "qcom,pmk8350-pwrkey";
111				interrupts-extended = <&spmi_bus 0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
112				linux,code = <KEY_POWER>;
113				status = "disabled";
114			};
115
116			pmk8280_pon_resin: resin {
117				compatible = "qcom,pmk8350-resin";
118				interrupts-extended = <&spmi_bus 0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
119				status = "disabled";
120			};
121		};
122
123		pmk8280_vadc: adc@3100 {
124			compatible = "qcom,spmi-adc7";
125			reg = <0x3100>;
126			interrupts-extended = <&spmi_bus 0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
127			#address-cells = <1>;
128			#size-cells = <0>;
129			#io-channel-cells = <1>;
130
131			channel@3 {
132				reg = <PMK8350_ADC7_DIE_TEMP>;
133				qcom,pre-scaling = <1 1>;
134				label = "pmk8350_die_temp";
135			};
136
137			channel@44 {
138				reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
139				qcom,hw-settle-time = <200>;
140				qcom,ratiometric;
141				label = "pmk8350_xo_therm";
142			};
143
144			channel@103 {
145				reg = <PM8350_ADC7_DIE_TEMP(1)>;
146				qcom,pre-scaling = <1 1>;
147				label = "pmc8280_1_die_temp";
148			};
149
150			channel@303 {
151				reg = <PM8350_ADC7_DIE_TEMP(3)>;
152				qcom,pre-scaling = <1 1>;
153				label = "pmc8280_2_die_temp";
154			};
155
156			channel@403 {
157				reg = <PMR735A_ADC7_DIE_TEMP>;
158				qcom,pre-scaling = <1 1>;
159				label = "pmr735a_die_temp";
160			};
161		};
162
163		pmk8280_adc_tm: adc-tm@3400 {
164			compatible = "qcom,spmi-adc-tm5-gen2";
165			reg = <0x3400>;
166			interrupts-extended = <&spmi_bus 0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
167			#address-cells = <1>;
168			#size-cells = <0>;
169			#thermal-sensor-cells = <1>;
170			status = "disabled";
171		};
172
173		pmk8280_rtc: rtc@6100 {
174			compatible = "qcom,pmk8350-rtc";
175			reg = <0x6100>, <0x6200>;
176			reg-names = "rtc", "alarm";
177			interrupts-extended = <&spmi_bus 0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
178			wakeup-source;
179			status = "disabled";
180		};
181
182		pmk8280_sdam_6: nvram@8500 {
183			compatible = "qcom,spmi-sdam";
184			reg = <0x8500>;
185			#address-cells = <1>;
186			#size-cells = <1>;
187			ranges = <0 0x8500 0x100>;
188			status = "disabled";
189		};
190	};
191
192	pmc8280_1: pmic@1 {
193		compatible = "qcom,pm8350", "qcom,spmi-pmic";
194		reg = <0x1 SPMI_USID>;
195		#address-cells = <1>;
196		#size-cells = <0>;
197
198		pm8280_1_temp_alarm: temp-alarm@a00 {
199			compatible = "qcom,spmi-temp-alarm";
200			reg = <0xa00>;
201			interrupts-extended = <&spmi_bus 0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
202			io-channels = <&pmk8280_vadc PM8350_ADC7_DIE_TEMP(1)>;
203			io-channel-names = "thermal";
204			#thermal-sensor-cells = <0>;
205		};
206
207		pmc8280_1_gpios: gpio@8800 {
208			compatible = "qcom,pm8350-gpio", "qcom,spmi-gpio";
209			reg = <0x8800>;
210			gpio-controller;
211			gpio-ranges = <&pmc8280_1_gpios 0 0 10>;
212			#gpio-cells = <2>;
213			interrupt-controller;
214			#interrupt-cells = <2>;
215		};
216	};
217
218	pmc8280c: pmic@2 {
219		compatible = "qcom,pm8350c", "qcom,spmi-pmic";
220		reg = <0x2 SPMI_USID>;
221		#address-cells = <1>;
222		#size-cells = <0>;
223
224		pmc8280c_temp_alarm: temp-alarm@a00 {
225			compatible = "qcom,spmi-temp-alarm";
226			reg = <0xa00>;
227			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
228			#thermal-sensor-cells = <0>;
229		};
230
231		pmc8280c_gpios: gpio@8800 {
232			compatible = "qcom,pm8350c-gpio", "qcom,spmi-gpio";
233			reg = <0x8800>;
234			gpio-controller;
235			gpio-ranges = <&pmc8280c_gpios 0 0 9>;
236			#gpio-cells = <2>;
237			interrupt-controller;
238			#interrupt-cells = <2>;
239		};
240
241		pmc8280c_lpg: pwm {
242			compatible = "qcom,pm8350c-pwm";
243
244			#address-cells = <1>;
245			#size-cells = <0>;
246
247			#pwm-cells = <2>;
248
249			status = "disabled";
250		};
251	};
252
253	pmc8280_2: pmic@3 {
254		compatible = "qcom,pm8350", "qcom,spmi-pmic";
255		reg = <0x3 SPMI_USID>;
256		#address-cells = <1>;
257		#size-cells = <0>;
258
259		pm8280_2_temp_alarm: temp-alarm@a00 {
260			compatible = "qcom,spmi-temp-alarm";
261			reg = <0xa00>;
262			interrupts-extended = <&spmi_bus 0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
263			io-channels = <&pmk8280_vadc PM8350_ADC7_DIE_TEMP(3)>;
264			io-channel-names = "thermal";
265			#thermal-sensor-cells = <0>;
266		};
267
268		pmc8280_2_gpios: gpio@8800 {
269			compatible = "qcom,pm8350-gpio", "qcom,spmi-gpio";
270			reg = <0x8800>;
271			gpio-controller;
272			gpio-ranges = <&pmc8280_2_gpios 0 0 10>;
273			#gpio-cells = <2>;
274			interrupt-controller;
275			#interrupt-cells = <2>;
276		};
277	};
278
279	pmr735a: pmic@4 {
280		compatible = "qcom,pmr735a", "qcom,spmi-pmic";
281		reg = <0x4 SPMI_USID>;
282		#address-cells = <1>;
283		#size-cells = <0>;
284
285		pmr735a_temp_alarm: temp-alarm@a00 {
286			compatible = "qcom,spmi-temp-alarm";
287			reg = <0xa00>;
288			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
289			io-channels = <&pmk8280_vadc PMR735A_ADC7_DIE_TEMP>;
290			io-channel-names = "thermal";
291			#thermal-sensor-cells = <0>;
292		};
293
294		pmr735a_gpios: gpio@8800 {
295			compatible = "qcom,pmr735a-gpio", "qcom,spmi-gpio";
296			reg = <0x8800>;
297			gpio-controller;
298			gpio-ranges = <&pmr735a_gpios 0 0 4>;
299			#gpio-cells = <2>;
300			interrupt-controller;
301			#interrupt-cells = <2>;
302		};
303	};
304};
305