1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/iio/qcom,spmi-vadc.h>
3 #include <dt-bindings/input/linux-event-codes.h>
4 #include <dt-bindings/interrupt-controller/irq.h>
5 #include <dt-bindings/spmi/spmi.h>
10 compatible = "qcom,pm8916", "qcom,spmi-pmic";
11 reg = <0x0 SPMI_USID>;
16 compatible = "qcom,pm8916-pon";
18 mode-bootloader = <0x2>;
19 mode-recovery = <0x1>;
22 compatible = "qcom,pm8941-pwrkey";
23 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
26 linux,code = <KEY_POWER>;
30 compatible = "qcom,pm8941-resin";
31 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
38 compatible = "qcom,pm8916-wdt";
39 interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
44 pm8916_usbin: usb-detect@1300 {
45 compatible = "qcom,pm8941-misc";
47 interrupts = <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>;
48 interrupt-names = "usb_vbus";
52 pm8916_temp: temp-alarm@2400 {
53 compatible = "qcom,spmi-temp-alarm";
55 interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
56 io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
57 io-channel-names = "thermal";
58 #thermal-sensor-cells = <0>;
61 pm8916_vadc: adc@3100 {
62 compatible = "qcom,spmi-vadc";
64 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
67 #io-channel-cells = <1>;
71 qcom,pre-scaling = <1 10>;
75 qcom,pre-scaling = <1 3>;
78 reg = <VADC_DIE_TEMP>;
81 reg = <VADC_REF_625MV>;
84 reg = <VADC_REF_1250MV>;
90 reg = <VADC_VDD_VADC>;
95 compatible = "qcom,pm8941-rtc";
96 reg = <0x6000>, <0x6100>;
97 reg-names = "rtc", "alarm";
98 interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
101 pm8916_mpps: mpps@a000 {
102 compatible = "qcom,pm8916-mpp", "qcom,spmi-mpp";
106 gpio-ranges = <&pm8916_mpps 0 0 4>;
107 interrupt-controller;
108 #interrupt-cells = <2>;
111 pm8916_gpios: gpio@c000 {
112 compatible = "qcom,pm8916-gpio", "qcom,spmi-gpio";
115 gpio-ranges = <&pm8916_gpios 0 0 4>;
117 interrupt-controller;
118 #interrupt-cells = <2>;
123 compatible = "qcom,pm8916", "qcom,spmi-pmic";
124 reg = <0x1 SPMI_USID>;
125 #address-cells = <1>;
129 compatible = "qcom,pm8916-pwm";
136 pm8916_vib: vibrator@c000 {
137 compatible = "qcom,pm8916-vib";
142 pm8916_codec: audio-codec@f000 {
143 compatible = "qcom,pm8916-wcd-analog-codec";
145 interrupt-parent = <&spmi_bus>;
146 interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
147 <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
148 <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
149 <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
150 <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
151 <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
152 <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
153 <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
154 <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
155 <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
156 <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
157 <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
158 <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
159 <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
160 interrupt-names = "cdc_spk_cnp_int",
165 "mbhc_but_press_det",
174 #sound-dai-cells = <1>;