I am verifing I2C functionally of the imx 6 solo processor. The I2C1 has only one device connected. I use the following code to verify the function:
at the first regValue=HW_I2C_I2SR_RD(port) line, regValue is 0x81, at the second regValue=HW_I2C_I2SR_RD(port), the value is still 0x81.
I placed a scope on this bus, After I set the MSTA bit, the start condition looks fine, but there is no clock following that, both the clock and data lines stay low, even if I change the MSTA bit to 0, no STOP condition generated. only if I reset the I2C (IEN=0), the data line and clock line goto high. The IBB bit never goes to 1 . Attached is the plot I got, green plot is SDA waveform, yellow one is the SCL waveform, Is the clock setting not correct or the pin setting not correct?
I also configured both pins as GPIO pins and I can change both pins level, so the hardware connection is OK.