I2c-3 Port on balenaFin


#1

Good evening,

just for curiosity, is i2c-3 provided by the FTDI / FT2232H chip on BalenaFin - or where does this additional port comes from?

Thank you very much,

Nico


#12

Hello Nico,

The I2C-3 is provided by bit-banging on two GPIO pins (42->SCL, 43->SDA). The FTDI chip is used to interface with the Artik020 module.

Cheers,
Nicolas


#13

Thank you very much - would it be actually possible to use other pins for that?
I saw that 42 and 43 on the compute module are "generic clock"pins.
Were 42 and 43 chosen for that exact aspect or with no special rationale?

​GPIO​42 / GPCLK1 / SPI2 SCLK / UART1 RTS
​GPIO​43 / GPCLK2 / SPI2 CE0 / UART1 CTS

I would be looking into a way to give the RPi an multi master i2c interface - does not need to be fast, but just deconflict with other hardware (in my case I also want to access an RTC shared by two MCUs and the RPi). Would this approach be feasible for that and could you point me to some source code for the implementation? (if available) :slight_smile:

Thank you very much!

Nico


#15

Hi Nico,

I2C-3 is hardwired to those pins, so there is no way to change that. I’m not sure I fully understand your last question. Are you planning to add another software based I2C port?

Cheers!
Nicolas


#17

Thank you for your answer Nicolas,

well what I was looking for is to give a Pi Zero some low performance (100 kbit/s is enough :)) but fully fledged i2c port. Thats why I was a bit excited to learn about the software i2c port. I would need an i2c port with full master-master capability - trying to avoid additional hardware. But it really seems like there is no way around it :). I got an RTC which I want to share between my RPi and some 3.3 V arduino MCUs, but that turns out to be a bit problematic.