Merge tag 'pwm/for-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / pm660.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2020, Konrad Dybcio
4  */
5
6 #include <dt-bindings/iio/qcom,spmi-vadc.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 #include <dt-bindings/thermal/thermal.h>
11
12 / {
13         thermal-zones {
14                 pm660 {
15                         polling-delay-passive = <250>;
16                         polling-delay = <1000>;
17
18                         thermal-sensors = <&pm660_temp>;
19
20                         trips {
21                                 pm660_alert0: pm660-alert0 {
22                                         temperature = <95000>;
23                                         hysteresis = <2000>;
24                                         type = "passive";
25                                 };
26                                 pm660_crit: pm660-crit {
27                                         temperature = <125000>;
28                                         hysteresis = <2000>;
29                                         type = "critical";
30                                 };
31                         };
32                 };
33         };
34 };
35
36 &spmi_bus {
37
38         pmic@0 {
39                 compatible = "qcom,pm660", "qcom,spmi-pmic";
40                 reg = <0x0 SPMI_USID>;
41                 #address-cells = <1>;
42                 #size-cells = <0>;
43
44                 rtc@6000 {
45                         compatible = "qcom,pm8941-rtc";
46                         reg = <0x6000>, <0x6100>;
47                         reg-names = "rtc", "alarm";
48                         interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
49                 };
50
51                 pon: pon@800 {
52                         compatible = "qcom,pm8998-pon";
53                         reg = <0x800>;
54                         mode-bootloader = <0x2>;
55                         mode-recovery = <0x1>;
56
57                         pon_pwrkey: pwrkey {
58                                 compatible = "qcom,pm8941-pwrkey";
59                                 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
60                                 debounce = <15625>;
61                                 bias-pull-up;
62                                 linux,code = <KEY_POWER>;
63
64                                 status = "disabled";
65                         };
66
67                         pon_resin: resin {
68                                 compatible = "qcom,pm8941-resin";
69                                 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
70                                 debounce = <15625>;
71                                 bias-pull-up;
72
73                                 status = "disabled";
74                         };
75                 };
76
77                 pm660_temp: temp-alarm@2400 {
78                         compatible = "qcom,spmi-temp-alarm";
79                         reg = <0x2400>;
80                         interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
81                         io-channels = <&pm660_adc ADC5_DIE_TEMP>;
82                         io-channel-names = "thermal";
83                         #thermal-sensor-cells = <0>;
84                 };
85
86                 pm660_adc: adc@3100 {
87                         compatible = "qcom,spmi-adc-rev2";
88                         reg = <0x3100>;
89                         interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
90                         #address-cells = <1>;
91                         #size-cells = <0>;
92                         #io-channel-cells = <1>;
93
94                         ref_gnd: ref_gnd@0 {
95                                 reg = <ADC5_REF_GND>;
96                                 qcom,decimation = <1024>;
97                                 qcom,pre-scaling = <1 1>;
98                         };
99
100                         vref_1p25: vref_1p25@1 {
101                                 reg = <ADC5_1P25VREF>;
102                                 qcom,decimation = <1024>;
103                                 qcom,pre-scaling = <1 1>;
104                         };
105
106                         die_temp: die_temp@6 {
107                                 reg = <ADC5_DIE_TEMP>;
108                                 qcom,decimation = <1024>;
109                                 qcom,pre-scaling = <1 1>;
110                         };
111
112                         xo_therm: xo_therm@4c {
113                                 reg = <ADC5_XO_THERM_100K_PU>;
114                                 qcom,pre-scaling = <1 1>;
115                                 qcom,decimation = <1024>;
116                                 qcom,hw-settle-time = <200>;
117                                 qcom,ratiometric;
118                         };
119
120                         msm_therm: msm_therm@4d {
121                                 reg = <ADC5_AMUX_THM1_100K_PU>;
122                                 qcom,pre-scaling = <1 1>;
123                                 qcom,decimation = <1024>;
124                                 qcom,hw-settle-time = <200>;
125                                 qcom,ratiometric;
126                         };
127
128                         emmc_therm: emmc_therm@4e {
129                                 reg = <ADC5_AMUX_THM2_100K_PU>;
130                                 qcom,pre-scaling = <1 1>;
131                                 qcom,decimation = <1024>;
132                                 qcom,hw-settle-time = <200>;
133                                 qcom,ratiometric;
134                         };
135
136                         pa_therm0: thermistor0@4f {
137                                 reg = <ADC5_AMUX_THM3_100K_PU>;
138                                 qcom,pre-scaling = <1 1>;
139                                 qcom,decimation = <1024>;
140                                 qcom,hw-settle-time = <200>;
141                                 qcom,ratiometric;
142                         };
143
144                         pa_therm1: thermistor1@50 {
145                                 reg = <ADC5_AMUX_THM4_100K_PU>;
146                                 qcom,pre-scaling = <1 1>;
147                                 qcom,decimation = <1024>;
148                                 qcom,hw-settle-time = <200>;
149                                 qcom,ratiometric;
150                         };
151
152                         quiet_therm: quiet_therm@51 {
153                                 reg = <ADC5_AMUX_THM5_100K_PU>;
154                                 qcom,pre-scaling = <1 1>;
155                                 qcom,decimation = <1024>;
156                                 qcom,hw-settle-time = <200>;
157                                 qcom,ratiometric;
158                         };
159
160                         vadc_vph_pwr: vph_pwr@83 {
161                                 reg = <ADC5_VPH_PWR>;
162                                 qcom,decimation = <1024>;
163                                 qcom,pre-scaling = <1 3>;
164                         };
165
166                         vcoin: vcoin@83 {
167                                 reg = <ADC5_VCOIN>;
168                                 qcom,decimation = <1024>;
169                                 qcom,pre-scaling = <1 3>;
170                         };
171                 };
172
173                 pm660_gpios: gpios@c000 {
174                         compatible = "qcom,pm660-gpio";
175                         reg = <0xc000>;
176                         gpio-controller;
177                         gpio-ranges = <&pm660_gpios 0 0 13>;
178                         #gpio-cells = <2>;
179                         interrupt-controller;
180                         #interrupt-cells = <2>;
181                 };
182         };
183
184         pmic@1 {
185                 compatible = "qcom,pm660", "qcom,spmi-pmic";
186                 reg = <0x1 SPMI_USID>;
187                 #address-cells = <1>;
188                 #size-cells = <0>;
189
190                 pm660_spmi_regulators: pm660-regulators {
191                         compatible = "qcom,pm660-regulators";
192                 };
193         };
194 };