xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sa8775p-pmics.dtsi (revision 3a568e3a961ba330091cd031647e4c303fa0badb)
1634a3de3SBartosz Golaszewski// SPDX-License-Identifier: BSD-3-Clause
2634a3de3SBartosz Golaszewski/*
3634a3de3SBartosz Golaszewski * Copyright (c) 2023, Linaro Limited
4634a3de3SBartosz Golaszewski */
5634a3de3SBartosz Golaszewski
6634a3de3SBartosz Golaszewski#include <dt-bindings/input/input.h>
7634a3de3SBartosz Golaszewski#include <dt-bindings/spmi/spmi.h>
8634a3de3SBartosz Golaszewski
9fa40ca07SBartosz Golaszewski/ {
10fa40ca07SBartosz Golaszewski	thermal-zones {
11fa40ca07SBartosz Golaszewski		pmm8654au_0_thermal: pm8775-0-thermal {
12fa40ca07SBartosz Golaszewski			polling-delay-passive = <100>;
13fa40ca07SBartosz Golaszewski			polling-delay = <0>;
14fa40ca07SBartosz Golaszewski			thermal-sensors = <&pmm8654au_0_temp_alarm>;
15fa40ca07SBartosz Golaszewski
16fa40ca07SBartosz Golaszewski			trips {
17fa40ca07SBartosz Golaszewski				trip0 {
18fa40ca07SBartosz Golaszewski					temperature = <105000>;
19fa40ca07SBartosz Golaszewski					hysteresis = <0>;
20fa40ca07SBartosz Golaszewski					type = "passive";
21fa40ca07SBartosz Golaszewski				};
22fa40ca07SBartosz Golaszewski
23fa40ca07SBartosz Golaszewski				trip1 {
24fa40ca07SBartosz Golaszewski					temperature = <125000>;
25fa40ca07SBartosz Golaszewski					hysteresis = <0>;
26fa40ca07SBartosz Golaszewski					type = "critical";
27fa40ca07SBartosz Golaszewski				};
28fa40ca07SBartosz Golaszewski			};
29fa40ca07SBartosz Golaszewski		};
30fa40ca07SBartosz Golaszewski
31fa40ca07SBartosz Golaszewski		pmm8654au_1_thermal: pm8775-1-thermal {
32fa40ca07SBartosz Golaszewski			polling-delay-passive = <100>;
33fa40ca07SBartosz Golaszewski			polling-delay = <0>;
34fa40ca07SBartosz Golaszewski			thermal-sensors = <&pmm8654au_1_temp_alarm>;
35fa40ca07SBartosz Golaszewski
36fa40ca07SBartosz Golaszewski			trips {
37fa40ca07SBartosz Golaszewski				trip0 {
38fa40ca07SBartosz Golaszewski					temperature = <105000>;
39fa40ca07SBartosz Golaszewski					hysteresis = <0>;
40fa40ca07SBartosz Golaszewski					type = "passive";
41fa40ca07SBartosz Golaszewski				};
42fa40ca07SBartosz Golaszewski
43fa40ca07SBartosz Golaszewski				trip1 {
44fa40ca07SBartosz Golaszewski					temperature = <125000>;
45fa40ca07SBartosz Golaszewski					hysteresis = <0>;
46fa40ca07SBartosz Golaszewski					type = "critical";
47fa40ca07SBartosz Golaszewski				};
48fa40ca07SBartosz Golaszewski			};
49fa40ca07SBartosz Golaszewski		};
50fa40ca07SBartosz Golaszewski
51fa40ca07SBartosz Golaszewski		pmm8654au_2_thermal: pm8775-2-thermal {
52fa40ca07SBartosz Golaszewski			polling-delay-passive = <100>;
53fa40ca07SBartosz Golaszewski			polling-delay = <0>;
54fa40ca07SBartosz Golaszewski			thermal-sensors = <&pmm8654au_2_temp_alarm>;
55fa40ca07SBartosz Golaszewski
56fa40ca07SBartosz Golaszewski			trips {
57fa40ca07SBartosz Golaszewski				trip0 {
58fa40ca07SBartosz Golaszewski					temperature = <105000>;
59fa40ca07SBartosz Golaszewski					hysteresis = <0>;
60fa40ca07SBartosz Golaszewski					type = "passive";
61fa40ca07SBartosz Golaszewski				};
62fa40ca07SBartosz Golaszewski
63fa40ca07SBartosz Golaszewski				trip1 {
64fa40ca07SBartosz Golaszewski					temperature = <125000>;
65fa40ca07SBartosz Golaszewski					hysteresis = <0>;
66fa40ca07SBartosz Golaszewski					type = "critical";
67fa40ca07SBartosz Golaszewski				};
68fa40ca07SBartosz Golaszewski			};
69fa40ca07SBartosz Golaszewski		};
70fa40ca07SBartosz Golaszewski
71fa40ca07SBartosz Golaszewski		pmm8654au_3_thermal: pm8775-3-thermal {
72fa40ca07SBartosz Golaszewski			polling-delay-passive = <100>;
73fa40ca07SBartosz Golaszewski			polling-delay = <0>;
74fa40ca07SBartosz Golaszewski			thermal-sensors = <&pmm8654au_3_temp_alarm>;
75fa40ca07SBartosz Golaszewski
76fa40ca07SBartosz Golaszewski			trips {
77fa40ca07SBartosz Golaszewski				trip0 {
78fa40ca07SBartosz Golaszewski					temperature = <105000>;
79fa40ca07SBartosz Golaszewski					hysteresis = <0>;
80fa40ca07SBartosz Golaszewski					type = "passive";
81fa40ca07SBartosz Golaszewski				};
82fa40ca07SBartosz Golaszewski
83fa40ca07SBartosz Golaszewski				trip1 {
84fa40ca07SBartosz Golaszewski					temperature = <125000>;
85fa40ca07SBartosz Golaszewski					hysteresis = <0>;
86fa40ca07SBartosz Golaszewski					type = "critical";
87fa40ca07SBartosz Golaszewski				};
88fa40ca07SBartosz Golaszewski			};
89fa40ca07SBartosz Golaszewski		};
90fa40ca07SBartosz Golaszewski	};
916c92689aSParikshit Pareek
926c92689aSParikshit Pareek	reboot-mode {
936c92689aSParikshit Pareek		compatible = "nvmem-reboot-mode";
946c92689aSParikshit Pareek		nvmem-cells = <&reboot_reason>;
956c92689aSParikshit Pareek		nvmem-cell-names = "reboot-mode";
966c92689aSParikshit Pareek		mode-recovery = <0x01>;
976c92689aSParikshit Pareek		mode-bootloader = <0x02>;
986c92689aSParikshit Pareek	};
99fa40ca07SBartosz Golaszewski};
100fa40ca07SBartosz Golaszewski
101634a3de3SBartosz Golaszewski&spmi_bus {
102634a3de3SBartosz Golaszewski	pmm8654au_0: pmic@0 {
103634a3de3SBartosz Golaszewski		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
104634a3de3SBartosz Golaszewski		reg = <0x0 SPMI_USID>;
105634a3de3SBartosz Golaszewski		#address-cells = <1>;
106634a3de3SBartosz Golaszewski		#size-cells = <0>;
107d2d9a592SBartosz Golaszewski
108fa40ca07SBartosz Golaszewski		pmm8654au_0_temp_alarm: temp-alarm@a00 {
109fa40ca07SBartosz Golaszewski			compatible = "qcom,spmi-temp-alarm";
110fa40ca07SBartosz Golaszewski			reg = <0xa00>;
111fa40ca07SBartosz Golaszewski			interrupts-extended = <&spmi_bus 0x0 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
112fa40ca07SBartosz Golaszewski			#thermal-sensor-cells = <0>;
113fa40ca07SBartosz Golaszewski		};
114fa40ca07SBartosz Golaszewski
115d2d9a592SBartosz Golaszewski		pmm8654au_0_pon: pon@1200 {
116d2d9a592SBartosz Golaszewski			compatible = "qcom,pmk8350-pon";
117d2d9a592SBartosz Golaszewski			reg = <0x1200>, <0x800>;
118d2d9a592SBartosz Golaszewski			reg-names = "hlos", "pbs";
119b3a755baSBartosz Golaszewski
120b3a755baSBartosz Golaszewski			pmm8654au_0_pon_pwrkey: pwrkey {
121b3a755baSBartosz Golaszewski				compatible = "qcom,pmk8350-pwrkey";
122b3a755baSBartosz Golaszewski				interrupts-extended = <&spmi_bus 0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
123b3a755baSBartosz Golaszewski				linux,code = <KEY_POWER>;
124b3a755baSBartosz Golaszewski				debounce = <15625>;
125b3a755baSBartosz Golaszewski			};
126cecff1f5SBartosz Golaszewski
127cecff1f5SBartosz Golaszewski			pmm8654au_0_pon_resin: resin {
128cecff1f5SBartosz Golaszewski				compatible = "qcom,pmk8350-resin";
129cecff1f5SBartosz Golaszewski				interrupts-extended = <&spmi_bus 0x0 0x12 0x6 IRQ_TYPE_EDGE_BOTH>;
130cecff1f5SBartosz Golaszewski				debounce = <15625>;
131cecff1f5SBartosz Golaszewski				status = "disabled";
132cecff1f5SBartosz Golaszewski			};
133d2d9a592SBartosz Golaszewski		};
134e5a893a7SBartosz Golaszewski
135e5a893a7SBartosz Golaszewski		pmm8654au_0_gpios: gpio@8800 {
136e5a893a7SBartosz Golaszewski			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
137e5a893a7SBartosz Golaszewski			reg = <0x8800>;
138e5a893a7SBartosz Golaszewski			gpio-controller;
139e5a893a7SBartosz Golaszewski			gpio-ranges = <&pmm8654au_0_gpios 0 0 12>;
140e5a893a7SBartosz Golaszewski			#gpio-cells = <2>;
141e5a893a7SBartosz Golaszewski			interrupt-controller;
142e5a893a7SBartosz Golaszewski			#interrupt-cells = <2>;
143e5a893a7SBartosz Golaszewski		};
1446c92689aSParikshit Pareek
1456c92689aSParikshit Pareek		pmm8654au_0_sdam_0: nvram@7100 {
1466c92689aSParikshit Pareek			compatible = "qcom,spmi-sdam";
1476c92689aSParikshit Pareek			reg = <0x7100>;
1486c92689aSParikshit Pareek			#address-cells = <1>;
1496c92689aSParikshit Pareek			#size-cells = <1>;
1506c92689aSParikshit Pareek			ranges = <0 0x7100 0x100>;
1516c92689aSParikshit Pareek
1526c92689aSParikshit Pareek			reboot_reason: reboot-reason@48 {
1536c92689aSParikshit Pareek				reg = <0x48 0x1>;
1546c92689aSParikshit Pareek				bits = <1 7>;
1556c92689aSParikshit Pareek			};
1566c92689aSParikshit Pareek		};
157634a3de3SBartosz Golaszewski	};
158634a3de3SBartosz Golaszewski
159634a3de3SBartosz Golaszewski	pmm8654au_1: pmic@2 {
160634a3de3SBartosz Golaszewski		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
161634a3de3SBartosz Golaszewski		reg = <0x2 SPMI_USID>;
162634a3de3SBartosz Golaszewski		#address-cells = <1>;
163634a3de3SBartosz Golaszewski		#size-cells = <0>;
164fa40ca07SBartosz Golaszewski
165fa40ca07SBartosz Golaszewski		pmm8654au_1_temp_alarm: temp-alarm@a00 {
166fa40ca07SBartosz Golaszewski			compatible = "qcom,spmi-temp-alarm";
167fa40ca07SBartosz Golaszewski			reg = <0xa00>;
168fa40ca07SBartosz Golaszewski			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
169fa40ca07SBartosz Golaszewski			#thermal-sensor-cells = <0>;
170fa40ca07SBartosz Golaszewski		};
171e5a893a7SBartosz Golaszewski
172e5a893a7SBartosz Golaszewski		pmm8654au_1_gpios: gpio@8800 {
173e5a893a7SBartosz Golaszewski			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
174e5a893a7SBartosz Golaszewski			reg = <0x8800>;
175e5a893a7SBartosz Golaszewski			gpio-controller;
176*f822899cSKrzysztof Kozlowski			gpio-ranges = <&pmm8654au_1_gpios 0 0 12>;
177e5a893a7SBartosz Golaszewski			#gpio-cells = <2>;
178e5a893a7SBartosz Golaszewski			interrupt-controller;
179e5a893a7SBartosz Golaszewski			#interrupt-cells = <2>;
180e5a893a7SBartosz Golaszewski		};
181634a3de3SBartosz Golaszewski	};
182634a3de3SBartosz Golaszewski
183634a3de3SBartosz Golaszewski	pmm8654au_2: pmic@4 {
184634a3de3SBartosz Golaszewski		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
185634a3de3SBartosz Golaszewski		reg = <0x4 SPMI_USID>;
186634a3de3SBartosz Golaszewski		#address-cells = <1>;
187634a3de3SBartosz Golaszewski		#size-cells = <0>;
188fa40ca07SBartosz Golaszewski
189fa40ca07SBartosz Golaszewski		pmm8654au_2_temp_alarm: temp-alarm@a00 {
190fa40ca07SBartosz Golaszewski			compatible = "qcom,spmi-temp-alarm";
191fa40ca07SBartosz Golaszewski			reg = <0xa00>;
192fa40ca07SBartosz Golaszewski			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
193fa40ca07SBartosz Golaszewski			#thermal-sensor-cells = <0>;
194fa40ca07SBartosz Golaszewski		};
195e5a893a7SBartosz Golaszewski
196e5a893a7SBartosz Golaszewski		pmm8654au_2_gpios: gpio@8800 {
197e5a893a7SBartosz Golaszewski			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
198e5a893a7SBartosz Golaszewski			reg = <0x8800>;
199e5a893a7SBartosz Golaszewski			gpio-controller;
200e5a893a7SBartosz Golaszewski			gpio-ranges = <&pmm8654au_2_gpios 0 0 12>;
201e5a893a7SBartosz Golaszewski			#gpio-cells = <2>;
202e5a893a7SBartosz Golaszewski			interrupt-controller;
203e5a893a7SBartosz Golaszewski			#interrupt-cells = <2>;
204e5a893a7SBartosz Golaszewski		};
205634a3de3SBartosz Golaszewski	};
206634a3de3SBartosz Golaszewski
207634a3de3SBartosz Golaszewski	pmm8654au_3: pmic@6 {
208634a3de3SBartosz Golaszewski		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
209634a3de3SBartosz Golaszewski		reg = <0x6 SPMI_USID>;
210634a3de3SBartosz Golaszewski		#address-cells = <1>;
211634a3de3SBartosz Golaszewski		#size-cells = <0>;
212fa40ca07SBartosz Golaszewski
213fa40ca07SBartosz Golaszewski		pmm8654au_3_temp_alarm: temp-alarm@a00 {
214fa40ca07SBartosz Golaszewski			compatible = "qcom,spmi-temp-alarm";
215fa40ca07SBartosz Golaszewski			reg = <0xa00>;
216fa40ca07SBartosz Golaszewski			interrupts-extended = <&spmi_bus 0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
217fa40ca07SBartosz Golaszewski			#thermal-sensor-cells = <0>;
218fa40ca07SBartosz Golaszewski		};
219e5a893a7SBartosz Golaszewski
220e5a893a7SBartosz Golaszewski		pmm8654au_3_gpios: gpio@8800 {
221e5a893a7SBartosz Golaszewski			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
222e5a893a7SBartosz Golaszewski			reg = <0x8800>;
223e5a893a7SBartosz Golaszewski			gpio-controller;
224e5a893a7SBartosz Golaszewski			gpio-ranges = <&pmm8654au_3_gpios 0 0 12>;
225e5a893a7SBartosz Golaszewski			#gpio-cells = <2>;
226e5a893a7SBartosz Golaszewski			interrupt-controller;
227e5a893a7SBartosz Golaszewski			#interrupt-cells = <2>;
228e5a893a7SBartosz Golaszewski		};
229634a3de3SBartosz Golaszewski	};
230634a3de3SBartosz Golaszewski};
231