Merge tag 'pwm/for-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[platform/kernel/linux-starfive.git] / arch / arm64 / boot / dts / qcom / sa8775p-pmics.dtsi
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 };