I have been stuck for a while on trying to get 2 GPIO pins set up for use in the I2C bit-banging GPIO driver in Linux. I believe that I have the pinmux settings correct:
From da850.c:
MUX_CFG(DA850, GPIO0_0, 1, 28, 15, 8, false)
MUX_CFG(DA850, GPIO0_6, 1, 4, 15, 8, false)
I have registered the board info and now get Linux to believe that the bus is there at boot time:
…
i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
i2c-gpio i2c-gpio.2: using pins 6 (SDA) and 0 (SCL) <== Pins that I specified and registered in board-da850-evm.c
…
Using i2ctools, I can see this with i2cdetect:
root@arago:~/i2ctools# ./i2cdetect -l
i2c-1 i2c i2c-gpio1 I2C adapter
i2c-2 i2c i2c-gpio2 I2C adapter <== My adapter
However, when I look at that bus (./i2cdetect 2), nothing shows up. I have the dev board connected to a Sparkfun temperature sensor via J30, with SDA on pin 17, SCL on pin 92 and ground on pin 80. Power (3.3v) is supplied via the Sparkfun processor/power board. Correct voltages were measured at the temperature sensor but no pulses appear on the SCL line.
I think I am missing something in the driver setup. Can somebody give me a little shove in the right direction?