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

#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>
#include <dt-bindings/thermal/thermal.h>

/ {
	thermal-zones {
		pm6150_thermal: pm6150-thermal {
			polling-delay-passive = <100>;
			polling-delay = <0>;
			thermal-sensors = <&pm6150_temp>;

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

				pm6150_crit: crit {
					temperature = <115000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
	};
};

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

		pm6150_pon: pon@800 {
			compatible = "qcom,pm8998-pon";
			reg = <0x800>;
			mode-bootloader = <0x2>;
			mode-recovery = <0x1>;

			pm6150_pwrkey: pwrkey {
				compatible = "qcom,pm8941-pwrkey";
				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
				debounce = <15625>;
				bias-pull-up;
				linux,code = <KEY_POWER>;
			};

			pm6150_resin: resin {
				compatible = "qcom,pm8941-resin";
				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
				debounce = <15625>;
				bias-pull-up;
				status = "disabled";
			};
		};

		pm6150_vbus: usb-vbus-regulator@1100 {
			compatible = "qcom,pm6150-vbus-reg,
				      qcom,pm8150b-vbus-reg";
			reg = <0x1100>;
			status = "disabled";
		};

		pm6150_typec: typec@1500 {
			compatible = "qcom,pm6150-typec,
				      qcom,pm8150b-typec";
			reg = <0x1500>, <0x1700>;
			interrupts = <0x0 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x15 0x07 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x00 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x01 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x02 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x03 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x04 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x05 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x06 IRQ_TYPE_EDGE_RISING>,
				     <0x0 0x17 0x07 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "or-rid-detect-change",
					  "vpd-detect",
					  "cc-state-change",
					  "vconn-oc",
					  "vbus-change",
					  "attach-detach",
					  "legacy-cable-detect",
					  "try-snk-src-detect",
					  "sig-tx",
					  "sig-rx",
					  "msg-tx",
					  "msg-rx",
					  "msg-tx-failed",
					  "msg-tx-discarded",
					  "msg-rx-discarded",
					  "fr-swap";
			status = "disabled";
		};

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

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

			channel@6 {
				reg = <ADC5_DIE_TEMP>;
				label = "die_temp";
			};
		};

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

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

		pm6150_gpios: gpio@c000 {
			compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			gpio-ranges = <&pm6150_gpios 0 0 10>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};

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