mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
thermal/drivers/qcom/tsens-v0_1: Add support for MSM8226
The MSM8226 TSENS IP has 6 thermal sensors in a TSENS v0.1 block. The thermal sensors use non-standard slope values. Signed-off-by: Matti Lehtimäki <matti.lehtimaki@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Luca Weiss <luca@z3ntu.xyz> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20230507201225.89694-4-matti.lehtimaki@gmail.com
This commit is contained in:
parent
065ab3abf9
commit
598e1afca4
@ -243,6 +243,18 @@ static int calibrate_8974(struct tsens_priv *priv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init init_8226(struct tsens_priv *priv)
|
||||
{
|
||||
priv->sensor[0].slope = 2901;
|
||||
priv->sensor[1].slope = 2846;
|
||||
priv->sensor[2].slope = 3038;
|
||||
priv->sensor[3].slope = 2955;
|
||||
priv->sensor[4].slope = 2901;
|
||||
priv->sensor[5].slope = 2846;
|
||||
|
||||
return init_common(priv);
|
||||
}
|
||||
|
||||
static int __init init_8939(struct tsens_priv *priv) {
|
||||
priv->sensor[0].slope = 2911;
|
||||
priv->sensor[1].slope = 2789;
|
||||
@ -258,7 +270,7 @@ static int __init init_8939(struct tsens_priv *priv) {
|
||||
return init_common(priv);
|
||||
}
|
||||
|
||||
/* v0.1: 8916, 8939, 8974, 9607 */
|
||||
/* v0.1: 8226, 8916, 8939, 8974, 9607 */
|
||||
|
||||
static struct tsens_features tsens_v0_1_feat = {
|
||||
.ver_major = VER_0_1,
|
||||
@ -313,6 +325,19 @@ static const struct tsens_ops ops_v0_1 = {
|
||||
.get_temp = get_temp_common,
|
||||
};
|
||||
|
||||
static const struct tsens_ops ops_8226 = {
|
||||
.init = init_8226,
|
||||
.calibrate = tsens_calibrate_common,
|
||||
.get_temp = get_temp_common,
|
||||
};
|
||||
|
||||
struct tsens_plat_data data_8226 = {
|
||||
.num_sensors = 6,
|
||||
.ops = &ops_8226,
|
||||
.feat = &tsens_v0_1_feat,
|
||||
.fields = tsens_v0_1_regfields,
|
||||
};
|
||||
|
||||
static const struct tsens_ops ops_8916 = {
|
||||
.init = init_common,
|
||||
.calibrate = calibrate_8916,
|
||||
|
@ -1095,6 +1095,9 @@ static const struct of_device_id tsens_table[] = {
|
||||
}, {
|
||||
.compatible = "qcom,mdm9607-tsens",
|
||||
.data = &data_9607,
|
||||
}, {
|
||||
.compatible = "qcom,msm8226-tsens",
|
||||
.data = &data_8226,
|
||||
}, {
|
||||
.compatible = "qcom,msm8916-tsens",
|
||||
.data = &data_8916,
|
||||
|
@ -635,7 +635,7 @@ int get_temp_common(const struct tsens_sensor *s, int *temp);
|
||||
extern struct tsens_plat_data data_8960;
|
||||
|
||||
/* TSENS v0.1 targets */
|
||||
extern struct tsens_plat_data data_8916, data_8939, data_8974, data_9607;
|
||||
extern struct tsens_plat_data data_8226, data_8916, data_8939, data_8974, data_9607;
|
||||
|
||||
/* TSENS v1 targets */
|
||||
extern struct tsens_plat_data data_tsens_v1, data_8976, data_8956;
|
||||
|
Loading…
Reference in New Issue
Block a user