Early access I2C and/or clock for iMX6?

Michael D. Burkey mdburkey at gmail.com
Mon Jun 20 14:02:45 PDT 2016

The more I look into the I2C drivers, the less convinced I am that
fsl_i2c is where I need to be looking.

Additionally, although Variscite had included the fsl_i2c.h header and
had actually referenced fsl_i2c in some documentation and comments,
the more I dig through their code, it is looking like the only I2C
routines that are even getting compiled in their U-Boot implementation
are those in mxc_i2c.c -- which actually look to be a fairly clean
implementation for the i.MX series of parts that doesn't appear to
require much additional support code along with it (other than, once
again, some of the clock configuration routine). It appears to be much
more simplistic and bare metal than the i2c-imx.c that is currently
used in barebox.

Since the mxc_i2c.c driver in U-Boot was written also written by
Sascha Hauer, I'm sort of throwing this one out as a question to
Sascha or anyone else familiar with this code:

For an early access I2C driver on the i.MX6, do you think it would
make more sense to try starting from the fsl_i2c.c code under barebox
or from the original U-Boot mxc_i2c.c code?

I'm beginning to suspect the latter may actually be easier to start
from (and it would already match the function calls that Variscite is
using in the code I am transplanting from their U-Boot tree).

Thanks again!
Michael Burkey

More information about the barebox mailing list