• Stefan Popa's avatar
    iio: adc: ad7606: Add support for AD7606B ADC · d2a415c8
    Stefan Popa authored
    The AD7606B is a 16-bit ADC that supports simultaneous sampling of 8
    channels. It is pin compatible to AD7606, but adds extra modes by
    writing to the register map.
    
    The AD7606B can be configured to work in software mode by setting all
    oversampling pins to high. This mode is selected by default.
    The oversampling ratio is configured from the OS_MODE register (address
    0x08) with the addition of OS=128 and OS=256 that were not available in
    hardware mode.
    
    The device is configured to output data on a single spi channel, but this
    configuration must be done right after restart. That is why the delay was
    removed for devices which doesn't require it.
    
    Moreover, in software mode, the range gpio has no longer its function.
    Instead, the scale can be configured individually for each channel from
    the RANGE_CH registers (address 0x03 to 0x06). Besides the already
    supported ±10 V and ±5 V ranges, software mode can also accommodate the
    ±2.5 V range.
    Signed-off-by: default avatarStefan Popa <stefan.popa@analog.com>
    Co-developed-by: default avatarBeniamin Bia <beniamin.bia@analog.com>
    Signed-off-by: default avatarBeniamin Bia <beniamin.bia@analog.com>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    d2a415c8
ad7606_spi.c 9.26 KB