Hi, I've witnessed some strange behaviour using i2c-mpc.[ch]. It started when I compiled some i2c client drivers into the kernel.
After booting once, the SDA line gets stuck low. It's probably held by one of the i2c slaves, because a power-cycle is required to release SDA. But even the procedure described in the manual under "Generation of SCL when SDA Low", (which apparently is also what mpc_i2c_reset() does) causes no change on SCL/SDA when executed with the BDI2000. The interesting thing is, that the problem went away when I added a printk() on top of mpc_i2c_reset (seems to be pretty normal for this function to get called during the bus scan, btw). So I figured that if it's about the delay introduced by printk(), the same effect could be gained by simply putting the delay first in the loop, and this apparently works pretty well (no lockup since). Now I'm looking for an explanation why ;) -- Stefan Nickl Kontron Modular Computers -------------- next part -------------- A non-text attachment was scrubbed... Name: i2c-mpc_resetflip.patch Type: text/x-patch Size: 376 bytes Desc: not available Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20040705/966bee04/attachment.bin
