// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2019, Linaro Limited
 */

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

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

		pon: power-on@800 {
			compatible = "qcom,pm8916-pon";
			reg = <0x0800>;
			pwrkey {
				compatible = "qcom,pm8941-pwrkey";
				interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
				debounce = <15625>;
				bias-pull-up;
				linux,code = <KEY_POWER>;

				status = "disabled";
			};
		};

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

			status = "disabled";

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

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

			status = "disabled";
		};

		pm8150_gpios: gpio@c000 {
			compatible = "qcom,pm8150-gpio";
			reg = <0xc000>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <0x0 0xc0 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc1 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc2 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc3 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc4 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc5 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc6 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc7 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc8 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xc9 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xca 0x0 IRQ_TYPE_NONE>,
				     <0x0 0xcb 0x0 IRQ_TYPE_NONE>;
		};
	};

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