xref: /linux/arch/arm64/boot/dts/qcom/lemans-pmics.dtsi (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
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
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
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
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
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_rtc: rtc@6100 {
136			compatible = "qcom,pmk8350-rtc";
137			reg = <0x6100>,
138			      <0x6200>;
139			reg-names = "rtc",
140				    "alarm";
141			interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
142		};
143
144		pmm8654au_0_gpios: gpio@8800 {
145			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
146			reg = <0x8800>;
147			gpio-controller;
148			gpio-ranges = <&pmm8654au_0_gpios 0 0 12>;
149			#gpio-cells = <2>;
150			interrupt-controller;
151			#interrupt-cells = <2>;
152		};
153
154		pmm8654au_0_sdam_0: nvram@7100 {
155			compatible = "qcom,spmi-sdam";
156			reg = <0x7100>;
157			#address-cells = <1>;
158			#size-cells = <1>;
159			ranges = <0 0x7100 0x100>;
160
161			reboot_reason: reboot-reason@48 {
162				reg = <0x48 0x1>;
163				bits = <1 7>;
164			};
165		};
166	};
167
168	pmm8654au_1: pmic@2 {
169		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
170		reg = <0x2 SPMI_USID>;
171		#address-cells = <1>;
172		#size-cells = <0>;
173
174		pmm8654au_1_temp_alarm: temp-alarm@a00 {
175			compatible = "qcom,spmi-temp-alarm";
176			reg = <0xa00>;
177			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
178			#thermal-sensor-cells = <0>;
179		};
180
181		pmm8654au_1_gpios: gpio@8800 {
182			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
183			reg = <0x8800>;
184			gpio-controller;
185			gpio-ranges = <&pmm8654au_1_gpios 0 0 12>;
186			#gpio-cells = <2>;
187			interrupt-controller;
188			#interrupt-cells = <2>;
189		};
190	};
191
192	pmm8654au_2: pmic@4 {
193		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
194		reg = <0x4 SPMI_USID>;
195		#address-cells = <1>;
196		#size-cells = <0>;
197
198		pmm8654au_2_temp_alarm: temp-alarm@a00 {
199			compatible = "qcom,spmi-temp-alarm";
200			reg = <0xa00>;
201			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
202			#thermal-sensor-cells = <0>;
203		};
204
205		pmm8654au_2_gpios: gpio@8800 {
206			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
207			reg = <0x8800>;
208			gpio-controller;
209			gpio-ranges = <&pmm8654au_2_gpios 0 0 12>;
210			#gpio-cells = <2>;
211			interrupt-controller;
212			#interrupt-cells = <2>;
213		};
214	};
215
216	pmm8654au_3: pmic@6 {
217		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
218		reg = <0x6 SPMI_USID>;
219		#address-cells = <1>;
220		#size-cells = <0>;
221
222		pmm8654au_3_temp_alarm: temp-alarm@a00 {
223			compatible = "qcom,spmi-temp-alarm";
224			reg = <0xa00>;
225			interrupts-extended = <&spmi_bus 0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
226			#thermal-sensor-cells = <0>;
227		};
228
229		pmm8654au_3_gpios: gpio@8800 {
230			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
231			reg = <0x8800>;
232			gpio-controller;
233			gpio-ranges = <&pmm8654au_3_gpios 0 0 12>;
234			#gpio-cells = <2>;
235			interrupt-controller;
236			#interrupt-cells = <2>;
237		};
238	};
239};
240