[U-Boot] [PATCH] mxs: i2c: Implement algorithm to set up arbitrary i2c speed
Wolfgang Denk
wd at denx.de
Fri Nov 30 16:07:54 CET 2012
Dear Marek Vasut,
In message <1354280910-17539-1-git-send-email-marex at denx.de> you wrote:
> This algorithm computes the values of TIMING{0,1,2} registers for the
> MX28 I2C block. This algorithm was derived by using a scope, but the
> result seems correct.
Thanks! I like that!
...
> + uint32_t base = ((24000000 / speed) - 38) / 2;
...
> + return 24000000 / ((((timing0 >> 16) - 3) * 2) + 38);
But we should get rid of this magic constant. On other i.MX systems
that would probably be MXC_HCLK ?
For iMX28, we have CONFIG_PL011_CLOCK in the board config files
instead.
Hm... grepping the source tree for 24000000 I get the feeling that
this really needs some cleanup....
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Vulcans worship peace above all.
-- McCoy, "Return to Tomorrow", stardate 4768.3
More information about the U-Boot
mailing list