This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[OMAP35x] I2Ci Reset never gets done

Other Parts Discussed in Thread: OMAP3503

I am trying to develop my own I2C driver for OMAP3503 platform.

I am using BeagleBoard rev. C with Lauterbach debugger. 

Problem is that, once I enable the I2Ci (i=1,2,3) iclk and fclk, I find the corresponding SYSS_RDONE bit reset (within I2C_SYSS reg). This tells I2C peripheral reset is ongoing.

Following TRM recommandations for I2Ci reset (ch18, 3.1.3.1) I do the following in my I2C_Init(...) routine:

1. Ensure that the module is disabled (clear the I2Ci.I2C_CON[15] I2C_EN bit to 0).
2. Set the I2Ci.I2C_SYSC[1] SRST bit to 1.
3. Enable the module by setting I2Ci.I2C_CON[15] I2C_EN bit to 1.
4. Check the I2Ci.I2C_SYSS[0] RDONE bit until it is set to 1 to indicate the software reset is complete.

Nothing to do...RDONE is still reset and my code is stuck at step 4...

I am doing 16 bit access to I2C regs.

Any suggestion/comment?

Thank you very much.

S