uboot-mt623x/drivers
Stefano Babic 81687212ee I2C: mxc_i2c: address failure with mx35 processor
There is sporadic failures when more as one I2C slave
is on the bus and the processor tries to communicate
with more as one slave.
The problem was seen on a mx35pdk (two I2C slaves,
PMIC controller and CAN/RTC chip).

The current driver uses the IIF bit in the status register
to check if the bus is busy or not. According to the manual,
this is not correct, because the IIB bit should be checked.
Not only, to check if a transfer is finished must be checked
the ICF bit, and this is not tested at all.

This patch comes from analyse with a corresponding driver
provided by Freescale as part of the LTIB tool. Comparing
the two drivers, it appears that the current u-boot driver checks
the wrong bits, and depending on race condition, the transfer
can be successful or not.

The patch gets rid also of own debug function (DPRINTF),
replaced with the general debug().

Tested on Freescale mx35pdk.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Heiko Schocher <hs@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
2011-02-02 00:54:43 +01:00
..
bios_emulator Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
block BLOCK: Add freescale IMX51 PATA driver 2011-02-02 00:54:42 +01:00
dma Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
fpga add Xilinx_abort_fn to Xilinx_Spartan3_Slave_Serial_fns 2010-11-30 21:59:21 +01:00
gpio mxc_gpio: add support for MX53 processor 2011-02-02 00:54:42 +01:00
hwmon Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
i2c I2C: mxc_i2c: address failure with mx35 processor 2011-02-02 00:54:43 +01:00
input Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
misc fsl_pmic: add I2C interface support 2011-02-02 00:54:42 +01:00
mmc fsl_esdhc: Add the workaround for erratum ESDHC135 (enable on P4080) 2011-01-14 01:32:22 -06:00
mtd mxc_nand: add support for i.MX35 processor 2011-02-02 00:54:42 +01:00
net fec_mxc: add support for MX53 processor 2011-02-02 00:54:41 +01:00
pci fsl_pci: Update PCIe boot ouput 2011-01-14 01:32:21 -06:00
pcmcia Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
power ftpmu010: support faraday ftpmu010 driver 2011-01-25 22:18:57 +01:00
qe UEC: Fix compiler warnings introduced by linux/mii.h change 2011-01-25 21:15:10 +01:00
rtc rtc: add support for Micro Crystal RV-3029-C2 RTC 2011-01-18 23:35:14 +01:00
serial serial_mxc: add support for Freescale's i.MX35 processor 2011-02-02 00:54:42 +01:00
spi OMAP3: SPI driver 2010-12-11 11:01:00 -05:00
twserial Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
usb USB-CDC: Move MAC addresses setting into usb_eth_init 2011-01-19 17:29:55 +01:00
video video/mx3fb: fix clock divider 2010-12-17 21:24:02 +01:00
watchdog Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00