Using ASF and a SAM4S. I have an I2C bus setup as shown in the block diagram below. I'm using PCA9615's as a differential bridge board to board, a PCA9547 (or PCA9548) as a bus fan-out, and the end device is a slew of APDS9130 proximity sensors. In this configuration, I can talk to the PCA9547 fan-out just fine, I can get a clean signal directly to the APDS9130 sensor with the correct address, but the APDS9130 will not ACK.
If I remove the fan-out from the equation, still no ACK from the APDS9130. If I remove the PCA9615 bridge and connect the APDS9130 directly to the SAM4S, I get a valid ACK and it works.
Now for the ~really~ interesting part. If I run the original setup (block diagram below) with an Arduino Mega2560 instead of the SAM4S, everything works fine. I get an ACK from both the PCA947 and the APDS9130 over the PCA9615 bridge.
I'm really pulling my hair out on this one. Pull-ups on every portion of the bus needed, all tuned to have waveforms that appear to meet every slope and timing spec for every part. I know I must be missing something, but darned if I can find it.
Anyone seen similar in the past? Ideas on things to check?
Appreciate any and all ideas.