18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#include <dt-bindings/iio/qcom,spmi-vadc.h>
38c2ecf20Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h>
48c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
58c2ecf20Sopenharmony_ci#include <dt-bindings/spmi/spmi.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci&spmi_bus {
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci	pm8916_0: pmic@0 {
108c2ecf20Sopenharmony_ci		compatible = "qcom,pm8916", "qcom,spmi-pmic";
118c2ecf20Sopenharmony_ci		reg = <0x0 SPMI_USID>;
128c2ecf20Sopenharmony_ci		#address-cells = <1>;
138c2ecf20Sopenharmony_ci		#size-cells = <0>;
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci		pon@800 {
168c2ecf20Sopenharmony_ci			compatible = "qcom,pm8916-pon";
178c2ecf20Sopenharmony_ci			reg = <0x800>;
188c2ecf20Sopenharmony_ci			mode-bootloader = <0x2>;
198c2ecf20Sopenharmony_ci			mode-recovery = <0x1>;
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci			pwrkey {
228c2ecf20Sopenharmony_ci				compatible = "qcom,pm8941-pwrkey";
238c2ecf20Sopenharmony_ci				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
248c2ecf20Sopenharmony_ci				debounce = <15625>;
258c2ecf20Sopenharmony_ci				bias-pull-up;
268c2ecf20Sopenharmony_ci				linux,code = <KEY_POWER>;
278c2ecf20Sopenharmony_ci			};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci			pm8916_resin: resin {
308c2ecf20Sopenharmony_ci				compatible = "qcom,pm8941-resin";
318c2ecf20Sopenharmony_ci				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
328c2ecf20Sopenharmony_ci				debounce = <15625>;
338c2ecf20Sopenharmony_ci				bias-pull-up;
348c2ecf20Sopenharmony_ci				status = "disabled";
358c2ecf20Sopenharmony_ci			};
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci			watchdog {
388c2ecf20Sopenharmony_ci				compatible = "qcom,pm8916-wdt";
398c2ecf20Sopenharmony_ci				interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
408c2ecf20Sopenharmony_ci				timeout-sec = <60>;
418c2ecf20Sopenharmony_ci			};
428c2ecf20Sopenharmony_ci		};
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci		pm8916_temp: temp-alarm@2400 {
458c2ecf20Sopenharmony_ci			compatible = "qcom,spmi-temp-alarm";
468c2ecf20Sopenharmony_ci			reg = <0x2400>;
478c2ecf20Sopenharmony_ci			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
488c2ecf20Sopenharmony_ci			io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
498c2ecf20Sopenharmony_ci			io-channel-names = "thermal";
508c2ecf20Sopenharmony_ci			#thermal-sensor-cells = <0>;
518c2ecf20Sopenharmony_ci		};
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci		pm8916_vadc: adc@3100 {
548c2ecf20Sopenharmony_ci			compatible = "qcom,spmi-vadc";
558c2ecf20Sopenharmony_ci			reg = <0x3100>;
568c2ecf20Sopenharmony_ci			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
578c2ecf20Sopenharmony_ci			#address-cells = <1>;
588c2ecf20Sopenharmony_ci			#size-cells = <0>;
598c2ecf20Sopenharmony_ci			#io-channel-cells = <1>;
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci			adc-chan@0 {
628c2ecf20Sopenharmony_ci				reg = <VADC_USBIN>;
638c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 10>;
648c2ecf20Sopenharmony_ci			};
658c2ecf20Sopenharmony_ci			adc-chan@7 {
668c2ecf20Sopenharmony_ci				reg = <VADC_VSYS>;
678c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 3>;
688c2ecf20Sopenharmony_ci			};
698c2ecf20Sopenharmony_ci			adc-chan@8 {
708c2ecf20Sopenharmony_ci				reg = <VADC_DIE_TEMP>;
718c2ecf20Sopenharmony_ci			};
728c2ecf20Sopenharmony_ci			adc-chan@9 {
738c2ecf20Sopenharmony_ci				reg = <VADC_REF_625MV>;
748c2ecf20Sopenharmony_ci			};
758c2ecf20Sopenharmony_ci			adc-chan@a {
768c2ecf20Sopenharmony_ci				reg = <VADC_REF_1250MV>;
778c2ecf20Sopenharmony_ci			};
788c2ecf20Sopenharmony_ci			adc-chan@e {
798c2ecf20Sopenharmony_ci				reg = <VADC_GND_REF>;
808c2ecf20Sopenharmony_ci			};
818c2ecf20Sopenharmony_ci			adc-chan@f {
828c2ecf20Sopenharmony_ci				reg = <VADC_VDD_VADC>;
838c2ecf20Sopenharmony_ci			};
848c2ecf20Sopenharmony_ci		};
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci		rtc@6000 {
878c2ecf20Sopenharmony_ci			compatible = "qcom,pm8941-rtc";
888c2ecf20Sopenharmony_ci			reg = <0x6000>;
898c2ecf20Sopenharmony_ci			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
908c2ecf20Sopenharmony_ci		};
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci		pm8916_mpps: mpps@a000 {
938c2ecf20Sopenharmony_ci			compatible = "qcom,pm8916-mpp";
948c2ecf20Sopenharmony_ci			reg = <0xa000>;
958c2ecf20Sopenharmony_ci			gpio-controller;
968c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
978c2ecf20Sopenharmony_ci			interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
988c2ecf20Sopenharmony_ci				     <0 0xa1 0 IRQ_TYPE_NONE>,
998c2ecf20Sopenharmony_ci				     <0 0xa2 0 IRQ_TYPE_NONE>,
1008c2ecf20Sopenharmony_ci				     <0 0xa3 0 IRQ_TYPE_NONE>;
1018c2ecf20Sopenharmony_ci		};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci		pm8916_gpios: gpios@c000 {
1048c2ecf20Sopenharmony_ci			compatible = "qcom,pm8916-gpio";
1058c2ecf20Sopenharmony_ci			reg = <0xc000>;
1068c2ecf20Sopenharmony_ci			gpio-controller;
1078c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
1088c2ecf20Sopenharmony_ci			interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
1098c2ecf20Sopenharmony_ci				     <0 0xc1 0 IRQ_TYPE_NONE>,
1108c2ecf20Sopenharmony_ci				     <0 0xc2 0 IRQ_TYPE_NONE>,
1118c2ecf20Sopenharmony_ci				     <0 0xc3 0 IRQ_TYPE_NONE>;
1128c2ecf20Sopenharmony_ci		};
1138c2ecf20Sopenharmony_ci	};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci	pm8916_1: pmic@1 {
1168c2ecf20Sopenharmony_ci		compatible = "qcom,pm8916", "qcom,spmi-pmic";
1178c2ecf20Sopenharmony_ci		reg = <0x1 SPMI_USID>;
1188c2ecf20Sopenharmony_ci		#address-cells = <1>;
1198c2ecf20Sopenharmony_ci		#size-cells = <0>;
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci		pm8916_vib: vibrator@c000 {
1228c2ecf20Sopenharmony_ci			compatible = "qcom,pm8916-vib";
1238c2ecf20Sopenharmony_ci			reg = <0xc000>;
1248c2ecf20Sopenharmony_ci			status = "disabled";
1258c2ecf20Sopenharmony_ci		};
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci		wcd_codec: audio-codec@f000 {
1288c2ecf20Sopenharmony_ci			compatible = "qcom,pm8916-wcd-analog-codec";
1298c2ecf20Sopenharmony_ci			reg = <0xf000>;
1308c2ecf20Sopenharmony_ci			reg-names = "pmic-codec-core";
1318c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
1328c2ecf20Sopenharmony_ci			clock-names = "mclk";
1338c2ecf20Sopenharmony_ci			interrupt-parent = <&spmi_bus>;
1348c2ecf20Sopenharmony_ci			interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
1358c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
1368c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
1378c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
1388c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
1398c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
1408c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
1418c2ecf20Sopenharmony_ci				     <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
1428c2ecf20Sopenharmony_ci				     <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
1438c2ecf20Sopenharmony_ci				     <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
1448c2ecf20Sopenharmony_ci				     <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
1458c2ecf20Sopenharmony_ci				     <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
1468c2ecf20Sopenharmony_ci				     <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
1478c2ecf20Sopenharmony_ci				     <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
1488c2ecf20Sopenharmony_ci			interrupt-names = "cdc_spk_cnp_int",
1498c2ecf20Sopenharmony_ci					  "cdc_spk_clip_int",
1508c2ecf20Sopenharmony_ci					  "cdc_spk_ocp_int",
1518c2ecf20Sopenharmony_ci					  "mbhc_ins_rem_det1",
1528c2ecf20Sopenharmony_ci					  "mbhc_but_rel_det",
1538c2ecf20Sopenharmony_ci					  "mbhc_but_press_det",
1548c2ecf20Sopenharmony_ci					  "mbhc_ins_rem_det",
1558c2ecf20Sopenharmony_ci					  "mbhc_switch_int",
1568c2ecf20Sopenharmony_ci					  "cdc_ear_ocp_int",
1578c2ecf20Sopenharmony_ci					  "cdc_hphr_ocp_int",
1588c2ecf20Sopenharmony_ci					  "cdc_hphl_ocp_det",
1598c2ecf20Sopenharmony_ci					  "cdc_ear_cnp_int",
1608c2ecf20Sopenharmony_ci					  "cdc_hphr_cnp_int",
1618c2ecf20Sopenharmony_ci					  "cdc_hphl_cnp_int";
1628c2ecf20Sopenharmony_ci			vdd-cdc-io-supply = <&pm8916_l5>;
1638c2ecf20Sopenharmony_ci			vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
1648c2ecf20Sopenharmony_ci			vdd-micbias-supply = <&pm8916_l13>;
1658c2ecf20Sopenharmony_ci			#sound-dai-cells = <1>;
1668c2ecf20Sopenharmony_ci		};
1678c2ecf20Sopenharmony_ci	};
1688c2ecf20Sopenharmony_ci};
169