1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023, Linaro Limited
4 */
5
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/spmi/spmi.h>
8
9/ {
10	thermal-zones {
11		pmm8654au_0_thermal: pm8775-0-thermal {
12			polling-delay-passive = <100>;
13			polling-delay = <0>;
14			thermal-sensors = <&pmm8654au_0_temp_alarm>;
15
16			trips {
17				trip0 {
18					temperature = <105000>;
19					hysteresis = <0>;
20					type = "passive";
21				};
22
23				trip1 {
24					temperature = <125000>;
25					hysteresis = <0>;
26					type = "critical";
27				};
28			};
29		};
30
31		pmm8654au_1_thermal: pm8775-1-thermal {
32			polling-delay-passive = <100>;
33			polling-delay = <0>;
34			thermal-sensors = <&pmm8654au_1_temp_alarm>;
35
36			trips {
37				trip0 {
38					temperature = <105000>;
39					hysteresis = <0>;
40					type = "passive";
41				};
42
43				trip1 {
44					temperature = <125000>;
45					hysteresis = <0>;
46					type = "critical";
47				};
48			};
49		};
50
51		pmm8654au_2_thermal: pm8775-2-thermal {
52			polling-delay-passive = <100>;
53			polling-delay = <0>;
54			thermal-sensors = <&pmm8654au_2_temp_alarm>;
55
56			trips {
57				trip0 {
58					temperature = <105000>;
59					hysteresis = <0>;
60					type = "passive";
61				};
62
63				trip1 {
64					temperature = <125000>;
65					hysteresis = <0>;
66					type = "critical";
67				};
68			};
69		};
70
71		pmm8654au_3_thermal: pm8775-3-thermal {
72			polling-delay-passive = <100>;
73			polling-delay = <0>;
74			thermal-sensors = <&pmm8654au_3_temp_alarm>;
75
76			trips {
77				trip0 {
78					temperature = <105000>;
79					hysteresis = <0>;
80					type = "passive";
81				};
82
83				trip1 {
84					temperature = <125000>;
85					hysteresis = <0>;
86					type = "critical";
87				};
88			};
89		};
90	};
91
92	reboot-mode {
93		compatible = "nvmem-reboot-mode";
94		nvmem-cells = <&reboot_reason>;
95		nvmem-cell-names = "reboot-mode";
96		mode-recovery = <0x01>;
97		mode-bootloader = <0x02>;
98	};
99};
100
101&spmi_bus {
102	pmm8654au_0: pmic@0 {
103		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
104		reg = <0x0 SPMI_USID>;
105		#address-cells = <1>;
106		#size-cells = <0>;
107
108		pmm8654au_0_temp_alarm: temp-alarm@a00 {
109			compatible = "qcom,spmi-temp-alarm";
110			reg = <0xa00>;
111			interrupts-extended = <&spmi_bus 0x0 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
112			#thermal-sensor-cells = <0>;
113		};
114
115		pmm8654au_0_pon: pon@1200 {
116			compatible = "qcom,pmk8350-pon";
117			reg = <0x1200>, <0x800>;
118			reg-names = "hlos", "pbs";
119
120			pmm8654au_0_pon_pwrkey: pwrkey {
121				compatible = "qcom,pmk8350-pwrkey";
122				interrupts-extended = <&spmi_bus 0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
123				linux,code = <KEY_POWER>;
124				debounce = <15625>;
125			};
126
127			pmm8654au_0_pon_resin: resin {
128				compatible = "qcom,pmk8350-resin";
129				interrupts-extended = <&spmi_bus 0x0 0x12 0x6 IRQ_TYPE_EDGE_BOTH>;
130				debounce = <15625>;
131				status = "disabled";
132			};
133		};
134
135		pmm8654au_0_gpios: gpio@8800 {
136			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
137			reg = <0x8800>;
138			gpio-controller;
139			gpio-ranges = <&pmm8654au_0_gpios 0 0 12>;
140			#gpio-cells = <2>;
141			interrupt-controller;
142			#interrupt-cells = <2>;
143		};
144
145		pmm8654au_0_sdam_0: nvram@7100 {
146			compatible = "qcom,spmi-sdam";
147			reg = <0x7100>;
148			#address-cells = <1>;
149			#size-cells = <1>;
150			ranges = <0 0x7100 0x100>;
151
152			reboot_reason: reboot-reason@48 {
153				reg = <0x48 0x1>;
154				bits = <1 7>;
155			};
156		};
157	};
158
159	pmm8654au_1: pmic@2 {
160		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
161		reg = <0x2 SPMI_USID>;
162		#address-cells = <1>;
163		#size-cells = <0>;
164
165		pmm8654au_1_temp_alarm: temp-alarm@a00 {
166			compatible = "qcom,spmi-temp-alarm";
167			reg = <0xa00>;
168			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
169			#thermal-sensor-cells = <0>;
170		};
171
172		pmm8654au_1_gpios: gpio@8800 {
173			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
174			reg = <0x8800>;
175			gpio-controller;
176			gpio-ranges = <&pmm8654au_2_gpios 0 0 12>;
177			#gpio-cells = <2>;
178			interrupt-controller;
179			#interrupt-cells = <2>;
180		};
181	};
182
183	pmm8654au_2: pmic@4 {
184		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
185		reg = <0x4 SPMI_USID>;
186		#address-cells = <1>;
187		#size-cells = <0>;
188
189		pmm8654au_2_temp_alarm: temp-alarm@a00 {
190			compatible = "qcom,spmi-temp-alarm";
191			reg = <0xa00>;
192			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
193			#thermal-sensor-cells = <0>;
194		};
195
196		pmm8654au_2_gpios: gpio@8800 {
197			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
198			reg = <0x8800>;
199			gpio-controller;
200			gpio-ranges = <&pmm8654au_2_gpios 0 0 12>;
201			#gpio-cells = <2>;
202			interrupt-controller;
203			#interrupt-cells = <2>;
204		};
205	};
206
207	pmm8654au_3: pmic@6 {
208		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
209		reg = <0x6 SPMI_USID>;
210		#address-cells = <1>;
211		#size-cells = <0>;
212
213		pmm8654au_3_temp_alarm: temp-alarm@a00 {
214			compatible = "qcom,spmi-temp-alarm";
215			reg = <0xa00>;
216			interrupts-extended = <&spmi_bus 0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
217			#thermal-sensor-cells = <0>;
218		};
219
220		pmm8654au_3_gpios: gpio@8800 {
221			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
222			reg = <0x8800>;
223			gpio-controller;
224			gpio-ranges = <&pmm8654au_3_gpios 0 0 12>;
225			#gpio-cells = <2>;
226			interrupt-controller;
227			#interrupt-cells = <2>;
228		};
229	};
230};
231