• Anshul Dalal's avatar
    iio: dac: driver for MCP4821 · cdf3ecb0
    Anshul Dalal authored
    Adds driver for the MCP48xx series of DACs.
    
    Device uses a simplex SPI channel. To set the value of an output channel,
    a 16-bit data of following format must be written:
    
    Bit field | Description
    15 [MSB]  | Channel selection bit
                0 -> Channel A
                1 -> Channel B
    13        | Output Gain Selection bit
                0 -> 2x Gain (Vref = 4.096V)
                1 -> 1x Gain (Vref = 2.048V)
    12        | Output Shutdown Control bit
                0 -> Shutdown the selected channel
                1 -> Active mode operation
    11-0 [LSB]| DAC Input Data bits
                Value's big endian representation is taken as input for the
                selected DAC channel. For devices with a resolution of less
                than 12-bits, only the x most significant bits are considered
                where x is the resolution of the device.
    Reference: Page#22 [MCP48x2 Datasheet]
    
    Supported devices:
      +---------+--------------+-------------+
      | Device  |  Resolution  |   Channels  |
      |---------|--------------|-------------|
      | MCP4801 |     8-bit    |      1      |
      | MCP4802 |     8-bit    |      2      |
      | MCP4811 |    10-bit    |      1      |
      | MCP4812 |    10-bit    |      2      |
      | MCP4821 |    12-bit    |      1      |
      | MCP4822 |    12-bit    |      2      |
      +---------+--------------+-------------+
    
    Devices tested:
      MCP4821 [12-bit single channel]
      MCP4802 [8-bit dual channel]
    
    Tested on Raspberry Pi Zero 2W
    
    Datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/22244B.pdf #MCP48x1
    Datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/20002249B.pdf #MCP48x2
    Signed-off-by: default avatarAnshul Dalal <anshulusr@gmail.com>
    Link: https://lore.kernel.org/r/20231220151954.154595-2-anshulusr@gmail.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    cdf3ecb0
MAINTAINERS 716 KB