* Rockchip RK3xxx I2C controller

This driver interfaces with the native I2C controller present in Rockchip
RK3xxx SoCs.

Required properties :

 - reg : Offset and length of the register set for the device
 - compatible: should be one of the following:
   - "rockchip,rk3066-i2c": for rk3066
   - "rockchip,rk3188-i2c": for rk3188
   - "rockchip,rk3228-i2c": for rk3228
   - "rockchip,rk3288-i2c": for rk3288
   - "rockchip,rk3399-i2c": for rk3399
 - interrupts : interrupt number
 - clocks: See ../clock/clock-bindings.txt
   - For older hardware (rk3066, rk3188, rk3228, rk3288):
     - There is one clock that's used both to derive the functional clock
       for the device and as the bus clock.
   - For newer hardware (rk3399): specified by name
     - "i2c": This is used to derive the functional clock.
     - "pclk": This is the bus clock.

Required on RK3066, RK3188 :

 - rockchip,grf : the phandle of the syscon node for the general register
		  file (GRF)
 - on those SoCs an alias with the correct I2C bus ID (bit offset in the GRF)
   is also required.

Optional properties :

 - clock-frequency : SCL frequency to use (in Hz). If omitted, 100kHz is used.
 - i2c-scl-rising-time-ns : Number of nanoseconds the SCL signal takes to rise
	(t(r) in I2C specification). If not specified this is assumed to be
	the maximum the specification allows(1000 ns for Standard-mode,
	300 ns for Fast-mode) which might cause slightly slower communication.
 - i2c-scl-falling-time-ns : Number of nanoseconds the SCL signal takes to fall
	(t(f) in the I2C specification). If not specified this is assumed to
	be the maximum the specification allows (300 ns) which might cause
	slightly slower communication.
 - i2c-sda-falling-time-ns : Number of nanoseconds the SDA signal takes to fall
	(t(f) in the I2C specification). If not specified we'll use the SCL
	value since they are the same in nearly all cases.

Example:

aliases {
	i2c0 = &i2c0;
}

i2c0: i2c@2002d000 {
	compatible = "rockchip,rk3188-i2c";
	reg = <0x2002d000 0x1000>;
	interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
	#address-cells = <1>;
	#size-cells = <0>;

	rockchip,grf = <&grf>;

	clock-names = "i2c";
	clocks = <&cru PCLK_I2C0>;

	i2c-scl-rising-time-ns = <800>;
	i2c-scl-falling-time-ns = <100>;
};
