Multiplexing for I2C on the BBB
The AM335X processor of the BBB provides three I2C buses:
- I2C0
- I2C1
- I2C2
The BBB exposes the I2C1 and I2C2 buses via its P9 header, but the I2C0 bus is not easily accessible. I2C0 currently provides the communication channel between the BBB's processor and the HDMI framer chip of the built-in HDMI cape, so it should be considered unavailable for your use (unless you would like to void your warranty by soldering wires directly to the traces and chip pins on the BBB).
The I2C1 bus is available for your general use and is often the go to bus for I2C interfacing. If I2C1 is at its maximum capacity or unavailable, the I2C2 bus is also available for your use.
Connecting to I2C via the P9 header
By default, I2C1 is not muxed to any pins and I2C2 is available via the P9.19 and P9.20 pins. I2C2 provides I2C communication between the identification EEPROMs present on external cape boards and the kernel's capemgr. You can mux I2C2 to other pins, or even disable it...