[PATCH 3/3] iio: adc: ti-ads1298: Don't enable internal test signal during init

From: Md Shofiqul Islam

Date: Wed May 06 2026 - 14:16:27 EST


The driver was enabling the internal test signal (INT_TEST), double
amplitude (TEST_AMP), and fast frequency (TEST_FREQ_FAST) bits in
CONFIG2 during initialization. These bits activate an internal square
wave generator intended for device testing and calibration, not normal
ECG operation.

While the test signal does not affect channel measurements unless the
channel MUX is explicitly set to route it (MUX = 101), enabling the
test signal generator unnecessarily increases power consumption and is
inappropriate for a medical ADC driver in normal operation.

Keep only the RESERVED bit which the datasheet requires to always be
written as 1.

Signed-off-by: Md Shofiqul Islam <shofiqtest@xxxxxxxxx>
---
drivers/iio/adc/ti-ads1298.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/adc/ti-ads1298.c b/drivers/iio/adc/ti-ads1298.c
index 186bda3087..360dfd2fc8 100644
--- a/drivers/iio/adc/ti-ads1298.c
+++ b/drivers/iio/adc/ti-ads1298.c
@@ -615,12 +615,9 @@ static int ads1298_init(struct iio_dev *indio_dev)
if (!indio_dev->name)
return -ENOMEM;

- /* Enable internal test signal, double amplitude, double frequency */
+ /* CONFIG2: reserved bit must always be written as 1 per datasheet */
ret = regmap_write(priv->regmap, ADS1298_REG_CONFIG2,
- ADS1298_MASK_CONFIG2_RESERVED |
- ADS1298_MASK_CONFIG2_INT_TEST |
- ADS1298_MASK_CONFIG2_TEST_AMP |
- ADS1298_MASK_CONFIG2_TEST_FREQ_FAST);
+ ADS1298_MASK_CONFIG2_RESERVED);
if (ret)
return ret;

--
2.54.0.windows.1