Commit a9ca8e5c authored by Rakesh Kota's avatar Rakesh Kota Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: qcs6490-rb3gen2: Add vadc and adc-tm channels



Add support for vadc and adc-tm channels which are used for
monitoring thermistors present on the platform.

- Add the necessary includes for qcom,spmi-adc7-pm7325 and
  qcom,spmi-adc7-pmk8350.
- Add thermal zones for quiet-thermal, sdm-skin-thermal, and
  xo-thermal, and define their polling delays and thermal sensors.
- Configure the pm7325_temp_alarm node to use the pmk8350_vadc
  channel for thermal monitoring.
- Configure the pmk8350_adc_tm node to enable its thermal sensors
  and define their registers and settings.
- Configure the pmk8350_vadc node to define its channels and settings

Signed-off-by: default avatarRakesh Kota <quic_kotarake@quicinc.com>
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250212113342.873086-1-quic_kotarake@quicinc.com


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 60a2c9cc
Loading
Loading
Loading
Loading
+108 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@
#define PM7250B_SID 8
#define PM7250B_SID1 9

#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
@@ -212,6 +214,44 @@ pmic_glink_sbu_in: endpoint {
		};
	};

	thermal-zones {
		sdm-skin-thermal {
			thermal-sensors = <&pmk8350_adc_tm 3>;

			trips {
				active-config0 {
					temperature = <125000>;
					hysteresis = <1000>;
					type = "passive";
				};
			};
		};

		quiet-thermal {
			thermal-sensors = <&pmk8350_adc_tm 1>;

			trips {
				active-config0 {
					temperature = <125000>;
					hysteresis = <1000>;
					type = "passive";
				};
			};
		};

		xo-thermal {
			thermal-sensors = <&pmk8350_adc_tm 0>;

			trips {
				active-config0 {
					temperature = <125000>;
					hysteresis = <1000>;
					type = "passive";
				};
			};
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
@@ -745,6 +785,36 @@ kypd_vol_up_n: kypd-vol-up-n-state {
	};
};

&pm7325_temp_alarm {
	io-channels = <&pmk8350_vadc PM7325_ADC7_DIE_TEMP>;
	io-channel-names = "thermal";
};

&pmk8350_adc_tm {
	status = "okay";

	xo-therm@0 {
		reg = <0>;
		io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};

	quiet-therm@1 {
		reg = <1>;
		io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};

	sdm-skin-therm@3 {
		reg = <3>;
		io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};
};

&pm8350c_pwm {
	nvmem = <&pmk8350_sdam_21>,
		<&pmk8350_sdam_22>;
@@ -789,6 +859,44 @@ &pmk8350_rtc {
	status = "okay";
};

&pmk8350_vadc {
	channel@3 {
		reg = <PMK8350_ADC7_DIE_TEMP>;
		label = "pmk8350_die_temp";
		qcom,pre-scaling = <1 1>;
	};

	channel@44 {
		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
		label = "xo_therm";
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
		qcom,ratiometric;
	};

	channel@103 {
		reg = <PM7325_ADC7_DIE_TEMP>;
		label = "pm7325_die_temp";
		qcom,pre-scaling = <1 1>;
	};

	channel@144 {
		reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
		label = "pm7325_quiet_therm";
	};

	channel@146 {
		reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
		label = "pm7325_sdm_skin_therm";
	};
};

&pon_pwrkey {
	status = "okay";
};