Since I had an I2C address conflict on LogicPD EVM I was forced to switch to I2C1 interface on OMAP L138 (code runs on DSP). As I can see, this interface does not work. After starting bus activitiy by setting start bit in ICMDR, I observed the follwing:
- SDA turns to lo state.
- SCL produces exactly 1 cycle
- SDA turns back to hi state
- No more bus activity (slave address is not sent)
The driver I have programmed works on I2C0. To run it on I2C1 I did the following changes:
- Switched to base address of I2C1 register set
- Re-Calculated bus frequency to SYSCLK2 input clock
- Switched I2C1 on in PINMUX.
- All peripherals are turned on (GEL file)
I also have attached a TMS320C6748 SOM to the baseboard to run the same code on it and it worked perfectly! So this seems to be a silicon bug to me. To prove that I attached a 2nd OMAP SOM to the baseboard and observed the same problems.
Any ideas or is there a workaround?
Thanks in advance.
Roland