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

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

/ {
	thermal-zones {
		pm8150b-thermal {
			polling-delay-passive = <100>;
			polling-delay = <0>;

			thermal-sensors = <&pm8150b_temp>;

			trips {
				trip0 {
					temperature = <95000>;
					hysteresis = <0>;
					type = "passive";
				};

				trip1 {
					temperature = <115000>;
					hysteresis = <0>;
					type = "hot";
				};

				trip2 {
					temperature = <145000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
	};
};

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

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

			status = "disabled";
		};

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

		pm8150b_adc: adc@3100 {
			compatible = "qcom,spmi-adc5";
			reg = <0x3100>;
			#address-cells = <1>;
			#size-cells = <0>;
			#io-channel-cells = <1>;
			interrupts = <0x2 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";
			};
		};

		pm8150b_adc_tm: adc-tm@3500 {
			compatible = "qcom,spmi-adc-tm5";
			reg = <0x3500>;
			interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
			#thermal-sensor-cells = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

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

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