[PATCH v3] iio: adc: aspeed: clear reference voltage bits before configuring vref

From: Billy Tsai

Date: Mon Mar 02 2026 - 21:38:48 EST


Ensures the reference voltage bits are cleared in the ADC engine
control register before configuring the voltage reference. This
avoids potential misconfigurations caused by residual bits.

Fixes: 1b5ceb55fec2 ("iio: adc: aspeed: Support ast2600 adc.")
Signed-off-by: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>
---
Changes in v3:
- Added the missing Fixes: tag

Changes in v2:
- Remove Gerrit Change-Id's
---
drivers/iio/adc/aspeed_adc.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/iio/adc/aspeed_adc.c b/drivers/iio/adc/aspeed_adc.c
index 4be44c524b4d..83a9885b9ae4 100644
--- a/drivers/iio/adc/aspeed_adc.c
+++ b/drivers/iio/adc/aspeed_adc.c
@@ -415,6 +415,7 @@ static int aspeed_adc_vref_config(struct iio_dev *indio_dev)
}
adc_engine_control_reg_val =
readl(data->base + ASPEED_REG_ENGINE_CONTROL);
+ adc_engine_control_reg_val &= ~ASPEED_ADC_REF_VOLTAGE;

ret = devm_regulator_get_enable_read_voltage(data->dev, "vref");
if (ret < 0 && ret != -ENODEV)

---
base-commit: af4e9ef3d78420feb8fe58cd9a1ab80c501b3c08
change-id: 20260303-adc-47e5bfdf89c9

Best regards,
--
Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>