Skip to content
Snippets Groups Projects
  • Nick Thompson's avatar
    0e57968a
    I2C: OMAP: detect more devices when probing an i2c bus · 0e57968a
    Nick Thompson authored
    
    The omap24xx driver only seems to support devices that have a single subaddress
    byte. With these types of devices, the first access in a bus transaction is
    usually a write (writes the subaddress) followed by either a read or write to
    access the devices registers.
    
    Many such devices will respond to a read as the first access, but there are at
    least some that will NACK such a read. (e.g. ADV7180.)
    
    The probe function attempts to detect a devices ACK to a read access only and
    fails to find devices that NACK a read.
    
    This commit modifies the probe function to start a write instead. This detects
    devices that respond to reads (since they must also respond to writes) as well
    as those that only respond to writes. The bus is immediately set to idle after a
    (N)ACK avoiding actually writing anything to the device.
    
    Signed-off-by: default avatarNick Thompson <nick.thompson@ge.com>
    0e57968a
    History
    I2C: OMAP: detect more devices when probing an i2c bus
    Nick Thompson authored
    
    The omap24xx driver only seems to support devices that have a single subaddress
    byte. With these types of devices, the first access in a bus transaction is
    usually a write (writes the subaddress) followed by either a read or write to
    access the devices registers.
    
    Many such devices will respond to a read as the first access, but there are at
    least some that will NACK such a read. (e.g. ADV7180.)
    
    The probe function attempts to detect a devices ACK to a read access only and
    fails to find devices that NACK a read.
    
    This commit modifies the probe function to start a write instead. This detects
    devices that respond to reads (since they must also respond to writes) as well
    as those that only respond to writes. The bus is immediately set to idle after a
    (N)ACK avoiding actually writing anything to the device.
    
    Signed-off-by: default avatarNick Thompson <nick.thompson@ge.com>