Kernel modules for I2C bus interface

I2C is a bus invented by Philips to allow simple, robust and cost effective communication between integrated circuits. TWI and SMBus are the Atmel and Intel versions of these bus.
This article is explains how to enable the right Kernel module to use it

Probably the Kernel used on your Acme Board is already configured to have the I2C bus enabled. To check it just type:

# ls /dev/i2c*
/dev/i2c-0  /dev/i2c-1

in this case two busses are already configured on your board. To know on which pins are available the I2C signals, read the pinout section of this page.

However if no device is present you have to check the Kernel drivers setup and the device tree contents.

Kernel setup

To know how to launch the Kernel config and how to compile it follow this tutorial.

Inside the make menuconfig enable the following items:

Device drivers --->
        I2C support  --->
            <*> I2C support
                [*]   Enable compatibility bits for old user-space
                <*>   I2C device interface
                <*>   I2C bus multiplexing support
                        Multiplexer I2C Chip support  --->
                [*]   Autoselect pertinent helper modules
                        I2C Hardware Bus support  --->
                            <*> Atmel AT91 I2C Two-Wire interface (TWI)
                            <*> GPIO-based bitbanging I2C

then compile the Kernel image, save it on the microsd and reboot.

Author: Sergio Tanzilli -
System designer and CEO of Acme Systems srl
Web master of: and
Software developer on: and