]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: adc: aspeed: clear reference voltage bits before configuring vref
authorBilly Tsai <billy_tsai@aspeedtech.com>
Tue, 3 Mar 2026 02:38:26 +0000 (10:38 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 7 Mar 2026 13:27:38 +0000 (13:27 +0000)
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@aspeedtech.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/aspeed_adc.c

index 4be44c524b4daa9d7842de0df57cda4f21c2861b..83a9885b9ae4da54f1e0a2001a730f3be0928132 100644 (file)
@@ -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)