[U-Boot] [PATCH 1/5] Revert "I2C: OMAP: detect more devices when probing an i2c bus"

Heiko Schocher hs at denx.de
Tue May 22 14:11:43 CEST 2012


Hello Tom,

Tom Rini wrote:
> This reverts commit 0e57968a215d1b9d271f3fa5bebeddeaea0c8075.
> 
> 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 at ge.com>
> Cc: Heiko Schocher <hs at denx.de>
> Signed-off-by: Tom Rini <trini at ti.com>
> ---
>  drivers/i2c/omap24xx_i2c.c |   42 +++++++++++++++++++++++++++++++-----------
>  1 file changed, 31 insertions(+), 11 deletions(-)

Acked-by: Heiko Schocher <hs at denx.de>

Thanks!

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de


More information about the U-Boot mailing list