add support for event based I2C read and write