blob: 1c6f12fafe1d402c068324ed4d5f9e29fc6f6f18 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2021-2023, Linaro Limited
5 */
6
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/spmi/spmi.h>
10#include <dt-bindings/iio/qcom,spmi-vadc.h>
11
12/ {
13 thermal-zones {
14 pmc8180-thermal {
15 polling-delay-passive = <100>;
Tom Rini53633a82024-02-29 12:33:36 -050016
17 thermal-sensors = <&pmc8180_temp>;
18
19 trips {
20 trip0 {
21 temperature = <95000>;
22 hysteresis = <0>;
23 type = "passive";
24 };
25
26 trip1 {
27 temperature = <115000>;
28 hysteresis = <0>;
29 type = "hot";
30 };
31
32 trip2 {
33 temperature = <145000>;
34 hysteresis = <0>;
35 type = "critical";
36 };
37 };
38 };
39
40 pmc8180c-thermal {
41 polling-delay-passive = <100>;
Tom Rini53633a82024-02-29 12:33:36 -050042
43 thermal-sensors = <&pmc8180c_temp>;
44
45 trips {
46 trip0 {
47 temperature = <95000>;
48 hysteresis = <0>;
49 type = "passive";
50 };
51
52 trip1 {
53 temperature = <115000>;
54 hysteresis = <0>;
55 type = "hot";
56 };
57
58 trip2 {
59 temperature = <145000>;
60 hysteresis = <0>;
61 type = "critical";
62 };
63 };
64 };
65 };
66};
67
68&spmi_bus {
69 pmc8180_0: pmic@0 {
70 compatible = "qcom,pm8150", "qcom,spmi-pmic";
71 reg = <0x0 SPMI_USID>;
72 #address-cells = <1>;
73 #size-cells = <0>;
74
75 pon: pon@800 {
76 compatible = "qcom,pm8916-pon";
77 reg = <0x0800>;
78 pwrkey {
79 compatible = "qcom,pm8941-pwrkey";
80 interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
81 debounce = <15625>;
82 bias-pull-up;
83 linux,code = <KEY_POWER>;
84
85 status = "disabled";
86 };
87 };
88
89 pmc8180_temp: temp-alarm@2400 {
90 compatible = "qcom,spmi-temp-alarm";
91 reg = <0x2400>;
92 interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
93 io-channels = <&pmc8180_adc ADC5_DIE_TEMP>;
94 io-channel-names = "thermal";
95 #thermal-sensor-cells = <0>;
96 };
97
98 pmc8180_adc: adc@3100 {
99 compatible = "qcom,spmi-adc5";
100 reg = <0x3100>;
101 #address-cells = <1>;
102 #size-cells = <0>;
103 #io-channel-cells = <1>;
104 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
105
106 channel@0 {
107 reg = <ADC5_REF_GND>;
108 qcom,pre-scaling = <1 1>;
109 label = "ref_gnd";
110 };
111
112 channel@1 {
113 reg = <ADC5_1P25VREF>;
114 qcom,pre-scaling = <1 1>;
115 label = "vref_1p25";
116 };
117
118 channel@6 {
119 reg = <ADC5_DIE_TEMP>;
120 qcom,pre-scaling = <1 1>;
121 label = "die_temp";
122 };
123 };
124
125 pmc8180_adc_tm: adc-tm@3500 {
126 compatible = "qcom,spmi-adc-tm5";
127 reg = <0x3500>;
128 interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
129 #thermal-sensor-cells = <1>;
130 #address-cells = <1>;
131 #size-cells = <0>;
132 status = "disabled";
133 };
134
135 rtc@6000 {
136 compatible = "qcom,pm8941-rtc";
137 reg = <0x6000>;
138 reg-names = "rtc", "alarm";
139 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
140 };
141
142 pmc8180_gpios: gpio@c000 {
143 compatible = "qcom,pmc8180-gpio", "qcom,spmi-gpio";
144 reg = <0xc000>;
145 gpio-controller;
146 gpio-ranges = <&pmc8180_gpios 0 0 10>;
147 #gpio-cells = <2>;
148 interrupt-controller;
149 #interrupt-cells = <2>;
150 };
151 };
152
153 pmic@1 {
154 compatible = "qcom,pmc8180", "qcom,spmi-pmic";
155 reg = <0x1 SPMI_USID>;
156 #address-cells = <1>;
157 #size-cells = <0>;
158 };
159
160 pmic@2 {
161 compatible = "qcom,smb2351", "qcom,spmi-pmic";
162 reg = <0x2 SPMI_USID>;
163 #address-cells = <1>;
164 #size-cells = <0>;
165
166 adc@3100 {
167 compatible = "qcom,spmi-adc-rev2";
168 reg = <0x3100>;
169 #address-cells = <1>;
170 #size-cells = <0>;
171 #io-channel-cells = <1>;
172 interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
173
174 channel@0 {
175 reg = <ADC5_REF_GND>;
176 qcom,pre-scaling = <1 1>;
177 label = "ref_gnd";
178 };
179
180 channel@1 {
181 reg = <ADC5_1P25VREF>;
182 qcom,pre-scaling = <1 1>;
183 label = "vref_1p25";
184 };
185
186 channel@85 {
187 reg = <0x85>;
188 qcom,pre-scaling = <1 1>;
189 label = "vcoin2";
190 };
191 };
192 };
193
194 pmic@6 {
195 compatible = "qcom,pm8150c", "qcom,spmi-pmic";
196 reg = <0x6 SPMI_USID>;
197 #address-cells = <1>;
198 #size-cells = <0>;
199 };
200
201 pmic@8 {
202 compatible = "qcom,pm8150", "qcom,spmi-pmic";
203 reg = <0x8 SPMI_USID>;
204 #address-cells = <1>;
205 #size-cells = <0>;
206 };
207
208 pmic@a {
209 compatible = "qcom,smb2351", "qcom,spmi-pmic";
210 reg = <0xa SPMI_USID>;
211 #address-cells = <1>;
212 #size-cells = <0>;
213
214 adc@3100 {
215 compatible = "qcom,spmi-adc-rev2";
216 reg = <0x3100>;
217 #address-cells = <1>;
218 #size-cells = <0>;
219 #io-channel-cells = <1>;
220 interrupts = <0xa 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
221
222 channel@0 {
223 reg = <ADC5_REF_GND>;
224 qcom,pre-scaling = <1 1>;
225 label = "ref_gnd";
226 };
227
228 channel@1 {
229 reg = <ADC5_1P25VREF>;
230 qcom,pre-scaling = <1 1>;
231 label = "vref_1p25";
232 };
233
234 channel@85 {
235 reg = <0x85>;
236 qcom,pre-scaling = <1 1>;
237 label = "vcoin";
238 };
239 };
240 };
241
242 pmic@4 {
243 compatible = "qcom,pm8150c", "qcom,spmi-pmic";
244 reg = <0x4 SPMI_USID>;
245 #address-cells = <1>;
246 #size-cells = <0>;
247
248 pon@800 {
249 compatible = "qcom,pm8916-pon";
250 reg = <0x0800>;
251
252 status = "disabled";
253 };
254
255 pmc8180c_temp: temp-alarm@2400 {
256 compatible = "qcom,spmi-temp-alarm";
257 reg = <0x2400>;
258 interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
259 io-channels = <&pmc8180c_adc ADC5_DIE_TEMP>;
260 io-channel-names = "thermal";
261 #thermal-sensor-cells = <0>;
262 };
263
264 pmc8180c_adc: adc@3100 {
265 compatible = "qcom,spmi-adc5";
266 reg = <0x3100>;
267 #address-cells = <1>;
268 #size-cells = <0>;
269 #io-channel-cells = <1>;
270 interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
271
272 channel@0 {
273 reg = <ADC5_REF_GND>;
274 qcom,pre-scaling = <1 1>;
275 label = "ref_gnd";
276 };
277
278 channel@1 {
279 reg = <ADC5_1P25VREF>;
280 qcom,pre-scaling = <1 1>;
281 label = "vref_1p25";
282 };
283
284 channel@6 {
285 reg = <ADC5_DIE_TEMP>;
286 qcom,pre-scaling = <1 1>;
287 label = "die_temp";
288 };
289 };
290
291 pmc8180c_adc_tm: adc-tm@3500 {
292 compatible = "qcom,spmi-adc-tm5";
293 reg = <0x3500>;
294 interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
295 #thermal-sensor-cells = <1>;
296 #address-cells = <1>;
297 #size-cells = <0>;
298 status = "disabled";
299 };
300
301 pmc8180c_gpios: gpio@c000 {
302 compatible = "qcom,pmc8180c-gpio", "qcom,spmi-gpio";
303 reg = <0xc000>;
304 gpio-controller;
305 gpio-ranges = <&pmc8180c_gpios 0 0 12>;
306 #gpio-cells = <2>;
307 interrupt-controller;
308 #interrupt-cells = <2>;
309 };
310 };
311
312 pmic@5 {
313 compatible = "qcom,pmc8180c", "qcom,spmi-pmic";
314 reg = <0x5 SPMI_USID>;
315
316 pmc8180c_lpg: pwm {
317 compatible = "qcom,pmc8180c-lpg";
318
319 #address-cells = <1>;
320 #size-cells = <0>;
321 #pwm-cells = <2>;
322
323 status = "disabled";
324 };
325 };
326};