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.

OMAP I2C SYSTEST functionali

Other Parts Discussed in Thread: OMAP3503

Hi all,

   I've got a board where I need to manually massage an I2C bus's SDA and SCL bits. Reading the OMAP35x TRM section 18.4.9 it seems that I should be able to do this quite simply. Doing some googling I found some code for the OMAP1510/5910 :

  http://svn.openpma.org/svn/openpma/trunk/src/linux-pma/drivers/media/video/omap/sbus_sccb.c

Where someone has been using this interface - I assume successfully. So, I've copied the process on my OMAP3503 :

  • Enabled I2C2 FCLK & ICLK
  • Muxed I2C2_SDA and I2C2_SCL to Mode 0 / No Pullup / Input enabled
  • Set SYSTEST Bits : ST_EN and FREE
  • Set SYSTEST TMODE = 3
  • Looped
    • SET SCL_O and SDA_O low
    • Pause 1 sec - dump SYSTEST value
    • SET SCL_O and SDA_O high
    • Pause 1 sec - dump SYSTEST value

Looking at the output I get the two SYSTEST values as 0xF00A (for low) and 0xF00F (for high). Probing the two lines shows around 0.18v (with the external bus pullups removed). I know I'm looking at the right lines as if I change the code to re-mux as GPIO's and wiggle them that way instead I can see that fine.

I guess I'm missing something subtle to do with pincfg, clocking or other I2C setup regs required. Has anyone got any experience with this?

Best Wishes,

David Peverley