// 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>

/ {
	thermal-zones {
		pm8994 {
			polling-delay-passive = <250>;
			polling-delay = <1000>;

			thermal-sensors = <&pm8994_temp>;

			trips {
				pm8994_alert0: pm8994-alert0 {
					temperature = <95000>;
					hysteresis = <2000>;
					type = "passive";
				};
				pm8994_crit: pm8994-crit {
					temperature = <125000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};
	};
};

&spmi_bus {

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

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

		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>;
			};

		};

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

		pm8994_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>;

			adc-chan@7 {
				reg = <VADC_VSYS>;
				qcom,pre-scaling = <1 3>;
				label = "vph_pwr";
			};
			adc-chan@8 {
				reg = <VADC_DIE_TEMP>;
				label = "die_temp";
			};
			adc-chan@9 {
				reg = <VADC_REF_625MV>;
				label = "ref_625mv";
			};
			adc-chan@a {
				reg = <VADC_REF_1250MV>;
				label = "ref_1250mv";
			};
			adc-chan@e {
				reg = <VADC_GND_REF>;
			};
			adc-chan@f {
				reg = <VADC_VDD_VADC>;
			};
		};

		pm8994_gpios: gpios@c000 {
			compatible = "qcom,pm8994-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			gpio-ranges = <&pm8994_gpios 0 0 22>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		pm8994_mpps: mpps@a000 {
			compatible = "qcom,pm8994-mpp";
			reg = <0xa000>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
				     <0 0xa1 0 IRQ_TYPE_NONE>,
				     <0 0xa2 0 IRQ_TYPE_NONE>,
				     <0 0xa3 0 IRQ_TYPE_NONE>,
				     <0 0xa4 0 IRQ_TYPE_NONE>,
				     <0 0xa5 0 IRQ_TYPE_NONE>,
				     <0 0xa6 0 IRQ_TYPE_NONE>,
				     <0 0xa7 0 IRQ_TYPE_NONE>;
		};
	};

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

		pm8994_spmi_regulators: regulators {
			compatible = "qcom,pm8994-regulators";
		};
	};
};
