Hi,
We're in development of a product based on the DM8148 and for performance reasons have a software module running on the M3 core that accesses external devices on the I2C[0] interface. Several devices are attached to this interface, some of which are accessed by kernel drivers.
We're having a problem in that when the kernel-based drivers for the external devices are enabled we can no longer access the device used by the M3 core - we can see the external access being performed on the physical interface, but the M3 core does not receive the returned data. It turns out that *both* the M3 and A8 processes are receiving internal interrupts, causing the drivers to lock up and preventing the system from functioning as it should.
My question is the following: Is there a documented method for synchronizing access to the I2C modules between the internal cores of the DM8148? Is there a way to get the hardware to do this job, or does it need to be done via S/W semaphors/mutexes?
Any guidance would be appreciated - we haven't had much luck finding documentation about this functionality...
Cheers!
Steve Dutemple
H/W Designer / Matrox Graphics Inc.