xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/qcom/pm8916.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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
7729ee9c4SIvan T. Ivanov&spmi_bus {
8729ee9c4SIvan T. Ivanov
96300095bSStephan Gerhold	pm8916_0: pmic@0 {
102bce84c1SStephen Boyd		compatible = "qcom,pm8916", "qcom,spmi-pmic";
11729ee9c4SIvan T. Ivanov		reg = <0x0 SPMI_USID>;
12729ee9c4SIvan T. Ivanov		#address-cells = <1>;
13729ee9c4SIvan T. Ivanov		#size-cells = <0>;
14729ee9c4SIvan T. Ivanov
15ad5fe787SVinod Koul		pon@800 {
16ad5fe787SVinod Koul			compatible = "qcom,pm8916-pon";
17729ee9c4SIvan T. Ivanov			reg = <0x800>;
18ad5fe787SVinod Koul			mode-bootloader = <0x2>;
19ad5fe787SVinod Koul			mode-recovery = <0x1>;
20ad5fe787SVinod Koul
21ad5fe787SVinod Koul			pwrkey {
22ad5fe787SVinod Koul				compatible = "qcom,pm8941-pwrkey";
23729ee9c4SIvan T. Ivanov				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
24729ee9c4SIvan T. Ivanov				debounce = <15625>;
25729ee9c4SIvan T. Ivanov				bias-pull-up;
26ad5fe787SVinod Koul				linux,code = <KEY_POWER>;
27ad5fe787SVinod Koul			};
280f60e6fbSLoic Poulain
294eb7b63dSStephan Gerhold			pm8916_resin: resin {
304eb7b63dSStephan Gerhold				compatible = "qcom,pm8941-resin";
314eb7b63dSStephan Gerhold				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
324eb7b63dSStephan Gerhold				debounce = <15625>;
334eb7b63dSStephan Gerhold				bias-pull-up;
344eb7b63dSStephan Gerhold				status = "disabled";
354eb7b63dSStephan Gerhold			};
364eb7b63dSStephan Gerhold
370f60e6fbSLoic Poulain			watchdog {
380f60e6fbSLoic Poulain				compatible = "qcom,pm8916-wdt";
390f60e6fbSLoic Poulain				interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
400f60e6fbSLoic Poulain				timeout-sec = <60>;
410f60e6fbSLoic Poulain			};
42729ee9c4SIvan T. Ivanov		};
43729ee9c4SIvan T. Ivanov
447891372dSKonrad Dybcio		pm8916_usbin: usb-detect@1300 {
45f5d7bca5SStephan Gerhold			compatible = "qcom,pm8941-misc";
46f5d7bca5SStephan Gerhold			reg = <0x1300>;
47f5d7bca5SStephan Gerhold			interrupts = <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>;
48f5d7bca5SStephan Gerhold			interrupt-names = "usb_vbus";
49f5d7bca5SStephan Gerhold			status = "disabled";
50f5d7bca5SStephan Gerhold		};
51f5d7bca5SStephan Gerhold
52729ee9c4SIvan T. Ivanov		pm8916_temp: temp-alarm@2400 {
53729ee9c4SIvan T. Ivanov			compatible = "qcom,spmi-temp-alarm";
54bd6429e8SStephen Boyd			reg = <0x2400>;
55729ee9c4SIvan T. Ivanov			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
56729ee9c4SIvan T. Ivanov			io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
57729ee9c4SIvan T. Ivanov			io-channel-names = "thermal";
58729ee9c4SIvan T. Ivanov			#thermal-sensor-cells = <0>;
59729ee9c4SIvan T. Ivanov		};
60729ee9c4SIvan T. Ivanov
616300095bSStephan Gerhold		pm8916_vadc: adc@3100 {
62729ee9c4SIvan T. Ivanov			compatible = "qcom,spmi-vadc";
63bd6429e8SStephen Boyd			reg = <0x3100>;
64729ee9c4SIvan T. Ivanov			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
65729ee9c4SIvan T. Ivanov			#address-cells = <1>;
66729ee9c4SIvan T. Ivanov			#size-cells = <0>;
67729ee9c4SIvan T. Ivanov			#io-channel-cells = <1>;
68729ee9c4SIvan T. Ivanov
69*41c18552SMarijn Suijten			channel@0 {
70729ee9c4SIvan T. Ivanov				reg = <VADC_USBIN>;
71729ee9c4SIvan T. Ivanov				qcom,pre-scaling = <1 10>;
72729ee9c4SIvan T. Ivanov			};
73*41c18552SMarijn Suijten			channel@7 {
74729ee9c4SIvan T. Ivanov				reg = <VADC_VSYS>;
75729ee9c4SIvan T. Ivanov				qcom,pre-scaling = <1 3>;
76729ee9c4SIvan T. Ivanov			};
77*41c18552SMarijn Suijten			channel@8 {
78729ee9c4SIvan T. Ivanov				reg = <VADC_DIE_TEMP>;
79729ee9c4SIvan T. Ivanov			};
80*41c18552SMarijn Suijten			channel@9 {
81729ee9c4SIvan T. Ivanov				reg = <VADC_REF_625MV>;
82729ee9c4SIvan T. Ivanov			};
83*41c18552SMarijn Suijten			channel@a {
84729ee9c4SIvan T. Ivanov				reg = <VADC_REF_1250MV>;
85729ee9c4SIvan T. Ivanov			};
86*41c18552SMarijn Suijten			channel@e {
87729ee9c4SIvan T. Ivanov				reg = <VADC_GND_REF>;
88729ee9c4SIvan T. Ivanov			};
89*41c18552SMarijn Suijten			channel@f {
90729ee9c4SIvan T. Ivanov				reg = <VADC_VDD_VADC>;
91729ee9c4SIvan T. Ivanov			};
92729ee9c4SIvan T. Ivanov		};
9309a587a0SStephan Gerhold
9409a587a0SStephan Gerhold		rtc@6000 {
9509a587a0SStephan Gerhold			compatible = "qcom,pm8941-rtc";
96ceb01bb8SEric Chanudet			reg = <0x6000>, <0x6100>;
97ceb01bb8SEric Chanudet			reg-names = "rtc", "alarm";
9809a587a0SStephan Gerhold			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
9909a587a0SStephan Gerhold		};
10009a587a0SStephan Gerhold
10109a587a0SStephan Gerhold		pm8916_mpps: mpps@a000 {
102de0c7e12SDmitry Baryshkov			compatible = "qcom,pm8916-mpp", "qcom,spmi-mpp";
10309a587a0SStephan Gerhold			reg = <0xa000>;
10409a587a0SStephan Gerhold			gpio-controller;
10509a587a0SStephan Gerhold			#gpio-cells = <2>;
106de0c7e12SDmitry Baryshkov			gpio-ranges = <&pm8916_mpps 0 0 4>;
1073386f014SDmitry Baryshkov			interrupt-controller;
1083386f014SDmitry Baryshkov			#interrupt-cells = <2>;
10909a587a0SStephan Gerhold		};
11009a587a0SStephan Gerhold
111c95243eeSKrzysztof Kozlowski		pm8916_gpios: gpio@c000 {
112019102a9SKrzysztof Kozlowski			compatible = "qcom,pm8916-gpio", "qcom,spmi-gpio";
11309a587a0SStephan Gerhold			reg = <0xc000>;
11409a587a0SStephan Gerhold			gpio-controller;
115b07bfd8eSKrzysztof Kozlowski			gpio-ranges = <&pm8916_gpios 0 0 4>;
11609a587a0SStephan Gerhold			#gpio-cells = <2>;
117a984d5d1SKrzysztof Kozlowski			interrupt-controller;
118a984d5d1SKrzysztof Kozlowski			#interrupt-cells = <2>;
11909a587a0SStephan Gerhold		};
120729ee9c4SIvan T. Ivanov	};
121729ee9c4SIvan T. Ivanov
1226300095bSStephan Gerhold	pm8916_1: pmic@1 {
1235582fcb3SSrinivas Kandagatla		compatible = "qcom,pm8916", "qcom,spmi-pmic";
124729ee9c4SIvan T. Ivanov		reg = <0x1 SPMI_USID>;
125729ee9c4SIvan T. Ivanov		#address-cells = <1>;
126729ee9c4SIvan T. Ivanov		#size-cells = <0>;
1275582fcb3SSrinivas Kandagatla
128e79a1385SBjorn Andersson		pm8916_pwm: pwm {
129e79a1385SBjorn Andersson			compatible = "qcom,pm8916-pwm";
130e79a1385SBjorn Andersson
131e79a1385SBjorn Andersson			#pwm-cells = <2>;
132e79a1385SBjorn Andersson
133e79a1385SBjorn Andersson			status = "disabled";
134e79a1385SBjorn Andersson		};
135e79a1385SBjorn Andersson
136741a5ea7SStephan Gerhold		pm8916_vib: vibrator@c000 {
137741a5ea7SStephan Gerhold			compatible = "qcom,pm8916-vib";
138741a5ea7SStephan Gerhold			reg = <0xc000>;
139741a5ea7SStephan Gerhold			status = "disabled";
140741a5ea7SStephan Gerhold		};
141741a5ea7SStephan Gerhold
142274cf2bdSStephan Gerhold		pm8916_codec: audio-codec@f000 {
1435582fcb3SSrinivas Kandagatla			compatible = "qcom,pm8916-wcd-analog-codec";
144c2f0cbb5SStephan Gerhold			reg = <0xf000>;
1455582fcb3SSrinivas Kandagatla			reg-names = "pmic-codec-core";
1465582fcb3SSrinivas Kandagatla			clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
1475582fcb3SSrinivas Kandagatla			clock-names = "mclk";
1485582fcb3SSrinivas Kandagatla			interrupt-parent = <&spmi_bus>;
1495582fcb3SSrinivas Kandagatla			interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
1505582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
1515582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
1525582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
1535582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
1545582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
1555582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
1565582fcb3SSrinivas Kandagatla				     <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
1575582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
1585582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
1595582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
1605582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
1615582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
1625582fcb3SSrinivas Kandagatla				     <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
1635582fcb3SSrinivas Kandagatla			interrupt-names = "cdc_spk_cnp_int",
1645582fcb3SSrinivas Kandagatla					  "cdc_spk_clip_int",
1655582fcb3SSrinivas Kandagatla					  "cdc_spk_ocp_int",
1665582fcb3SSrinivas Kandagatla					  "mbhc_ins_rem_det1",
1675582fcb3SSrinivas Kandagatla					  "mbhc_but_rel_det",
1685582fcb3SSrinivas Kandagatla					  "mbhc_but_press_det",
1695582fcb3SSrinivas Kandagatla					  "mbhc_ins_rem_det",
1705582fcb3SSrinivas Kandagatla					  "mbhc_switch_int",
1715582fcb3SSrinivas Kandagatla					  "cdc_ear_ocp_int",
1725582fcb3SSrinivas Kandagatla					  "cdc_hphr_ocp_int",
1735582fcb3SSrinivas Kandagatla					  "cdc_hphl_ocp_det",
1745582fcb3SSrinivas Kandagatla					  "cdc_ear_cnp_int",
1755582fcb3SSrinivas Kandagatla					  "cdc_hphr_cnp_int",
1765582fcb3SSrinivas Kandagatla					  "cdc_hphl_cnp_int";
1775582fcb3SSrinivas Kandagatla			#sound-dai-cells = <1>;
178a5cf21b1SStephan Gerhold			status = "disabled";
1795582fcb3SSrinivas Kandagatla		};
180729ee9c4SIvan T. Ivanov	};
181729ee9c4SIvan T. Ivanov};
182