[PATCH 1/2 V2] MXS: Set I2C timing registers for mxs-i2c
Marek Vasut
marex at denx.de
Sat Jun 9 07:40:26 EDT 2012
Dear Sascha Hauer,
> On Sat, Jun 09, 2012 at 01:11:42PM +0200, Marek Vasut wrote:
> > Dear Sascha Hauer,
> >
> > > On Sat, Jun 09, 2012 at 12:34:47PM +0200, Marek Vasut wrote:
> > > > Dear Shubhrajyoti Datta,
> > > >
> > > > > Didnt understand this.
> > > >
> > > > What exactly, it's running (according to the datasheet) at 95kHz.
> > > >
> > > > > > + .timing0 = 0x00780030,
> > > > > > + .timing1 = 0x00800030,
> > > > > > + .timing2 = 0x0015000d,
> > > > > > +};
> > > > > > +
> > > > > > +const struct mxs_i2c_speed_config mxs_i2c_400kHz_config = {
> > > > > > + .timing0 = 0x000f0007,
> > > > > > + .timing1 = 0x001f000f,
> > > > > > + .timing2 = 0x0015000d,
> > > > > > +};
> > > > > > +
> > > > >
> > > > > How are these values calculated?
> > > >
> > > > They're not calculated, they're presented in the datasheet. There's
> > > > no formula, even though I believe one could be derived given enough
> > > > effort.
> > >
> > > Don't these values depend on the input clock of this unit? I don't
> > > know, just asking.
> >
> > Isn't the i2c block supplied from 24MHz clock source in the mx28?
>
> Maybe. Shouldn't this be checked then or at least mentioned that these
> values assume a certain clock frequency?
27.5.2 - 27.5.4 in the MX28 TRM -- these values are for 24MHz clock indeed.
> I wonder that currently the timing registers are not initialized at all.
> Do they depend on reset defaults or bootloader setup?
They're set to default values in our case -- I dunno if your bootloader always
sets them up differently.
> Sascha
Best regards,
Marek Vasut
More information about the linux-arm-kernel
mailing list