Dez/2006 Here are the modified driver for the i2c-bus with the ADM5120. Now all GPIOs (also the Switch-LEDs) are possible as i2c-bus lines. The driver can also load multiple times with different lines. So you can have multiple i2c-buses. The driver has no more the bug with the level of the GPIO0..8 . All lines works as "open collector" output now. For HIGH-level the line is set to input. You need a pullup-resitor for the HIGH-level. You should use a resitor around 2..10kohm to the 3.3V Vcc. So you can use 3.3V and 5V I2C-devices in mix without risk for the ADM5120. For longer wires you should use a bus driver like PCA9515. With this input-mode for SCL the slave-clock-stretching for slower devices are possible. The clock rate is around 62.5KHz now (old around 32KHz). Examples : "insmod i2c-adm5120" load the first driver with defaults from kernelconfig( gpio1 and gpio3) "insmod i2c-adm5120 scl=8 sda=9" load the fist driver with given lines (leds 0 and 1 from Switch-port 0) "insmod -o i2c-adm5120_1 i2c-adm5120 scl=11 sda=12" load second driver with given lines (leds 0 and 1 from Switch-port 1) The second i2c-bus makes a second device under /dev/i2c . So you have to use for example the device "/dev/i2c/1" for the second bus. Note : The demo applications LM75 and PCF8574 use "/dev/i2c/0". You have to edit the source. The lm_sensors tools can deal with all buses. -------------------------------------------------------------------------- Okt/2006 Driver and Tools for I2C-bus over GPIO1 and 3. See http://www.sunspot.co.uk/Projects/SWEEX/files/data_file/general_IO.html and http://midge.vlad.org.ua/forum/viewtopic.php?p=2108#2108 The tools are from the lm_sensors-2.7.0-package. They are compiled with "staging_dir_mipsel/bin/mipsel-linux-gcc" and then processed with "staging_dir_mipsel/bin/sstrip".