// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>

&spmi_bus {

	pm8916_0: pmic@0 {
		compatible = "qcom,pm8916", "qcom,spmi-pmic";
		reg = <0x0 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pon@800 {
			compatible = "qcom,pm8916-pon";
			reg = <0x800>;
			mode-bootloader = <0x2>;
			mode-recovery = <0x1>;

			pwrkey {
				compatible = "qcom,pm8941-pwrkey";
				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
				debounce = <15625>;
				bias-pull-up;
				linux,code = <KEY_POWER>;
			};

			pm8916_resin: resin {
				compatible = "qcom,pm8941-resin";
				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
				debounce = <15625>;
				bias-pull-up;
				status = "disabled";
			};

			watchdog {
				compatible = "qcom,pm8916-wdt";
				interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>;
				timeout-sec = <60>;
			};
		};

		pm8916_usbin: usb-detect@1300 {
			compatible = "qcom,pm8941-misc";
			reg = <0x1300>;
			interrupts = <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "usb_vbus";
			status = "disabled";
		};

		pm8916_temp: temp-alarm@2400 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0x2400>;
			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
			io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
			io-channel-names = "thermal";
			#thermal-sensor-cells = <0>;
		};

		pm8916_vadc: adc@3100 {
			compatible = "qcom,spmi-vadc";
			reg = <0x3100>;
			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
			#address-cells = <1>;
			#size-cells = <0>;
			#io-channel-cells = <1>;

			channel@0 {
				reg = <VADC_USBIN>;
				qcom,pre-scaling = <1 10>;
			};
			channel@7 {
				reg = <VADC_VSYS>;
				qcom,pre-scaling = <1 3>;
			};
			channel@8 {
				reg = <VADC_DIE_TEMP>;
			};
			channel@9 {
				reg = <VADC_REF_625MV>;
			};
			channel@a {
				reg = <VADC_REF_1250MV>;
			};
			channel@e {
				reg = <VADC_GND_REF>;
			};
			channel@f {
				reg = <VADC_VDD_VADC>;
			};
		};

		rtc@6000 {
			compatible = "qcom,pm8941-rtc";
			reg = <0x6000>, <0x6100>;
			reg-names = "rtc", "alarm";
			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
		};

		pm8916_mpps: mpps@a000 {
			compatible = "qcom,pm8916-mpp", "qcom,spmi-mpp";
			reg = <0xa000>;
			gpio-controller;
			#gpio-cells = <2>;
			gpio-ranges = <&pm8916_mpps 0 0 4>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		pm8916_gpios: gpio@c000 {
			compatible = "qcom,pm8916-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			gpio-ranges = <&pm8916_gpios 0 0 4>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};

	pm8916_1: pmic@1 {
		compatible = "qcom,pm8916", "qcom,spmi-pmic";
		reg = <0x1 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pm8916_pwm: pwm {
			compatible = "qcom,pm8916-pwm";

			#pwm-cells = <2>;

			status = "disabled";
		};

		pm8916_vib: vibrator@c000 {
			compatible = "qcom,pm8916-vib";
			reg = <0xc000>;
			status = "disabled";
		};

		pm8916_codec: audio-codec@f000 {
			compatible = "qcom,pm8916-wcd-analog-codec";
			reg = <0xf000>;
			interrupt-parent = <&spmi_bus>;
			interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
				     <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
				     <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
				     <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
				     <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
				     <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
				     <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
				     <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
			interrupt-names = "cdc_spk_cnp_int",
					  "cdc_spk_clip_int",
					  "cdc_spk_ocp_int",
					  "mbhc_ins_rem_det1",
					  "mbhc_but_rel_det",
					  "mbhc_but_press_det",
					  "mbhc_ins_rem_det",
					  "mbhc_switch_int",
					  "cdc_ear_ocp_int",
					  "cdc_hphr_ocp_int",
					  "cdc_hphl_ocp_det",
					  "cdc_ear_cnp_int",
					  "cdc_hphr_cnp_int",
					  "cdc_hphl_cnp_int";
			#sound-dai-cells = <1>;
			status = "disabled";
		};
	};
};
