Colibri IMX6 Linux I2C clock frequency for i2c-2 device

I am using the Colibri IMX6DL with the Iris carrier board. I have bitbaked linux images and able to load them onto the IMX6 module successfully.

On the Iris board X16 connector the I2C pins ( /dev/i2c-2 in userspace) clock frequency is set to 100kHz (best guess). I understand I cannot change it programmatically. I assume it can be increased to 400kHz with a new linux image.

What file(s) do I need to change to set the clock frequency (only for i2c-2 device) to 400kHz? After modifying the file(s) if I bitbake a new image file and load it am I all set?

Hi

The i2c frequency is set in the device tree.

Note that i.MX6S/DL errata document, ERR007805.
E.g. configure the I2C frequency to 375kHz to not violate I2C timings.

Some pointers of creating the device tree and building and deploying it outside of an openembedded build:

http://developer.toradex.com/device-tree-customization
http://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code

There are a number of sources already pointing out ways to integrate such a change into an openembedded build.

E.g. have a look at Brandon’s webinars or this or this blogpost. On top of that you also find some community post on the subject.

Max