forked from Openwrt-EcoNet/openwrt
Use upstreamed v6.16 patches for IPQ5018 tsens support. Signed-off-by: George Moussalem <george.moussalem@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18884 Signed-off-by: Robert Marko <robimarko@gmail.com>
65 lines
2.3 KiB
Diff
65 lines
2.3 KiB
Diff
From 04b31cc53fe0df0e87a37d18a3c0363d7dee218f Mon Sep 17 00:00:00 2001
|
|
From: Sricharan Ramabadhran <quic_srichara@quicinc.com>
|
|
Date: Fri, 28 Feb 2025 09:11:38 +0400
|
|
Subject: [PATCH] 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>
|
|
---
|
|
drivers/thermal/qcom/tsens-v1.c | 14 ++++++++++++++
|
|
drivers/thermal/qcom/tsens.c | 3 +++
|
|
drivers/thermal/qcom/tsens.h | 3 +++
|
|
3 files changed, 20 insertions(+)
|
|
|
|
--- a/drivers/thermal/qcom/tsens-v1.c
|
|
+++ b/drivers/thermal/qcom/tsens-v1.c
|
|
@@ -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,
|
|
+};
|
|
--- a/drivers/thermal/qcom/tsens.c
|
|
+++ b/drivers/thermal/qcom/tsens.c
|
|
@@ -1108,6 +1108,9 @@ static SIMPLE_DEV_PM_OPS(tsens_pm_ops, t
|
|
|
|
static const struct of_device_id tsens_table[] = {
|
|
{
|
|
+ .compatible = "qcom,ipq5018-tsens",
|
|
+ .data = &data_ipq5018,
|
|
+ }, {
|
|
.compatible = "qcom,ipq5332-tsens",
|
|
.data = &data_ipq5332,
|
|
}, {
|
|
--- a/drivers/thermal/qcom/tsens.h
|
|
+++ b/drivers/thermal/qcom/tsens.h
|
|
@@ -652,6 +652,9 @@ extern struct tsens_plat_data data_8226,
|
|
/* 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;
|