Currently trying to work with the LPCXpresso55S69 dev board and the Microchip USB2534 dev board on the FlexComm1 I2C bus. We have already communicated with the Microchip board successfully over I2C using the ST Nucleo-U575 board.
The USB2534 is failing to respond when addressed on the bus. Attached is an o'scope output of the address byte. As can be seen the USB2534 *is* attempting to pull down SDA during the !ACK bit, but can't. It should be noted that this image shows the result after removing R71 & R72 from the LPC dev board and replacing them with external 10k bus pull-ups. With the original 2.2kOhm resistors on the LPC board the !ACK drop was even weaker. With the on-board pull-ups the SDA line would drop to ~3V on !ACK, while with 4.7kOhm ones it dropped to ~2.5V, and then at 10kOm ~2V as can be seen in the image. So this doesn't appear to be a protocol issue per se since the USB2534 is clearly attempting to do the !ACK.
We became suspicious that maybe something is not set up correctly on the LPC side even though we used the MCUXpresso IDE and the latest SDK code to generate the I2C initialization sequence for FlexComm1. After I2C setup completes a read of the IOCON register for PIO0_13 (FC1_SDA) gives 0x5105. This indicates that the EGP bit (bit 14) has not been cleared, meaning the pins should be running as GPIO and not I2C. Despite this the I2C peripheral *is* actually running as can be seen on the o'scope. We did try to edit the start-up code to ensure that EGP is cleared, but this did not help. Other ideas we have include leaving EGP set and also setting the OD bit (bit 9) to enable open-drain. Another possibility is setting ECS (bit 13) to switch the peripheral to use (presumably) internal pull-ups. These are guesses, however, if somebody has another idea of what to look at it would be appreciated.
