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

From: mike.looijmans

Date: Thu May 07 2026 - 01:25:51 EST


On 5/6/26 20:15, Md Shofiqul Islam wrote:
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.

This boils down to just leaving the register at its default value. In that case, I'd suggest removing this completely.


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;


--
Mike Looijmans
System Expert

TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands

T: +31 (0) 499 33 69 69
E: mike.looijmans@xxxxxxxx
W: www.topic.nl