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.

I2C register access in omap4430

Hi,

I have problem in accessing registers of I2C2 controller of OMAP4430 .

When running application after executing MLO file, first stage bootloader, I can access registers of I2C1 but can't access registers of I2C2.

Is there any special initialization needed to access it.

  • Make sure that MODULEMODE field in CM_L4PER_I2C2_CLKCTRL register (0x4A0094A8) is set to 0x2 to enable the module. Jon

  • Vivek,

    Since the x-loader is intended to be a minimal bootloader that only sets up the essential pin muxing, clocks, and DDR configuration, in order to be able to load and execute the second stage bootloader (u-boot), it doesn't contain a full I2C implementation.  The u-boot, however, does contain the full I2C implementation, so if it is really needed, you could pull this functionality into the x-loader.  However, I would recommend just accessing the I2C registers from the u-boot or the kernel, where the implementation already exists.

    Regards,
    Gina 

  • Hi Jon,

    Thank you. It was problem of disabled module only. MLO might enable only I2C1 but not others. Now I can access all reg.s.