// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause

#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>

&spmi_bus {
	pmic@0 {
		compatible = "qcom,pmp8074", "qcom,spmi-pmic";
		reg = <0x0 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

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

			channel@0 {
				reg = <ADC5_REF_GND>;
				qcom,pre-scaling = <1 1>;
				label = "ref_gnd";
			};

			channel@1 {
				reg = <ADC5_1P25VREF>;
				qcom,pre-scaling = <1 1>;
				label = "vref_1p25";
			};

			channel@2 {
				reg = <ADC5_VREF_VADC>;
				qcom,pre-scaling = <1 1>;
				label = "vref_vadc";
			};

			channel@6 {
				reg = <ADC5_DIE_TEMP>;
				qcom,pre-scaling = <1 1>;
				label = "pmic_die";
			};

			channel@76 {
				reg = <ADC5_XO_THERM_100K_PU>;
				qcom,ratiometric;
				qcom,hw-settle-time = <200>;
				qcom,pre-scaling = <1 1>;
				label = "xo_therm";
			};

			channel@77 {
				reg = <ADC5_AMUX_THM1_100K_PU>;
				qcom,ratiometric;
				qcom,hw-settle-time = <200>;
				qcom,pre-scaling = <1 1>;
				label = "pa_therm1";
			};

			channel@78 {
				reg = <ADC5_AMUX_THM2_100K_PU>;
				qcom,ratiometric;
				qcom,hw-settle-time = <200>;
				qcom,pre-scaling = <1 1>;
				label = "pa_therm2";
			};

			channel@79 {
				reg = <ADC5_AMUX_THM3_100K_PU>;
				qcom,ratiometric;
				qcom,hw-settle-time = <200>;
				qcom,pre-scaling = <1 1>;
				label = "pa_therm3";
			};

			channel@131 {
				reg = <ADC5_VPH_PWR>;
				qcom,pre-scaling = <1 3>;
				label = "vph_pwr";
			};
		};

		pmp8074_rtc: rtc@6000 {
			compatible = "qcom,pm8941-rtc";
			reg = <0x6000>, <0x6100>;
			reg-names = "rtc", "alarm";
			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
			allow-set-time;
			status = "disabled";
		};

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

	pmic@1 {
		compatible = "qcom,pmp8074", "qcom,spmi-pmic";
		reg = <0x1 SPMI_USID>;

		regulators {
			compatible = "qcom,pmp8074-regulators";

			s3: s3 {
				regulator-name = "vdd_s3";
				regulator-min-microvolt = <592000>;
				regulator-max-microvolt = <1064000>;
				regulator-always-on;
				regulator-boot-on;
			};

			s4: s4 {
				regulator-name = "vdd_s4";
				regulator-min-microvolt = <712000>;
				regulator-max-microvolt = <992000>;
				regulator-always-on;
				regulator-boot-on;
			};

			l11: l11 {
				regulator-name = "l11";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
			};
		};
	};
};
