xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/pm8916.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
2729ee9c4SIvan T. Ivanov#include <dt-bindings/iio/qcom,spmi-vadc.h>
3ad5fe787SVinod Koul#include <dt-bindings/input/linux-event-codes.h>
409a587a0SStephan Gerhold#include <dt-bindings/interrupt-controller/irq.h>
5729ee9c4SIvan T. Ivanov#include <dt-bindings/spmi/spmi.h>
6729ee9c4SIvan T. Ivanov
7b7a28d8aSDmitry Baryshkov/ {
8b7a28d8aSDmitry Baryshkov	thermal-zones {
9*ac3eb41aSDmitry Baryshkov		pm8916-thermal {
10b7a28d8aSDmitry Baryshkov			polling-delay-passive = <100>;
11729ee9c4SIvan T. Ivanov
12b7a28d8aSDmitry Baryshkov			thermal-sensors = <&pm8916_temp>;
13b7a28d8aSDmitry Baryshkov
14b7a28d8aSDmitry Baryshkov			trips {
15b7a28d8aSDmitry Baryshkov				trip0 {
16b7a28d8aSDmitry Baryshkov					temperature = <105000>;
17b7a28d8aSDmitry Baryshkov					hysteresis = <0>;
18b7a28d8aSDmitry Baryshkov					type = "passive";
19b7a28d8aSDmitry Baryshkov				};
20b7a28d8aSDmitry Baryshkov
21b7a28d8aSDmitry Baryshkov				trip1 {
22b7a28d8aSDmitry Baryshkov					temperature = <125000>;
23b7a28d8aSDmitry Baryshkov					hysteresis = <0>;
24b7a28d8aSDmitry Baryshkov					type = "hot";
25b7a28d8aSDmitry Baryshkov				};
26b7a28d8aSDmitry Baryshkov
27b7a28d8aSDmitry Baryshkov				trip2 {
28b7a28d8aSDmitry Baryshkov					temperature = <145000>;
29b7a28d8aSDmitry Baryshkov					hysteresis = <0>;
30b7a28d8aSDmitry Baryshkov					type = "critical";
31b7a28d8aSDmitry Baryshkov				};
32b7a28d8aSDmitry Baryshkov			};
33b7a28d8aSDmitry Baryshkov		};
34b7a28d8aSDmitry Baryshkov	};
35b7a28d8aSDmitry Baryshkov};
36b7a28d8aSDmitry Baryshkov
37b7a28d8aSDmitry Baryshkov&spmi_bus {
386300095bSStephan Gerhold	pm8916_0: pmic@0 {
392bce84c1SStephen Boyd		compatible = "qcom,pm8916", "qcom,spmi-pmic";
40729ee9c4SIvan T. Ivanov		reg = <0x0 SPMI_USID>;
41729ee9c4SIvan T. Ivanov		#address-cells = <1>;
42729ee9c4SIvan T. Ivanov		#size-cells = <0>;
43729ee9c4SIvan T. Ivanov
44ad5fe787SVinod Koul		pon@800 {
45ad5fe787SVinod Koul			compatible = "qcom,pm8916-pon";
46729ee9c4SIvan T. Ivanov			reg = <0x800>;
47ad5fe787SVinod Koul			mode-bootloader = <0x2>;
48ad5fe787SVinod Koul			mode-recovery = <0x1>;
49ad5fe787SVinod Koul
50ad5fe787SVinod Koul			pwrkey {
51ad5fe787SVinod Koul				compatible = "qcom,pm8941-pwrkey";
52729ee9c4SIvan T. Ivanov				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
53729ee9c4SIvan T. Ivanov				debounce = <15625>;
54729ee9c4SIvan T. Ivanov				bias-pull-up;
55ad5fe787SVinod Koul				linux,code = <KEY_POWER>;
56ad5fe787SVinod Koul			};
570f60e6fbSLoic Poulain
584eb7b63dSStephan Gerhold			pm8916_resin: resin {
594eb7b63dSStephan Gerhold				compatible = "qcom,pm8941-resin";
604eb7b63dSStephan Gerhold				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
614eb7b63dSStephan Gerhold				debounce = <15625>;
624eb7b63dSStephan Gerhold				bias-pull-up;
634eb7b63dSStephan Gerhold				status = "disabled";
644eb7b63dSStephan Gerhold			};
654eb7b63dSStephan Gerhold
660f60e6fbSLoic Poulain			watchdog {
670f60e6fbSLoic Poulain				compatible = "qcom,pm8916-wdt";
680f60e6fbSLoic Poulain				interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
690f60e6fbSLoic Poulain				timeout-sec = <60>;
700f60e6fbSLoic Poulain			};
71729ee9c4SIvan T. Ivanov		};
72729ee9c4SIvan T. Ivanov
7326b87a3dSNikita Travkin		pm8916_charger: charger@1000 {
7426b87a3dSNikita Travkin			compatible = "qcom,pm8916-lbc";
7526b87a3dSNikita Travkin			reg = <0x1000>, <0x1200>, <0x1300>, <0x1600>;
7626b87a3dSNikita Travkin			reg-names = "chgr", "bat_if", "usb", "misc";
7726b87a3dSNikita Travkin
7826b87a3dSNikita Travkin			interrupts = <0x0 0x10 0 IRQ_TYPE_EDGE_BOTH>,
7926b87a3dSNikita Travkin				     <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
8026b87a3dSNikita Travkin				     <0x0 0x10 6 IRQ_TYPE_EDGE_BOTH>,
8126b87a3dSNikita Travkin				     <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
8226b87a3dSNikita Travkin				     <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
8326b87a3dSNikita Travkin				     <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
8426b87a3dSNikita Travkin				     <0x0 0x13 0 IRQ_TYPE_EDGE_BOTH>,
8526b87a3dSNikita Travkin				     <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
8626b87a3dSNikita Travkin				     <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
8726b87a3dSNikita Travkin				     <0x0 0x13 4 IRQ_TYPE_EDGE_BOTH>;
8826b87a3dSNikita Travkin			interrupt-names = "vbat_det",
8926b87a3dSNikita Travkin					  "fast_chg",
9026b87a3dSNikita Travkin					  "chg_fail",
9126b87a3dSNikita Travkin					  "chg_done",
9226b87a3dSNikita Travkin					  "bat_pres",
9326b87a3dSNikita Travkin					  "temp_ok",
9426b87a3dSNikita Travkin					  "coarse_det",
9526b87a3dSNikita Travkin					  "usb_vbus",
9626b87a3dSNikita Travkin					  "chg_gone",
9726b87a3dSNikita Travkin					  "overtemp";
9826b87a3dSNikita Travkin
9926b87a3dSNikita Travkin			status = "disabled";
10026b87a3dSNikita Travkin		};
10126b87a3dSNikita Travkin
1027891372dSKonrad Dybcio		pm8916_usbin: usb-detect@1300 {
103f5d7bca5SStephan Gerhold			compatible = "qcom,pm8941-misc";
104f5d7bca5SStephan Gerhold			reg = <0x1300>;
105f5d7bca5SStephan Gerhold			interrupts = <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>;
106f5d7bca5SStephan Gerhold			interrupt-names = "usb_vbus";
107f5d7bca5SStephan Gerhold			status = "disabled";
108f5d7bca5SStephan Gerhold		};
109f5d7bca5SStephan Gerhold
110729ee9c4SIvan T. Ivanov		pm8916_temp: temp-alarm@2400 {
111729ee9c4SIvan T. Ivanov			compatible = "qcom,spmi-temp-alarm";
112bd6429e8SStephen Boyd			reg = <0x2400>;
113729ee9c4SIvan T. Ivanov			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
114729ee9c4SIvan T. Ivanov			io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
115729ee9c4SIvan T. Ivanov			io-channel-names = "thermal";
116729ee9c4SIvan T. Ivanov			#thermal-sensor-cells = <0>;
117729ee9c4SIvan T. Ivanov		};
118729ee9c4SIvan T. Ivanov
1196300095bSStephan Gerhold		pm8916_vadc: adc@3100 {
120729ee9c4SIvan T. Ivanov			compatible = "qcom,spmi-vadc";
121bd6429e8SStephen Boyd			reg = <0x3100>;
122729ee9c4SIvan T. Ivanov			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
123729ee9c4SIvan T. Ivanov			#address-cells = <1>;
124729ee9c4SIvan T. Ivanov			#size-cells = <0>;
125729ee9c4SIvan T. Ivanov			#io-channel-cells = <1>;
126729ee9c4SIvan T. Ivanov
12741c18552SMarijn Suijten			channel@0 {
128729ee9c4SIvan T. Ivanov				reg = <VADC_USBIN>;
129729ee9c4SIvan T. Ivanov				qcom,pre-scaling = <1 10>;
130729ee9c4SIvan T. Ivanov			};
13141c18552SMarijn Suijten			channel@7 {
132729ee9c4SIvan T. Ivanov				reg = <VADC_VSYS>;
133729ee9c4SIvan T. Ivanov				qcom,pre-scaling = <1 3>;
134729ee9c4SIvan T. Ivanov			};
13541c18552SMarijn Suijten			channel@8 {
136729ee9c4SIvan T. Ivanov				reg = <VADC_DIE_TEMP>;
137729ee9c4SIvan T. Ivanov			};
13841c18552SMarijn Suijten			channel@9 {
139729ee9c4SIvan T. Ivanov				reg = <VADC_REF_625MV>;
140729ee9c4SIvan T. Ivanov			};
14141c18552SMarijn Suijten			channel@a {
142729ee9c4SIvan T. Ivanov				reg = <VADC_REF_1250MV>;
143729ee9c4SIvan T. Ivanov			};
14441c18552SMarijn Suijten			channel@e {
145729ee9c4SIvan T. Ivanov				reg = <VADC_GND_REF>;
146729ee9c4SIvan T. Ivanov			};
14741c18552SMarijn Suijten			channel@f {
148729ee9c4SIvan T. Ivanov				reg = <VADC_VDD_VADC>;
149729ee9c4SIvan T. Ivanov			};
150729ee9c4SIvan T. Ivanov		};
15109a587a0SStephan Gerhold
15226b87a3dSNikita Travkin		pm8916_bms: battery@4000 {
15326b87a3dSNikita Travkin			compatible = "qcom,pm8916-bms-vm";
15426b87a3dSNikita Travkin			reg = <0x4000>;
15526b87a3dSNikita Travkin			interrupts = <0x0 0x40 0 IRQ_TYPE_EDGE_RISING>,
15626b87a3dSNikita Travkin				     <0x0 0x40 1 IRQ_TYPE_EDGE_RISING>,
15726b87a3dSNikita Travkin				     <0x0 0x40 2 IRQ_TYPE_EDGE_RISING>,
15826b87a3dSNikita Travkin				     <0x0 0x40 3 IRQ_TYPE_EDGE_RISING>,
15926b87a3dSNikita Travkin				     <0x0 0x40 4 IRQ_TYPE_EDGE_RISING>,
16026b87a3dSNikita Travkin				     <0x0 0x40 5 IRQ_TYPE_EDGE_RISING>;
16126b87a3dSNikita Travkin			interrupt-names = "cv_leave",
16226b87a3dSNikita Travkin					  "cv_enter",
16326b87a3dSNikita Travkin					  "ocv_good",
16426b87a3dSNikita Travkin					  "ocv_thr",
16526b87a3dSNikita Travkin					  "fifo",
16626b87a3dSNikita Travkin					  "state_chg";
16726b87a3dSNikita Travkin
16826b87a3dSNikita Travkin			status = "disabled";
16926b87a3dSNikita Travkin		};
17026b87a3dSNikita Travkin
17109a587a0SStephan Gerhold		rtc@6000 {
17209a587a0SStephan Gerhold			compatible = "qcom,pm8941-rtc";
173ceb01bb8SEric Chanudet			reg = <0x6000>, <0x6100>;
174ceb01bb8SEric Chanudet			reg-names = "rtc", "alarm";
17509a587a0SStephan Gerhold			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
17609a587a0SStephan Gerhold		};
17709a587a0SStephan Gerhold
17809a587a0SStephan Gerhold		pm8916_mpps: mpps@a000 {
179de0c7e12SDmitry Baryshkov			compatible = "qcom,pm8916-mpp", "qcom,spmi-mpp";
18009a587a0SStephan Gerhold			reg = <0xa000>;
18109a587a0SStephan Gerhold			gpio-controller;
18209a587a0SStephan Gerhold			#gpio-cells = <2>;
183de0c7e12SDmitry Baryshkov			gpio-ranges = <&pm8916_mpps 0 0 4>;
1843386f014SDmitry Baryshkov			interrupt-controller;
1853386f014SDmitry Baryshkov			#interrupt-cells = <2>;
18609a587a0SStephan Gerhold		};
18709a587a0SStephan Gerhold
188c95243eeSKrzysztof Kozlowski		pm8916_gpios: gpio@c000 {
189019102a9SKrzysztof Kozlowski			compatible = "qcom,pm8916-gpio", "qcom,spmi-gpio";
19009a587a0SStephan Gerhold			reg = <0xc000>;
19109a587a0SStephan Gerhold			gpio-controller;
192b07bfd8eSKrzysztof Kozlowski			gpio-ranges = <&pm8916_gpios 0 0 4>;
19309a587a0SStephan Gerhold			#gpio-cells = <2>;
194a984d5d1SKrzysztof Kozlowski			interrupt-controller;
195a984d5d1SKrzysztof Kozlowski			#interrupt-cells = <2>;
19609a587a0SStephan Gerhold		};
197729ee9c4SIvan T. Ivanov	};
198729ee9c4SIvan T. Ivanov
1996300095bSStephan Gerhold	pm8916_1: pmic@1 {
2005582fcb3SSrinivas Kandagatla		compatible = "qcom,pm8916", "qcom,spmi-pmic";
201729ee9c4SIvan T. Ivanov		reg = <0x1 SPMI_USID>;
202729ee9c4SIvan T. Ivanov		#address-cells = <1>;
203729ee9c4SIvan T. Ivanov		#size-cells = <0>;
2045582fcb3SSrinivas Kandagatla
205e79a1385SBjorn Andersson		pm8916_pwm: pwm {
206e79a1385SBjorn Andersson			compatible = "qcom,pm8916-pwm";
207e79a1385SBjorn Andersson
208e79a1385SBjorn Andersson			#pwm-cells = <2>;
209e79a1385SBjorn Andersson
210e79a1385SBjorn Andersson			status = "disabled";
211e79a1385SBjorn Andersson		};
212e79a1385SBjorn Andersson
213741a5ea7SStephan Gerhold		pm8916_vib: vibrator@c000 {
214741a5ea7SStephan Gerhold			compatible = "qcom,pm8916-vib";
215741a5ea7SStephan Gerhold			reg = <0xc000>;
216741a5ea7SStephan Gerhold			status = "disabled";
217741a5ea7SStephan Gerhold		};
218741a5ea7SStephan Gerhold
219274cf2bdSStephan Gerhold		pm8916_codec: audio-codec@f000 {
2205582fcb3SSrinivas Kandagatla			compatible = "qcom,pm8916-wcd-analog-codec";
221c2f0cbb5SStephan Gerhold			reg = <0xf000>;
2225582fcb3SSrinivas Kandagatla			interrupt-parent = <&spmi_bus>;
2235582fcb3SSrinivas Kandagatla			interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
2245582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
2255582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
2265582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
2275582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
2285582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
2295582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
2305582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
2315582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
2325582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
2335582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
2345582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
2355582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
2365582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
2375582fcb3SSrinivas Kandagatla			interrupt-names = "cdc_spk_cnp_int",
2385582fcb3SSrinivas Kandagatla					  "cdc_spk_clip_int",
2395582fcb3SSrinivas Kandagatla					  "cdc_spk_ocp_int",
2405582fcb3SSrinivas Kandagatla					  "mbhc_ins_rem_det1",
2415582fcb3SSrinivas Kandagatla					  "mbhc_but_rel_det",
2425582fcb3SSrinivas Kandagatla					  "mbhc_but_press_det",
2435582fcb3SSrinivas Kandagatla					  "mbhc_ins_rem_det",
2445582fcb3SSrinivas Kandagatla					  "mbhc_switch_int",
2455582fcb3SSrinivas Kandagatla					  "cdc_ear_ocp_int",
2465582fcb3SSrinivas Kandagatla					  "cdc_hphr_ocp_int",
2475582fcb3SSrinivas Kandagatla					  "cdc_hphl_ocp_det",
2485582fcb3SSrinivas Kandagatla					  "cdc_ear_cnp_int",
2495582fcb3SSrinivas Kandagatla					  "cdc_hphr_cnp_int",
2505582fcb3SSrinivas Kandagatla					  "cdc_hphl_cnp_int";
2515582fcb3SSrinivas Kandagatla			#sound-dai-cells = <1>;
252a5cf21b1SStephan Gerhold			status = "disabled";
2535582fcb3SSrinivas Kandagatla		};
254729ee9c4SIvan T. Ivanov	};
255729ee9c4SIvan T. Ivanov};
256