xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sc8280xp-pmics.dtsi (revision 56b17de1e8360fe131d425de20b5e75ff3ea897c)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/interrupt-controller/irq.h>
8#include <dt-bindings/spmi/spmi.h>
9
10/ {
11	thermal-zones {
12		pm8280_1_thermal: pm8280-1-thermal {
13			polling-delay-passive = <100>;
14			polling-delay = <0>;
15			thermal-sensors = <&pm8280_1_temp_alarm>;
16
17			trips {
18				trip0 {
19					temperature = <95000>;
20					hysteresis = <0>;
21					type = "passive";
22				};
23
24				trip1 {
25					temperature = <115000>;
26					hysteresis = <0>;
27					type = "critical";
28				};
29			};
30		};
31
32		pm8280_2_thermal: pm8280-2-thermal {
33			polling-delay-passive = <100>;
34			polling-delay = <0>;
35			thermal-sensors = <&pm8280_2_temp_alarm>;
36
37			trips {
38				trip0 {
39					temperature = <95000>;
40					hysteresis = <0>;
41					type = "passive";
42				};
43
44				trip1 {
45					temperature = <115000>;
46					hysteresis = <0>;
47					type = "critical";
48				};
49			};
50		};
51	};
52};
53
54&spmi_bus {
55	pmk8280: pmic@0 {
56		compatible = "qcom,pmk8350", "qcom,spmi-pmic";
57		reg = <0x0 SPMI_USID>;
58		#address-cells = <1>;
59		#size-cells = <0>;
60
61		pmk8280_pon: pon@1300 {
62			compatible = "qcom,pmk8350-pon";
63			reg = <0x1300>, <0x800>;
64			reg-names = "hlos", "pbs";
65
66			pmk8280_pon_pwrkey: pwrkey {
67				compatible = "qcom,pmk8350-pwrkey";
68				interrupts-extended = <&spmi_bus 0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
69				linux,code = <KEY_POWER>;
70				status = "disabled";
71			};
72
73			pmk8280_pon_resin: resin {
74				compatible = "qcom,pmk8350-resin";
75				interrupts-extended = <&spmi_bus 0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
76				status = "disabled";
77			};
78		};
79
80		pmk8280_vadc: adc@3100 {
81			compatible = "qcom,spmi-adc7";
82			reg = <0x3100>;
83			interrupts-extended = <&spmi_bus 0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
84			#address-cells = <1>;
85			#size-cells = <0>;
86			#io-channel-cells = <1>;
87			status = "disabled";
88		};
89
90		pmk8280_adc_tm: adc-tm@3400 {
91			compatible = "qcom,spmi-adc-tm5-gen2";
92			reg = <0x3400>;
93			interrupts-extended = <&spmi_bus 0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
94			#address-cells = <1>;
95			#size-cells = <0>;
96			#thermal-sensor-cells = <1>;
97			status = "disabled";
98		};
99
100		pmk8280_rtc: rtc@6100 {
101			compatible = "qcom,pmk8350-rtc";
102			reg = <0x6100>, <0x6200>;
103			reg-names = "rtc", "alarm";
104			interrupts-extended = <&spmi_bus 0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
105			wakeup-source;
106			status = "disabled";
107		};
108
109		pmk8280_sdam_6: nvram@8500 {
110			compatible = "qcom,spmi-sdam";
111			reg = <0x8500>;
112			#address-cells = <1>;
113			#size-cells = <1>;
114			ranges = <0 0x8500 0x100>;
115			status = "disabled";
116		};
117	};
118
119	pmc8280_1: pmic@1 {
120		compatible = "qcom,pm8350", "qcom,spmi-pmic";
121		reg = <0x1 SPMI_USID>;
122		#address-cells = <1>;
123		#size-cells = <0>;
124
125		pm8280_1_temp_alarm: temp-alarm@a00 {
126			compatible = "qcom,spmi-temp-alarm";
127			reg = <0xa00>;
128			interrupts-extended = <&spmi_bus 0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
129			#thermal-sensor-cells = <0>;
130		};
131
132		pmc8280_1_gpios: gpio@8800 {
133			compatible = "qcom,pm8350-gpio", "qcom,spmi-gpio";
134			reg = <0x8800>;
135			gpio-controller;
136			gpio-ranges = <&pmc8280_1_gpios 0 0 10>;
137			#gpio-cells = <2>;
138			interrupt-controller;
139			#interrupt-cells = <2>;
140		};
141	};
142
143	pmc8280c: pmic@2 {
144		compatible = "qcom,pm8350c", "qcom,spmi-pmic";
145		reg = <0x2 SPMI_USID>;
146		#address-cells = <1>;
147		#size-cells = <0>;
148
149		pmc8280c_gpios: gpio@8800 {
150			compatible = "qcom,pm8350c-gpio", "qcom,spmi-gpio";
151			reg = <0x8800>;
152			gpio-controller;
153			gpio-ranges = <&pmc8280c_gpios 0 0 9>;
154			#gpio-cells = <2>;
155			interrupt-controller;
156			#interrupt-cells = <2>;
157		};
158
159		pmc8280c_lpg: pwm {
160			compatible = "qcom,pm8350c-pwm";
161
162			#address-cells = <1>;
163			#size-cells = <0>;
164
165			#pwm-cells = <2>;
166
167			status = "disabled";
168		};
169	};
170
171	pmc8280_2: pmic@3 {
172		compatible = "qcom,pm8350", "qcom,spmi-pmic";
173		reg = <0x3 SPMI_USID>;
174		#address-cells = <1>;
175		#size-cells = <0>;
176
177		pm8280_2_temp_alarm: temp-alarm@a00 {
178			compatible = "qcom,spmi-temp-alarm";
179			reg = <0xa00>;
180			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
181			#thermal-sensor-cells = <0>;
182		};
183
184		pmc8280_2_gpios: gpio@8800 {
185			compatible = "qcom,pm8350-gpio", "qcom,spmi-gpio";
186			reg = <0x8800>;
187			gpio-controller;
188			gpio-ranges = <&pmc8280_2_gpios 0 0 10>;
189			#gpio-cells = <2>;
190			interrupt-controller;
191			#interrupt-cells = <2>;
192		};
193	};
194
195	pmr735a: pmic@4 {
196		compatible = "qcom,pmr735a", "qcom,spmi-pmic";
197		reg = <0x4 SPMI_USID>;
198		#address-cells = <1>;
199		#size-cells = <0>;
200
201		pmr735a_gpios: gpio@8800 {
202			compatible = "qcom,pmr735a-gpio", "qcom,spmi-gpio";
203			reg = <0x8800>;
204			gpio-controller;
205			gpio-ranges = <&pmr735a_gpios 0 0 4>;
206			#gpio-cells = <2>;
207			interrupt-controller;
208			#interrupt-cells = <2>;
209		};
210	};
211};
212