
Dear Tom Rini,
On Wed, 27 Nov 2013 09:45:55 -0500, Tom Rini wrote:
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.
I don't see this problem on my omap3_beagle, but I don't have that in heavy rotation either. Looking things over, can you try the following patch, which just drops the extra sanity check for unconfigured pads. The kernel doesn't have any logic like this and I suspect that while it's reliable enough of a check on some platforms, it's only true for the OMAP4+ variant of the block.
Seems a little bit better with this patch. But now, amongst approximately 12 boots, I had two boots that failed with:
OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 Ghz IGEPv2 + LPDDR/NAND I2C: ready DRAM: 512 MiB NAND: 512 MiB MMC: OMAP SD/MMC: 0 *** Warning - bad CRC, using default environment
Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus 0 are properly configured i2c_write: error waiting for addr ACK (status=0x0) Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus 0 are properly configured i2c_write: error waiting for addr ACK (status=0x0) Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus 0 are properly configured i2c_write: error waiting for addr ACK (status=0x0) Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus 0 are properly configured i2c_write: error waiting for addr ACK (status=0x0) Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus 0 are properly configured i2c_write: error waiting for addr ACK (status=0x0) Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus 0 are properly configured i2c_read: error waiting for addr ACK (status=0x0) TWL4030:USB:Read[0xfd] Error 1 [... more of the same stuff indefinitely ...]
Thanks!
Thomas