]> git.sur5r.net Git - u-boot/blobdiff - drivers/i2c/Kconfig
Merge branch 'master' of git://git.denx.de/u-boot-video
[u-boot] / drivers / i2c / Kconfig
index 6a479efd7c6fb850950e3c045e92497f3cfa088f..ba43019ab99afd15d3086432f8861b5462a7b819 100644 (file)
@@ -2,8 +2,61 @@ config DM_I2C
        bool "Enable Driver Model for I2C drivers"
        depends on DM
        help
-         If you want to use driver model for I2C drivers, say Y.
-         To use legacy I2C drivers, say N.
+         Enable driver model for I2C. The I2C uclass interface: probe, read,
+         write and speed, is implemented with the bus drivers operations,
+         which provide methods for bus setting and data transfer. Each chip
+         device (bus child) info is kept as parent platdata. The interface
+         is defined in include/i2c.h. When i2c bus driver supports the i2c
+         uclass, but the device drivers not, then DM_I2C_COMPAT config can
+         be used as compatibility layer.
+
+config DM_I2C_COMPAT
+       bool "Enable I2C compatibility layer"
+       depends on DM
+       help
+         Enable old-style I2C functions for compatibility with existing code.
+         This option can be enabled as a temporary measure to avoid needing
+         to convert all code for a board in a single commit. It should not
+         be enabled for any board in an official release.
+
+config DM_I2C_GPIO
+       bool "Enable Driver Model for software emulated I2C bus driver"
+       depends on DM_I2C && DM_GPIO
+       help
+         Enable the i2c bus driver emulation by using the GPIOs. The bus GPIO
+         configuration is given by the device tree. Kernel-style device tree
+         bindings are supported.
+         Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt
+
+config SYS_I2C_SANDBOX
+       bool "Sandbox I2C driver"
+       depends on SANDBOX && DM_I2C
+       help
+         Enable I2C support for sandbox. This is an emulation of a real I2C
+         bus. Devices can be attached to the bus using the device tree
+         which specifies the driver to use. As an example, see this device
+         tree fragment from sandbox.dts. It shows that the I2C bus has a
+         single EEPROM at address 0x2c (7-bit address) which is emulated by
+         the driver for "sandbox,i2c-eeprom", which is in
+         drivers/misc/i2c_eeprom_emul.c.
+
+         i2c@0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0>;
+               compatible = "sandbox,i2c";
+               clock-frequency = <400000>;
+               eeprom@2c {
+                       reg = <0x2c>;
+                       compatible = "i2c-eeprom";
+                       emul {
+                               compatible = "sandbox,i2c-eeprom";
+                               sandbox,filename = "i2c.bin";
+                               sandbox,size = <128>;
+                       };
+               };
+       };
+
 
 config SYS_I2C_UNIPHIER
        bool "UniPhier I2C driver"
@@ -12,3 +65,11 @@ config SYS_I2C_UNIPHIER
        help
          Support for Panasonic UniPhier I2C controller driver.  This I2C
          controller is used on PH1-LD4, PH1-sLD8 or older UniPhier SoCs.
+
+config SYS_I2C_UNIPHIER_F
+       bool "UniPhier FIFO-builtin I2C driver"
+       depends on ARCH_UNIPHIER && DM_I2C
+       default y
+       help
+         Support for Panasonic UniPhier FIFO-builtin I2C controller driver.
+         This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.