Other Parts Discussed in Thread: PCA9535
on customer's system, there are 3 device on I2C0: RTC, ADC, GPIO extension device PCA9535(address 0x20). PULL up 4.7Kohm on DSP side.
sometimes when I2C0 access PCA9535, hangs on SDA hold LOW, SCL hold HIGH as below picture.
From the waveform, it is not hanging on last clock(ACK) slot, so I don't think it is due to SCL impacted by noise.
Customer did experiment to identify it is due to DSP side or PCA9535 side hold the bus, disconnect the bus from all device and add jumper between them, when hang, disconnect the bus, measure on the DSP side, the SDA still hold in LOW.
RESET I2C can't resume by software reset ICMDR[IRS].
But configure I2C0 pins as GPIO via ICPFUNC and output HIGH, then configure to I2C and reset from software via ICMDR[IRS], can resume, but if resume in this way, following operation hangs more frequency then resume by reset the DSP.
RESET the DSP can resume.
Please help to analysis.