// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2022, Linaro Limited
 */

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>

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

			thermal-sensors = <&pmr735d_k_temp_alarm>;

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

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

		pmr735d-l-thermal {
			polling-delay-passive = <100>;
			polling-delay = <0>;

			thermal-sensors = <&pmr735d_l_temp_alarm>;

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

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


&spmi_bus {
	pmr735d_k: pmic@a {
		compatible = "qcom,pmr735d", "qcom,spmi-pmic";
		reg = <0xa SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pmr735d_k_temp_alarm: temp-alarm@a00 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0xa00>;
			interrupts = <0xa 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
			#thermal-sensor-cells = <0>;
		};

		pmr735d_k_gpios: gpio@8800 {
			compatible = "qcom,pmr735d-gpio", "qcom,spmi-gpio";
			reg = <0x8800>;
			gpio-controller;
			gpio-ranges = <&pmr735d_k_gpios 0 0 2>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};

	pmr735d_l: pmic@b {
		compatible = "qcom,pmr735d", "qcom,spmi-pmic";
		reg = <0xb SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pmr735d_l_temp_alarm: temp-alarm@a00 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0xa00>;
			interrupts = <0xb 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
			#thermal-sensor-cells = <0>;
		};

		pmr735d_l_gpios: gpio@8800 {
			compatible = "qcom,pmr735d-gpio", "qcom,spmi-gpio";
			reg = <0x8800>;
			gpio-controller;
			gpio-ranges = <&pmr735d_l_gpios 0 0 2>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};
};
