i2c: rk3x: add i2c support for rk3399 soc
authorDavid Wu <wdc@rock-chips.com>
Fri, 11 Dec 2015 14:33:02 +0000 (22:33 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 18 Mar 2016 03:07:01 +0000 (11:07 +0800)
commit6ef9cab2afd369e6b9ca435d944557e27e2b7045
tree5b506d8c3e15dd5af8276c46d6ccbb16d2f2832a
parente24b2fae612018a1d19cefe4d8255c85234c44f0
i2c: rk3x: add i2c support for rk3399 soc

- new method to caculate i2c timings for rk3399:
  There was an timing issue about "repeated start" time at the I2C
  controller of version0, controller appears to drop SDA at .875x (7/8)
  programmed clk high. On version 1 of the controller, the rule(.875x)
  isn't enough to meet tSU;STA
  requirements on 100k's Standard-mode. To resolve this issue,
  sda_update_config, start_setup_config and stop_setup_config for I2C
  timing information are added, new rules are designed to calculate
  the timing information at new v1.
- pclk and function clk are separated at rk3399.
- support i2c highspeed mode: 1.7MHz for rk3399

Change-Id: I413455cf94fe7486c40694059e2f0931433992bb
Signed-off-by: David Wu <david.wu@rock-chips.com>
Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
drivers/i2c/busses/i2c-rk3x.c