qemu/include/hw/i2c
Corey Minyard 52cc6a492b i2c:pm_smbus: Fix pm_smbus handling of I2C block read
The I2C block read function of pm_smbus was completely broken.  It
required doing some direct I2C handling because it didn't have a
defined size, the OS code just reads bytes until it marks the
transaction finished.

This also required adjusting how the AMIBIOS workaround code worked,
the I2C block mode was setting STS_HOST_BUSY during a transaction,
so that bit could no longer be used to inform the host status read
code to start the transaction.  Create a explicit bool for that
operation.

Also, don't read the next byte from the device in byte-by-byte
mode unless the OS is actually clearing the byte done bit.  Just
assuming that's what the OS is doing is a bad idea.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
2019-02-27 21:06:08 -06:00
..
aspeed_i2c.h i2c: add aspeed i2c controller 2016-06-06 16:59:29 +01:00
i2c-ddc.h i2c: switch ddc to use the new edid generator 2018-10-15 09:57:33 +02:00
i2c.h i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
imx_i2c.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
microbit_i2c.h arm: Stub out NRF51 TWI magnetometer/accelerometer detection 2019-01-29 11:46:03 +00:00
pm_smbus.h i2c:pm_smbus: Fix pm_smbus handling of I2C block read 2019-02-27 21:06:08 -06:00
ppc4xx_i2c.h i2c: Move typedef of bitbang_i2c_interface to i2c.h 2018-12-12 10:01:13 +01:00
smbus_eeprom.h i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
smbus_master.h i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
smbus_slave.h i2c:smbus: Simplify read handling 2019-02-27 21:06:08 -06:00