1*c66ec88fSEmmanuel Vadot* Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot- compatible : 5*c66ec88fSEmmanuel Vadot - "fsl,imx1-i2c" for I2C compatible with the one integrated on i.MX1 SoC 6*c66ec88fSEmmanuel Vadot - "fsl,imx21-i2c" for I2C compatible with the one integrated on i.MX21 SoC 7*c66ec88fSEmmanuel Vadot - "fsl,vf610-i2c" for I2C compatible with the one integrated on Vybrid vf610 SoC 8*c66ec88fSEmmanuel Vadot- reg : Should contain I2C/HS-I2C registers location and length 9*c66ec88fSEmmanuel Vadot- interrupts : Should contain I2C/HS-I2C interrupt 10*c66ec88fSEmmanuel Vadot- clocks : Should contain the I2C/HS-I2C clock specifier 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel VadotOptional properties: 13*c66ec88fSEmmanuel Vadot- clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. 14*c66ec88fSEmmanuel Vadot The absence of the property indicates the default frequency 100 kHz. 15*c66ec88fSEmmanuel Vadot- dmas: A list of two dma specifiers, one for each entry in dma-names. 16*c66ec88fSEmmanuel Vadot- dma-names: should contain "tx" and "rx". 17*c66ec88fSEmmanuel Vadot- scl-gpios: specify the gpio related to SCL pin 18*c66ec88fSEmmanuel Vadot- sda-gpios: specify the gpio related to SDA pin 19*c66ec88fSEmmanuel Vadot- pinctrl: add extra pinctrl to configure i2c pins to gpio function for i2c 20*c66ec88fSEmmanuel Vadot bus recovery, call it "gpio" state 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotExamples: 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadoti2c@83fc4000 { /* I2C2 on i.MX51 */ 25*c66ec88fSEmmanuel Vadot compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; 26*c66ec88fSEmmanuel Vadot reg = <0x83fc4000 0x4000>; 27*c66ec88fSEmmanuel Vadot interrupts = <63>; 28*c66ec88fSEmmanuel Vadot}; 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadoti2c@70038000 { /* HS-I2C on i.MX51 */ 31*c66ec88fSEmmanuel Vadot compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; 32*c66ec88fSEmmanuel Vadot reg = <0x70038000 0x4000>; 33*c66ec88fSEmmanuel Vadot interrupts = <64>; 34*c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 35*c66ec88fSEmmanuel Vadot}; 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel Vadoti2c0: i2c@40066000 { /* i2c0 on vf610 */ 38*c66ec88fSEmmanuel Vadot compatible = "fsl,vf610-i2c"; 39*c66ec88fSEmmanuel Vadot reg = <0x40066000 0x1000>; 40*c66ec88fSEmmanuel Vadot interrupts =<0 71 0x04>; 41*c66ec88fSEmmanuel Vadot dmas = <&edma0 0 50>, 42*c66ec88fSEmmanuel Vadot <&edma0 0 51>; 43*c66ec88fSEmmanuel Vadot dma-names = "rx","tx"; 44*c66ec88fSEmmanuel Vadot pinctrl-names = "default", "gpio"; 45*c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c1>; 46*c66ec88fSEmmanuel Vadot pinctrl-1 = <&pinctrl_i2c1_gpio>; 47*c66ec88fSEmmanuel Vadot scl-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH>; 48*c66ec88fSEmmanuel Vadot sda-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; 49*c66ec88fSEmmanuel Vadot}; 50