I have a Raspberry Pi Compute Module that I was hoping to get running at Fastmode+ or 1MHz.
I set up the I2C for both port0 and port1. I have an O-scope connected to both (reference is on GND pin). So there is no buffer or pull-up resistor here, just a straight connection to the scope. I set the baud rate on port0 to be 400KHz and the baud rate on port1 to be 1 MHz. When I run "i2cdetect -y 0" in the terminal, I see a nice 400 KHz signal for a second or so. Great! When I run "i2cdetect -y 1" in the terminal, I see another nice 400 KHz signal for a second or so. Not Great
I do realize that I will need pull-up resistors, buffers, and I2C slaves but I figured a straight connection to clock would be faster.
Can you explain to me why I get 400 KHz on port1? How does a pull-up resistor make the clock faster? Isn't this based on RC time constant which only increases with R?
Thanks for any help on this!
FYI:
I set the baudrate in /boot/config.txt with
dtparam=i2c0_baudrate=400000
dtparam=i2c1_baudrate=1000000
After saving the txt file, I reboot. I know this changes the rate because I can change it from 100KHz to 400KHz.
Also, I used "i2cdetect" because I don't know of a better way of testing the I2C signal yet...
