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_temp: temp-alarm@2400 {
45 compatible = "qcom,spmi-temp-alarm";
47 interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
48 io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
49 io-channel-names = "thermal";
50 #thermal-sensor-cells = <0>;
53 pm8916_vadc: adc@3100 {
54 compatible = "qcom,spmi-vadc";
56 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
59 #io-channel-cells = <1>;
63 qcom,pre-scaling = <1 10>;
67 qcom,pre-scaling = <1 3>;
70 reg = <VADC_DIE_TEMP>;
73 reg = <VADC_REF_625MV>;
76 reg = <VADC_REF_1250MV>;
82 reg = <VADC_VDD_VADC>;
87 compatible = "qcom,pm8941-rtc";
89 reg-names = "rtc", "alarm";
90 interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
93 pm8916_mpps: mpps@a000 {
94 compatible = "qcom,pm8916-mpp";
98 interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
99 <0 0xa1 0 IRQ_TYPE_NONE>,
100 <0 0xa2 0 IRQ_TYPE_NONE>,
101 <0 0xa3 0 IRQ_TYPE_NONE>;
104 pm8916_gpios: gpios@c000 {
105 compatible = "qcom,pm8916-gpio";
109 interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
110 <0 0xc1 0 IRQ_TYPE_NONE>,
111 <0 0xc2 0 IRQ_TYPE_NONE>,
112 <0 0xc3 0 IRQ_TYPE_NONE>;
117 compatible = "qcom,pm8916", "qcom,spmi-pmic";
118 reg = <0x1 SPMI_USID>;
119 #address-cells = <1>;
122 pm8916_vib: vibrator@c000 {
123 compatible = "qcom,pm8916-vib";
128 wcd_codec: audio-codec@f000 {
129 compatible = "qcom,pm8916-wcd-analog-codec";
131 reg-names = "pmic-codec-core";
132 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
133 clock-names = "mclk";
134 interrupt-parent = <&spmi_bus>;
135 interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
136 <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
137 <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
138 <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
139 <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
140 <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
141 <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
142 <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
143 <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
144 <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
145 <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
146 <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
147 <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
148 <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
149 interrupt-names = "cdc_spk_cnp_int",
154 "mbhc_but_press_det",
163 vdd-cdc-io-supply = <&pm8916_l5>;
164 vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
165 vdd-micbias-supply = <&pm8916_l13>;
166 #sound-dai-cells = <1>;