• Javier Carrasco's avatar
    iio: light: as73211: add support for as7331 · 02324a09
    Javier Carrasco authored
    The AMS AS7331 is a UV light sensor with three channels: UVA, UVB and
    UVC (also known as deep UV and referenced as DUV in the iio core).
    Its internal structure and forming blocks are practically identical to
    the ones the AS73211 contains: API, internal DAC, I2C interface and
    registers, measurement modes, number of channels and pinout.
    
    The only difference between them is the photodiodes used to acquire
    light, which means that only some modifications are required to add
    support for the AS7331 in the existing driver.
    
    The temperature channel is identical for both devices and only the
    channel modifiers of the IIO_INTENSITY channels need to account for the
    device type.
    
    The scale values have been obtained from the chapter "7.5 Transfer
    Function" of the official datasheet[1] for the configuration chosen as
    basis (Nclk = 1024 and GAIN = 1). Those values keep the units from the
    datasheet (nW/cm^2), as opposed to the units used for the AS73211
    (nW/m^2).
    
    Add a new device-specific data structure to account for the device
    differences: channel types and scale of LSB per channel.
    
    [1] https://ams.com/documents/20143/9106314/AS7331_DS001047_4-00.pdfTested-by: default avatarChristian Eggers <ceggers@arri.de>
    Signed-off-by: default avatarJavier Carrasco <javier.carrasco.cruz@gmail.com>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    02324a09
as73211.c 23.8 KB