Home | History | Annotate | Download | only in i2c
      1 U-Boot I2C
      2 ----------
      3 
      4 U-Boot's I2C model has the concept of an offset within a chip (I2C target
      5 device). The offset can be up to 4 bytes long, but is normally 1 byte,
      6 meaning that offsets from 0 to 255 are supported by the chip. This often
      7 corresponds to register numbers.
      8 
      9 Apart from the controller-specific I2C bindings, U-Boot supports a special
     10 property which allows the chip offset length to be selected.
     11 
     12 Optional properties:
     13 - u-boot,i2c-offset-len - length of chip offset in bytes. If omitted the
     14     default value of 1 is used.
     15 - gpios = <sda ...>, <scl ...>;
     16   pinctrl-names = "default", "gpio";
     17   pinctrl-0 = <&i2c_xfer>;
     18   pinctrl-1 = <&i2c_gpio>;
     19     Pin description for I2C bus software deblocking.
     20 
     21 
     22 Example
     23 -------
     24 
     25 i2c4: i2c@12ca0000 {
     26 	cros-ec@1e {
     27 		reg = <0x1e>;
     28 		compatible = "google,cros-ec";
     29 		i2c-max-frequency = <100000>;
     30 		u-boot,i2c-offset-len = <0>;
     31 		ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
     32 	};
     33 };
     34 
     35 &i2c1 {
     36 	pinctrl-names = "default", "gpio";
     37 	pinctrl-0 = <&i2c1_xfer>;
     38 	pinctrl-1 = <&i2c1_gpio>;
     39 	gpios = <&gpio1 26 GPIO_ACTIVE_LOW>, /* SDA */
     40 		<&gpio1 27 GPIO_ACTIVE_LOW>; /* SCL */
     41 };
     42