+LTS/SOPINE Using TWI0 (/dev/i2c-0 and VCC-CTP) - Printable Version

+- PINE64 (
+-- Forum: PINE A64(+) (
+--- Forum: Pine A64 Hardware, Accessories and POT (
+--- Thread: +LTS/SOPINE Using TWI0 (/dev/i2c-0 and VCC-CTP) (/showthread.php?tid=4527)

Using TWI0 (/dev/i2c-0 and VCC-CTP) - bobpaul - 05-11-2017

I want to use i2c-0 as well as i2c-1 in my project. i2c-0 connects to the TP port for use with the touchpanel by default. On the baseboard are 2k pullups between the TWI0-{SCK,SDA} pins and VCC-CTP.

I found that with with the pull-ups installed (R96 and R97), external pull-ups to 3v3 just create a voltage divider and the TWI0 pins don't go high enough for the A64 to detect the i2c bus is idle. (I first tried removing the ferrite bead, FB3, attempting to sever the connection to VCC-CTP, but that didn't make a difference.) I suspect the problem is that VCC-CTP isn't enabled and is instead acting as a strong pull-down.

So here's what I did to make TWI0 functional from Linux on SO-Pine + Baseboard; I think the same should work on standard Pine64.

  1. De-solder R96, R97, and FB3.
  2. Solder wires to the center 2 test points on the group of 6 directly behind the TP connector on the bottom of the board
  3. Connect your wires to external pullup resistors to 3v3. I used Pin 0 on the Pi2 bus for 3v3.
Alternatively there's surely a way to enable VCC-CTP; this is shown as a 3v3 regulator in the AXP803 chip on the SOPINE schematic. With this enabled, one could get 3v3 and ground from the test pads on the back, as well. Or use an appropriately sized ribbon cable. If someone knows how to enable this, please share. I didn't find this while searching.

RE: Using TWI0 (/dev/i2c-0 and VCC-CTP) - dkryder - 05-12-2017

your issue reminded me about a discussion on the i2c dev board awhile back. one of the developers made a script, EnableI2CPullup. if you have not read the thread,