aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/iio
diff options
context:
space:
mode:
authorJishnu Prakash <quic_jprakash@quicinc.com>2022-04-03 18:47:47 +0530
committerDaniel Lezcano <daniel.lezcano@linaro.org>2022-05-19 12:11:51 +0200
commit238e34ad7d5ce36939ac1442c98c7cbb7771f4de (patch)
tree6fbf13e2098d6e5b4d053cbd4f01b8c2a0fc8749 /drivers/iio
parentdt-bindings: thermal: qcom: add PMIC5 Gen2 ADC_TM bindings (diff)
downloadwireguard-linux-238e34ad7d5ce36939ac1442c98c7cbb7771f4de.tar.xz
wireguard-linux-238e34ad7d5ce36939ac1442c98c7cbb7771f4de.zip
iio: adc: qcom-vadc-common: add reverse scaling for PMIC5 Gen2 ADC_TM
Add reverse scaling function for PMIC5 Gen2 ADC_TM, to convert temperature to raw ADC code, for setting thresholds for thermistor channels. Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/1648991869-20899-3-git-send-email-quic_jprakash@quicinc.com Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r--drivers/iio/adc/qcom-vadc-common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/iio/adc/qcom-vadc-common.c b/drivers/iio/adc/qcom-vadc-common.c
index 6c6aec848f98..d5209f32adb3 100644
--- a/drivers/iio/adc/qcom-vadc-common.c
+++ b/drivers/iio/adc/qcom-vadc-common.c
@@ -677,6 +677,17 @@ u16 qcom_adc_tm5_temp_volt_scale(unsigned int prescale_ratio,
}
EXPORT_SYMBOL(qcom_adc_tm5_temp_volt_scale);
+u16 qcom_adc_tm5_gen2_temp_res_scale(int temp)
+{
+ int64_t resistance;
+
+ resistance = qcom_vadc_map_temp_voltage(adcmap7_100k,
+ ARRAY_SIZE(adcmap7_100k), temp);
+
+ return div64_s64(resistance * RATIO_MAX_ADC7, resistance + R_PU_100K);
+}
+EXPORT_SYMBOL(qcom_adc_tm5_gen2_temp_res_scale);
+
int qcom_adc5_hw_scale(enum vadc_scale_fn_type scaletype,
unsigned int prescale_ratio,
const struct adc5_data *data,