thermal/drivers/qcom/tsens: Add support for IPQ5018 tsens

IPQ5018 has tsens IP V1.0, 5 sensors of which 4 are in use and 1
interrupt. The IP does not have a RPM, hence use init routine for
tsens v1.0 without RPM which does not early enable.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://lore.kernel.org/r/DS7PR19MB8883BD0E36C08DD1D03CE1CB9DCC2@DS7PR19MB8883.namprd19.prod.outlook.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
Sricharan Ramabadhran 2025-02-28 09:11:38 +04:00 committed by Daniel Lezcano
parent 19f9b02ebc
commit 04b31cc53f
3 changed files with 20 additions and 0 deletions

View file

@ -242,3 +242,17 @@ struct tsens_plat_data data_8976 = {
.feat = &tsens_v1_feat,
.fields = tsens_v1_regfields,
};
const struct tsens_ops ops_ipq5018 = {
.init = init_tsens_v1_no_rpm,
.calibrate = tsens_calibrate_common,
.get_temp = get_temp_tsens_valid,
};
const struct tsens_plat_data data_ipq5018 = {
.num_sensors = 5,
.ops = &ops_ipq5018,
.hw_ids = (unsigned int []){0, 1, 2, 3, 4},
.feat = &tsens_v1_no_rpm_feat,
.fields = tsens_v1_regfields,
};

View file

@ -1108,6 +1108,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, tsens_suspend, tsens_resume);
static const struct of_device_id tsens_table[] = {
{
.compatible = "qcom,ipq5018-tsens",
.data = &data_ipq5018,
}, {
.compatible = "qcom,ipq5332-tsens",
.data = &data_ipq5332,
}, {

View file

@ -652,6 +652,9 @@ extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8
/* TSENS v1 targets */
extern struct tsens_plat_data data_tsens_v1, data_8937, data_8976, data_8956;
/* TSENS v1 with no RPM targets */
extern const struct tsens_plat_data data_ipq5018;
/* TSENS v2 targets */
extern struct tsens_plat_data data_8996, data_ipq8074, data_tsens_v2;
extern const struct tsens_plat_data data_ipq5332, data_ipq5424;