u-boot/drivers/i2c
Tom Rini 168a5acb81 Revert "I2C: OMAP: detect more devices when probing an i2c bus"
This reverts commit 0e57968a21.

The short version of the original commit is that some i2c devices cannot
be probed via read as they NAK the first cycle, so try and probe via a
write that we abort before it writes to the device.  This however is not
allowed by the TRM for any of these parts.  The section on I2C_CON
(table 17-35 I2C_CON for am/dm37x for example) says you must not change
the register while STT has been set.  On these parts, the unpredictable
behavior that the chip exhibits is not problematic.  On OMAP4 however it
results in the chip being in a bad state:
Panda # i2c probe
Valid chip addresses: 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12
13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A
2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42
43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A
5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72
73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
Panda # i2c md 50 0
timed out in wait_for_pin: I2C_STAT=0
I2C read: I/O error
Error reading the chip.

We must revert the original behavior to bring probe back into line with
the TRM.

Cc: Nick Thompson <nick.thompson@ge.com>
Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Heiko Schocher <hs@denx.de>
2012-07-07 14:07:22 +02:00
..
bfin-twi_i2c.c Blackfin: TWI/I2C: implement multibus support 2010-05-05 10:04:38 +02:00
davinci_i2c.c drivers/i2c/davinci_i2c.c: Fix GCC 4.6 warning 2011-11-23 21:22:39 +01:00
designware_i2c.c i2c:designware Turn off the ctrl when setting the speed 2012-04-24 09:57:00 +02:00
designware_i2c.h i2c: Add support for designware i2c controller 2012-04-24 09:56:37 +02:00
fsl_i2c.c fsl_i2c: Fix compile warning 2011-11-09 06:28:20 +01:00
Makefile i2c: Add support for designware i2c controller 2012-04-24 09:56:37 +02:00
mv_i2c.c I2C: mv_i2c: fix multi-bus init issue 2011-10-03 11:50:09 +02:00
mv_i2c.h mv_i2c: use structure to replace the direclty define 2011-04-27 19:38:08 +02:00
mvtwsi.c Replace obsolete e-mail address 2011-04-27 19:38:09 +02:00
mxc_i2c.c I2C: Fix mxc_i2c.c problem on imx31_phycore 2011-11-03 22:56:19 +01:00
mxs_i2c.c iMX28: Add I2C bus driver 2011-11-11 11:36:57 +01:00
omap24xx_i2c.c Revert "I2C: OMAP: detect more devices when probing an i2c bus" 2012-07-07 14:07:22 +02:00
omap24xx_i2c.h Revert "ARM: I2C: I2C Multi byte address support" 2012-02-21 07:28:47 +01:00
omap1510_i2c.c Cleanup: fix "MHz" spelling 2008-10-21 11:25:39 +02:00
pca9564_i2c.c new PCA9564 i2c bridge driver 2009-10-30 15:10:58 +01:00
ppc4xx_i2c.c console: Squelch pre-console output in console functions 2011-10-01 21:54:49 +02:00
s3c24x0_i2c.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
s3c44b0_i2c.c s3c44b0: move i2c driver to drivers/i2c 2009-03-29 23:01:40 +02:00
sh_i2c.c i2c: sh: Add support I2C for Renesas SH 2011-11-23 21:22:26 +01:00
sh_sh7734_i2c.c sh: i2c: Add support I2C controller of SH7734 2012-04-24 09:40:04 +02:00
soft_i2c.c console: Squelch pre-console output in console functions 2011-10-01 21:54:49 +02:00
tegra_i2c.c tegra: i2c: Add function to find DVC bus 2012-05-15 08:31:39 +02:00
tsi108_i2c.c i2c: Update references to individual i2c commands 2009-06-12 20:39:46 +02:00
u8500_i2c.c I2C: Add driver for ST-Ericsson U8500 i2c 2011-06-01 19:22:47 +02:00
u8500_i2c.h I2C: Add driver for ST-Ericsson U8500 i2c 2011-06-01 19:22:47 +02:00