Re: [PATCH v6 05/17] iio: adc: Add AD7768 and AD7768-4 core support
From: Janani Sunil
Date: Mon Sep 07 2026 - 07:31:14 EST
On 9/6/26 05:50, Jonathan Cameron wrote:
Add core support for the AD7768 and AD7768-4 simultaneous sampling ADCs....
Configure supplies, clock and reset, use a custom regmap bus for the SPI
protocol, and parse the enabled channels and input buffer settings from
devicetree.
Connect the converter to an IIO backend for buffered capture with CRC,
provide a fixed safe wideband sampling configuration and add runtime
power management.
Signed-off-by: Janani Sunil <janani.sunil@xxxxxxxxxx>
+Do we never care about the offset inherent in where the negative sits?
+static int ad7768_get_enable_vref(struct device *dev, unsigned int index)
+{
+ const char * const *supply = ad7768_vref_supply_names[index];
+ int refp_uV;
+ int refn_uV;
+
+ refp_uV = devm_regulator_get_enable_read_voltage(dev, supply[0]);
+ if (refp_uV < 0)
+ return dev_err_probe(dev, refp_uV,
+ "Failed to get %s supply voltage\n", supply[0]);
+
+ refn_uV = devm_regulator_get_enable_read_voltage(dev, supply[1]);
+ if (refn_uV == -ENODEV)
+ refn_uV = 0;
+ else if (refn_uV < 0)
+ return dev_err_probe(dev, refn_uV,
+ "Failed to get %s supply voltage\n", supply[1]);
+
+ if (refp_uV <= refn_uV)
+ return dev_err_probe(dev, -EINVAL,
+ "Invalid reference %u voltage\n", index + 1);
+
+ return refp_uV - refn_uV;
The absolute REFx- voltage does not introduce an offset into the ADC transfer function. The datasheet defines VREF as REFx+ - REFx- and the LSB size as (2 * VREF)/2^24. Zero code remains at AINx+ - AINx- = 0.
Regards,
Jan