* 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 "rockchip,rk3066-i2c", "rockchip,rk3188-i2c" or
		"rockchip,rk3288-i2c".
 - interrupts : interrupt number
 - clocks : parent 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>;
};
