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.

Linux: How to control I2C instance

Tool/software: Linux

Hello,

On our custom board we used I2C1 port to control PMIC, but we also want to use I2C1 instance by M4.

Is it possible to disable I2C instance after boot proccess or the only way is to disable it manually in device tree?

Regards,

Nevena Stojanovic

  • Hi Nevena,

    It is possible to to change the pinmux configuration runtime but it is not recommended by TI, due to the configuration of IO sets and delay on many of the pins. There is a possibility of glitches occurring on pins if this is done during runtime operation.
    If you decide to do this you can done via directly register writing.
    You can take a look at similar issue at:
    e2e.ti.com/.../426479

    BR
    Tsvetolin Shulev
  • Hi Nevena,

    No, you cannot take away an i2c instance from Linux which was present at the time of boot.
    Note that there are Linux kernel drivers which keep changing the PMIC voltage even after the boot is done. (e.g. DVFS)

    It is a bad board design if you have put i2c slaves to be used by different CPU cores on the same i2c bus.
    The right way is to partition the slaves across multiple i2c controllers such that thery can be used from different masters

    Regards,
    Nikhil D