mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
thermal/qcom/tsens: Add support for MSM8952 tsens
Add support for tsens v1 block that exists on MSM8952 with 11 tsens sensors. Sensor Offsets are taken from downstream. Signed-off-by: Muzaffer Kadir <muzafferkadir@mainlining.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://android.googlesource.com/kernel/msm.git/+/refs/tags/android-wear-7.0.0_r0.3/drivers/thermal/msm-tsens.c#1621 Link: https://patch.msgid.link/20261011-msm8952-initial-support-v5-4-1857074992ec@mainlining.org
This commit is contained in:
parent
200265cfa8
commit
8951eb8a78
|
|
@ -145,6 +145,34 @@ static const struct reg_field tsens_v1_regfields[MAX_REGFIELDS] = {
|
|||
[TRDY] = REG_FIELD(TM_TRDY_OFF, 0, 0),
|
||||
};
|
||||
|
||||
static int __init init_8952(struct tsens_priv *priv)
|
||||
{
|
||||
priv->sensor[0].p1_calib_offset = 2;
|
||||
priv->sensor[0].p2_calib_offset = -1;
|
||||
priv->sensor[1].p1_calib_offset = -4;
|
||||
priv->sensor[1].p2_calib_offset = -4;
|
||||
priv->sensor[2].p1_calib_offset = 4;
|
||||
priv->sensor[2].p2_calib_offset = 5;
|
||||
priv->sensor[3].p1_calib_offset = 1;
|
||||
priv->sensor[3].p2_calib_offset = 1;
|
||||
priv->sensor[4].p1_calib_offset = 2;
|
||||
priv->sensor[4].p2_calib_offset = 3;
|
||||
priv->sensor[5].p1_calib_offset = -1;
|
||||
priv->sensor[5].p2_calib_offset = -1;
|
||||
priv->sensor[6].p1_calib_offset = 0;
|
||||
priv->sensor[6].p2_calib_offset = -1;
|
||||
priv->sensor[7].p1_calib_offset = 3;
|
||||
priv->sensor[7].p2_calib_offset = 4;
|
||||
priv->sensor[8].p1_calib_offset = 2;
|
||||
priv->sensor[8].p2_calib_offset = 4;
|
||||
priv->sensor[9].p1_calib_offset = 0;
|
||||
priv->sensor[9].p2_calib_offset = 0;
|
||||
priv->sensor[10].p1_calib_offset = -3;
|
||||
priv->sensor[10].p2_calib_offset = -2;
|
||||
|
||||
return init_common(priv);
|
||||
}
|
||||
|
||||
static int __init init_8956(struct tsens_priv *priv) {
|
||||
priv->sensor[0].slope = 3313;
|
||||
priv->sensor[1].slope = 3275;
|
||||
|
|
@ -223,6 +251,19 @@ struct tsens_plat_data data_8937 = {
|
|||
.fields = tsens_v1_regfields,
|
||||
};
|
||||
|
||||
static const struct tsens_ops ops_8952 = {
|
||||
.init = init_8952,
|
||||
.calibrate = tsens_calibrate_common,
|
||||
.get_temp = get_temp_tsens_valid,
|
||||
};
|
||||
|
||||
struct tsens_plat_data data_8952 = {
|
||||
.num_sensors = 11,
|
||||
.ops = &ops_8952,
|
||||
.feat = &tsens_v1_feat,
|
||||
.fields = tsens_v1_regfields,
|
||||
};
|
||||
|
||||
static const struct tsens_ops ops_8956 = {
|
||||
.init = init_8956,
|
||||
.calibrate = tsens_calibrate_common,
|
||||
|
|
|
|||
|
|
@ -1191,6 +1191,9 @@ static const struct of_device_id tsens_table[] = {
|
|||
}, {
|
||||
.compatible = "qcom,msm8939-tsens",
|
||||
.data = &data_8939,
|
||||
}, {
|
||||
.compatible = "qcom,msm8952-tsens",
|
||||
.data = &data_8952,
|
||||
}, {
|
||||
.compatible = "qcom,msm8956-tsens",
|
||||
.data = &data_8956,
|
||||
|
|
|
|||
|
|
@ -669,7 +669,7 @@ extern struct tsens_plat_data data_8960;
|
|||
extern struct tsens_plat_data data_8226, data_8909, data_8916, data_8939, data_8974, data_9607;
|
||||
|
||||
/* TSENS v1 targets */
|
||||
extern struct tsens_plat_data data_tsens_v1, data_8937, data_8976, data_8956;
|
||||
extern struct tsens_plat_data data_tsens_v1, data_8937, data_8952, data_8976, data_8956;
|
||||
|
||||
/* TSENS v1 with no RPM targets */
|
||||
extern const struct tsens_plat_data data_ipq5018;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user