Skip to content
  • Shaveta Leekha's avatar
    drivers/i2c/fsl_i2c: modify i2c_read to handle multi-byte write · a405764c
    Shaveta Leekha authored
    
    
    Most of the I2C slaves support accesses in the typical style
    that is : read/write series of bytes at particular address offset.
    These transactions look like:"
    (1) START:Address:Tx:Offset:RESTART:Address[0..4]:Tx/Rx:data[0..n]:STOP"
    
    However there are certain devices which support accesses in
    terms of the transactions as follows:
    (2) "START:Address:Tx:Txdata[0..n1]:Clock_stretching:
            RESTART:Address:Rx:data[0..n2]"
    Here Txdata is typically a command and some associated data,
    similarly Rxdata could be command status plus some data received
    as a response to the command sent.
    
    Type (1) transactions are currently supportd in the
    i2c driver using i2c_read and i2c_write APIs. I2C EEPROMs,
    RTC, etc fall in this category.
    
    To handle type (2) along with type (1) transactions,
    i2c_read() function has been modified.
    
    Signed-off-by: default avatarShaveta Leekha <shaveta@freescale.com>
    Signed-off-by: default avatarPoonam Aggrwal <poonam.aggrwal@freescale.com>
    a405764c