// SPDX-License-Identifier: BSD-3-Clause

/*
 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2020, Linaro Limited
 */

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

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

		power-on@800 {
			compatible = "qcom,pm8916-pon";
			reg = <0x0800>;

			status = "disabled";
		};

		pmx55_temp: temp-alarm@2400 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0x2400>;
			interrupts = <0x8 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
			io-channels = <&pmx55_adc ADC5_DIE_TEMP>;
			io-channel-names = "thermal";
			#thermal-sensor-cells = <0>;
		};

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

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

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

			die-temp@6 {
				reg = <ADC5_DIE_TEMP>;
				qcom,pre-scaling = <1 1>;
				label = "die_temp";
			};

			chg-temp@9 {
				reg = <ADC5_CHG_TEMP>;
				qcom,pre-scaling = <1 1>;
				label = "chg_temp";
			};
		};

		pmx55_gpios: gpio@c000 {
			compatible = "qcom,pmx55-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};

	pmic@9 {
		compatible = "qcom,pmx55", "qcom,spmi-pmic";
		reg = <0x9 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;
	};
};
