linux/drivers/i2c
Michael Hennerich 925594e035 i2c: i2c-bfin-twi: Illegal i2c bus lock upon certain transfer scenarios.
For transfer counts > 255 bytes i2c-bfin-twi sets the data
transfer counter DCNT to 0xFF indicating unlimited transfers.
It then uses a flag iface->manual_stop to manually issue the STOP
condition, once the required amount of bytes are received.

We found that on I2C receive operation issuing the STOP condition
together with a FULL RCV FIFO (2bytes) will cause SDA and SCL be
constantly driven low.

Temporary workaround until further investigation:
Discard the RCV FIFO before issuing the STOP condition.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2012-07-13 08:27:31 +02:00
..
algos i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING 2012-05-30 10:55:34 +02:00
busses i2c: i2c-bfin-twi: Illegal i2c bus lock upon certain transfer scenarios. 2012-07-13 08:27:31 +02:00
muxes i2c: Add generic I2C multiplexer using pinctrl API 2012-06-04 16:49:43 +02:00
Kconfig i2c: muxes are not EXPERIMENTAL anymore 2012-05-12 14:28:16 +02:00
Makefile i2c: Deprecate i2c_driver.attach_adapter and .detach_adapter 2011-03-20 14:50:53 +01:00
i2c-boardinfo.c i2c: Update the FSF address 2012-03-26 21:47:19 +02:00
i2c-core.c i2c: implement i2c_verify_adapter 2012-05-12 14:28:16 +02:00
i2c-core.h i2c: Update the FSF address 2012-03-26 21:47:19 +02:00
i2c-dev.c i2c-dev: Add support for I2C_M_RECV_LEN 2012-05-30 10:55:34 +02:00
i2c-mux.c i2c/of: Automatically populate i2c mux busses from device tree data. 2012-05-12 14:28:16 +02:00
i2c-smbus.c i2c: Update the FSF address 2012-03-26 21:47:19 +02:00