We are using MCF5208 processor and I2C is configured as Master. It has 4 I2C slave peripheral devices connected to it. Out of the four devices, two are on board and two are external devices which are connected through the buffers.
When one of the external peripheral holds the I2C bus by pulling the SCL line low, the bus busy status bit is set to 1 as expected. However, even after reinitializing the I2C controller, it is unable to communicate with any other remaining peripheral devices. Once this happens, the IIF bit in the I2SR is never becoming 1 for any read or write transactions, and the only option is to reboot the board.
For initialization we followed the steps given in the MCF5208RM.pdf document and couldn't find anything regarding I2C in errata. Is there anyway to reset the I2C controller alone in the 5208 other than the initialization sequence? Thanks in advance.