i2c: mxs: fix broken timing calculation
authorLothar Waßmann <LW@KARO-electronics.de>
Fri, 5 Jul 2013 16:28:00 +0000 (18:28 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 16 Aug 2013 16:09:05 +0000 (18:09 +0200)
The timing calculation is rather bogus and gives extremely wrong
results for higher frequencies (on an i.MX28). E.g. instead of 400 kHz
I measured 770 kHz.

Implement a calculation that adheres to the I2C spec and gives exact
results for I2C frequencies from 12.56 kHz to 960 kHz.

Also the bus_free and leadin parameters are programmed according to
the I2C spec for standard and fast mode.

This was tested on a Ka-Ro TX28 module with a DS1339, TSC2007, PCA9554
and SGTL5000 client.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Acked-by: Marek Vasut <marex@denx.de>
[wsa: patch fixes whitespace issue, too]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

No differences found