[U-Boot] OMAP3 i2c issues on IGEP, u-boot 2013.10

Enric Balletbo Serra
2013-11-27T13:56:15Z

Hi Thomas,

CC'ing Javier Mart?nez

2013/11/27 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> Hello,
>
> We've recently updated from u-boot 2013.04 to u-boot 2013.10 on our
> IGEP boards (OMAP3 based, U-Boot shows "OMAP36XX/37XX-GP ES1.2"), and
> we're seeing random I2C communication problems at startup.
>

Right, I've reproduced the issue. Any OMAP3-based board affected for
this issue ?

> Most of the time it's just:
>
> """
> Out: serial
> Err: serial
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> Could not write grp_sel to reg 96 (2)
> Die ID #500400029ff800000168300f0701b011
> """
>
> and the boot goes on fine.
>
> But sometimes it's something like the below (which goes on
> indefinitely, preventing the platform from booting):
>
> """
> NAND: 512 MiB
> MMC: OMAP SD/MMC: 0
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xfd] Error 2
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Write[0xfd] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xfe] Error 2
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Write[0xfe] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xfe] Error 2
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Write[0xfe] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xff] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xff] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xff] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xff] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> [... more of these indefinitely ...]
> """
>

Looks like there is problem with i2c pads, but seeing the code are configured.

> or it can be *some* error messages, but the boot goes on:
>
> """
> NAND: 512 MiB
> MMC: OMAP SD/MMC: 0
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Write[0x6] Error 2
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Write[0x6] Error 2
> i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Read[0xfe] Error 2
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> TWL4030:USB:Write[0xfe] Error 2
> In: serial
> Out: serial
> Err: serial
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> Could not write vsel to reg 7d (2)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> Could not write vsel to reg 91 (2)
> i2c_write: pads on bus 0 probably not configured (status=0x10)
> Could not write vsel to reg 99 (2)
> Die ID #500400029ff800000168300f0701b011
> Net: smc911x-0
> Hit any key to stop autoboot: 0
> U-Boot #
> """
>
> I see that 960187ffa125b3938fec4b827bd9e8c04a204af8 ("ARM: OMAP: I2C:
> New read, write and probe functions") has changed significantly the
> OMAP I2C driver. And it turns out that reverting this commit actually
> fixes the problem. No more error messages, no more hang at boot. The
> commit message says that it was tested on OMAP4, OMAP5 and AM335x, but
> apparently OMAP3 isn't working all that well with this commit.
>
> Best regards,

I'll try to investigate more.

Best regards,
Enric

>
> Thomas Petazzoni
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot