Merge branch 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[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,pm8916-pon";
53
54                         reg = <0x800>;
55
56                         pwrkey {
57                                 compatible = "qcom,pm8941-pwrkey";
58                                 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
59                                 debounce = <15625>;
60                                 bias-pull-up;
61                                 linux,code = <KEY_POWER>;
62                         };
63
64                 };
65
66                 pm660_temp: temp-alarm@2400 {
67                         compatible = "qcom,spmi-temp-alarm";
68                         reg = <0x2400>;
69                         interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
70                         io-channels = <&pm660_adc ADC5_DIE_TEMP>;
71                         io-channel-names = "thermal";
72                         #thermal-sensor-cells = <0>;
73                 };
74
75                 pm660_adc: adc@3100 {
76                         compatible = "qcom,spmi-adc-rev2";
77                         reg = <0x3100>;
78                         interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
79                         #address-cells = <1>;
80                         #size-cells = <0>;
81                         #io-channel-cells = <1>;
82
83                         ref_gnd: ref_gnd@0 {
84                                 reg = <ADC5_REF_GND>;
85                                 qcom,decimation = <1024>;
86                                 qcom,pre-scaling = <1 1>;
87                         };
88
89                         vref_1p25: vref_1p25@1 {
90                                 reg = <ADC5_1P25VREF>;
91                                 qcom,decimation = <1024>;
92                                 qcom,pre-scaling = <1 1>;
93                         };
94
95                         die_temp: die_temp@6 {
96                                 reg = <ADC5_DIE_TEMP>;
97                                 qcom,decimation = <1024>;
98                                 qcom,pre-scaling = <1 1>;
99                         };
100
101                         xo_therm: xo_therm@4c {
102                                 reg = <ADC5_XO_THERM_100K_PU>;
103                                 qcom,pre-scaling = <1 1>;
104                                 qcom,decimation = <1024>;
105                                 qcom,hw-settle-time = <200>;
106                                 qcom,ratiometric;
107                         };
108
109                         msm_therm: msm_therm@4d {
110                                 reg = <ADC5_AMUX_THM1_100K_PU>;
111                                 qcom,pre-scaling = <1 1>;
112                                 qcom,decimation = <1024>;
113                                 qcom,hw-settle-time = <200>;
114                                 qcom,ratiometric;
115                         };
116
117                         emmc_therm: emmc_therm@4e {
118                                 reg = <ADC5_AMUX_THM2_100K_PU>;
119                                 qcom,pre-scaling = <1 1>;
120                                 qcom,decimation = <1024>;
121                                 qcom,hw-settle-time = <200>;
122                                 qcom,ratiometric;
123                         };
124
125                         pa_therm0: thermistor0@4f {
126                                 reg = <ADC5_AMUX_THM3_100K_PU>;
127                                 qcom,pre-scaling = <1 1>;
128                                 qcom,decimation = <1024>;
129                                 qcom,hw-settle-time = <200>;
130                                 qcom,ratiometric;
131                         };
132
133                         pa_therm1: thermistor1@50 {
134                                 reg = <ADC5_AMUX_THM4_100K_PU>;
135                                 qcom,pre-scaling = <1 1>;
136                                 qcom,decimation = <1024>;
137                                 qcom,hw-settle-time = <200>;
138                                 qcom,ratiometric;
139                         };
140
141                         quiet_therm: quiet_therm@51 {
142                                 reg = <ADC5_AMUX_THM5_100K_PU>;
143                                 qcom,pre-scaling = <1 1>;
144                                 qcom,decimation = <1024>;
145                                 qcom,hw-settle-time = <200>;
146                                 qcom,ratiometric;
147                         };
148
149                         vadc_vph_pwr: vph_pwr@83 {
150                                 reg = <ADC5_VPH_PWR>;
151                                 qcom,decimation = <1024>;
152                                 qcom,pre-scaling = <1 3>;
153                         };
154
155                         vcoin: vcoin@83 {
156                                 reg = <ADC5_VCOIN>;
157                                 qcom,decimation = <1024>;
158                                 qcom,pre-scaling = <1 3>;
159                         };
160                 };
161
162                 pm660_gpios: gpios@c000 {
163                         compatible = "qcom,pm660-gpio";
164                         reg = <0xc000>;
165                         gpio-controller;
166                         gpio-ranges = <&pm660_gpios 0 0 13>;
167                         #gpio-cells = <2>;
168                         interrupt-controller;
169                         #interrupt-cells = <2>;
170                 };
171         };
172
173         pmic@1 {
174                 compatible = "qcom,pm660", "qcom,spmi-pmic";
175                 reg = <0x1 SPMI_USID>;
176                 #address-cells = <1>;
177                 #size-cells = <0>;
178
179                 pm660_spmi_regulators: pm660-regulators {
180                         compatible = "qcom,pm660-regulators";
181                 };
182         };
183 };