armbian_build/patch/kernel/archive/sunxi-6.6/patches.megous/iio-adc-axp20x_adc-allow-to-set-TS-pin-to-GPADC-mode.patch
The-going 25b0741531 sunxi-6.6: megous patches: revert commit changes e103e2e1da
Undo changes that are made massively and create a lot of noise.
e103e2e1da
2025-01-19 20:22:11 +01:00

43 lines
1.4 KiB
Diff

From fab74d9256e2b237772e68e78d1c213cb0320ca9 Mon Sep 17 00:00:00 2001
From: Icenowy Zheng <icenowy@aosc.io>
Date: Tue, 10 Sep 2019 12:03:32 +0800
Subject: iio: adc: axp20x_adc: allow to set TS pin to GPADC mode
The TS pin of AXP PMICs can be set to GPADC mode. In this situation, it
doesn't affect battery charging.
Add the code to do the mode setting.
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
drivers/iio/adc/axp20x_adc.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
index 75bda94dbce1..83e228980ad5 100644
--- a/drivers/iio/adc/axp20x_adc.c
+++ b/drivers/iio/adc/axp20x_adc.c
@@ -40,6 +40,7 @@
#define AXP813_TS_GPIO0_ADC_RATE_HZ(x) AXP20X_ADC_RATE_HZ(x)
#define AXP813_V_I_ADC_RATE_HZ(x) ((ilog2((x) / 100) << 4) & AXP813_V_I_ADC_RATE_MASK)
#define AXP813_ADC_RATE_HZ(x) (AXP20X_ADC_RATE_HZ(x) | AXP813_V_I_ADC_RATE_HZ(x))
+#define AXP20X_TS_FUNCTION_GPADC BIT(2)
#define AXP20X_ADC_CHANNEL(_channel, _name, _type, _reg) \
{ \
@@ -716,6 +717,11 @@ static int axp20x_probe(struct platform_device *pdev)
info->data->adc_en2_mask,
info->data->adc_en2_mask);
+ if (of_property_read_bool(pdev->dev.of_node, "x-powers,ts-as-gpadc"))
+ regmap_update_bits(info->regmap, AXP20X_ADC_RATE,
+ AXP20X_TS_FUNCTION_GPADC,
+ AXP20X_TS_FUNCTION_GPADC);
+
/* Configure ADCs rate */
info->data->adc_rate(info, 100);
--
2.35.3