I am using an SSM2603 controlled by a BF522. During normal operation the BF522 configures the SSM2603 over I2C and everything works OK. Occasionally (1 time in 1000 or so) the I2C interface stops working. The BF522 sends the address & write/read bit, but the SSM2603 does not configured and won't return any data for queries. (observed by oscilloscope)
Attempting to reset the part using the software reset register does not help. The only solution is to turn off power for about 10 seconds, then re-power the board.
It *appears* that the I2C port has gotten stuck in a non operational state that can only be recovered by reducing the power supply to below 0.5V. Again the board works correctly for 100's to 1000's of cycles in a row.
FYI the schematic for this part of the circuit was copied from the BF522 eval board; The SDA & SCL lines are pulled up to 3.3V by 3.3 kohm resistors & there are 33 ohm series resistors at the BF522. The I2C clock is operated at ~100 kHz.