Concerning the I2C errata for the above part and listed in this thead...
It is mentioned that the part can lose the ability to communicate via I2C when the motor is spinning.
I believe the cause of this could be related to the FG pin. I first discovered that if the FG pin is left open the device will not communicate via I2C even though it boots properly. Once pulled high the I2C bus on the chip starts working.
I then configured the part to spin my motor and wrote some code to read back the motor/control loop parameters. When writing the read-back code I initially debugged it with the part freshly rebooted, having never spun a motor, and as such the read-back worked fine. However, when I then attempted to read-back, after MPET had already run, the I2C bus had stopped responding. I measured the FG pin and it was pulled down.
So I went into the configuration parameters and swapped the FG pin to only run in closed-loop (as MPET is open loop I figured the FG pin should be left alone when running MPET). Low and behold the I2C bus started working again and I could read back the register values after MPET had run.
I'm not sure what kind of workaround could be made for this but it could be useful information and indicates that something might be possible.
Hopefully the new version of the MCF8316A silicon is going to address this.
Regards,
Matt.