Hello,
I am usingCode Composer Studio and trying to write an I2C driver. I have the PRCM FCLKEN and ICLKEN bits set (1). The GPIO pin multiplexor is set for I2C2 and 3. The problem is that I cannot write into any of the I2C registers. I have tried a pointer set to the physical address (0x48070000 for I2C1, 0x48072000 for I2C2 and 0x48060000 for I2C3), a structure of the registers pointing to the base address and typing into the register directly through Code Composer Register window. No method allows the register value to be changed. Are there some other undocumented bits that need to be set to activate the I2Cs?
Code Composer usually does not show any change in the registers. Occasionally, it showed the yellow highlight but the set value was always zero regardless of the value that I wrote to it. I set up the SPI driver the same way and that works, I can write into the McBSP registers but not the I2C. The chip is on a Beagle Board with a few parts removed in order to access the SPI and I2C lines. Spectrum Digital JTAG debugger. Thanks.
I noted that Figure 18-21 Multimaster HS I2C Controller Block Diagram, besides the I2Ci_FCLK and I2Ci_ICLK there is an I2Ci_RESET line. No where else in this document does this reset line show up. I suspect this is why I cannot change the I2C registers.