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.

Query on using proper I2c instance from M3video.

Hi,

 SW: IPNC RDK V 3.0

HW: IPNC DM8127

         I2c-2 is enabled in m3vpss. This I2c-2 is used to control the Sensor Switch.

Now My query is :

  •   Can we use I2c-2 from M3video instead of M3vpss. If yes How? If not why?
  •   Is there any possibility of using any other I2c instances like i2c-0/i2c-1/i2c-3 from m3video to control this Sensor switch? How to explore that?

Please Help.

 

  • Ravi,

    One quick question. Why do you need to control I2C2 from M3Video instead of M3VPSS? 

    The funda is very simple. If you share the I2C controller between cores, its tough to do a resource protection or mutex in between cores. This means that if one core is using the I2C controller, the other core will not know that transfer is going on. He'll also initiate a transfer which will result in collision. Also if I2C0/1/3 is not used by any of the cores A8/DSP/M3VPSS, then its possible to use it from M3Video. Also this depends on the interfaces/schematics as to which bus your device is connected to.

  • Hi Renjith,

                 Why do you need to control I2C2 from M3Video instead of M3VPSS?

    Because, I would like to move my drivers and all other processing from M3vps to M3Video and M3Vpss willbe running some other functionality.(Using I2c-2)

    So, You suggest not to use I2c-2 from both M3vido and M3vpss same time right?.

    If I am right, I can use any other I2c-0/1/3 instances available from M3video. 

  • Yes,

    I2C instance should be mutually exclusive for all core since drivers are not written to be used by multiple cores. But I dont think I2C will add any substantial load on system in any case. It will be close to negligible unless you are not operating I2C to control slave which requires frequent access. Further I2C0 is used by Linux, I2C3 is used by HDMI so you are left with only I2C1 for Video M3, but there may be some pin constraints so check it properly before finalizing the design.

  • Hi

         HardikShah & Renjith Thomas Thanks a lot :)