]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/i2c/Kconfig
mxs_gpio: improve readability by using '(void *)' on right hand size of pointer initi...
[karo-tx-uboot.git] / drivers / i2c / Kconfig
index 378473c40ec79cd9874a20b7f27b205c286c907f..fced6ebf9432ecf868d4b3d338231bc7cd4682f8 100644 (file)
@@ -1,3 +1,15 @@
+#
+# I2C subsystem configuration
+#
+
+menu "I2C device support"
+
+config HARD_I2C
+       bool
+
+config SYS_I2C
+       bool
+
 config DM_I2C
        bool "Enable Driver Model for I2C drivers"
        depends on DM
@@ -12,13 +24,37 @@ config DM_I2C
 
 config DM_I2C_COMPAT
        bool "Enable I2C compatibility layer"
-       depends on DM
+       depends on DM_I2C
        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 I2C_CROS_EC_TUNNEL
+       tristate "Chrome OS EC tunnel I2C bus"
+       depends on CROS_EC
+       help
+         This provides an I2C bus that will tunnel i2c commands through to
+         the other side of the Chrome OS EC to the I2C bus connected there.
+         This will work whatever the interface used to talk to the EC (SPI,
+         I2C or LPC). Some Chromebooks use this when the hardware design
+         does not allow direct access to the main PMIC from the AP.
+
+config I2C_CROS_EC_LDO
+       bool "Provide access to LDOs on the Chrome OS EC"
+       depends on CROS_EC
+       ---help---
+       On many Chromebooks the main PMIC is inaccessible to the AP. This is
+       often dealt with by using an I2C pass-through interface provided by
+       the EC. On some unfortunate models (e.g. Spring) the pass-through
+       is not available, and an LDO message is available instead. This
+       option enables a driver which provides very basic access to those
+       regulators, via the EC. We implement this as an I2C bus which
+       emulates just the TPS65090 messages we know about. This is done to
+       avoid duplicating the logic in the TPS65090 regulator driver for
+       enabling/disabling an LDO.
+
 config DM_I2C_GPIO
        bool "Enable Driver Model for software emulated I2C bus driver"
        depends on DM_I2C && DM_GPIO
@@ -28,6 +64,14 @@ config DM_I2C_GPIO
          bindings are supported.
          Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt
 
+config SYS_I2C_MXC
+       bool "Freescale i.MX I2C controller"
+       select HARD_I2C
+       select I2C_QUIRK_REG if FSL_LSCH3 || SOC_LS102XA
+
+config I2C_QUIRK_REG
+       bool
+
 config SYS_I2C_SANDBOX
        bool "Sandbox I2C driver"
        depends on SANDBOX && DM_I2C
@@ -63,27 +107,17 @@ config SYS_I2C_UNIPHIER
        depends on ARCH_UNIPHIER && DM_I2C
        default y
        help
-         Support for Panasonic UniPhier I2C controller driver.  This I2C
-         controller is used on PH1-LD4, PH1-sLD8 or older UniPhier SoCs.
+         Support for 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.
+         Support for UniPhier FIFO-builtin I2C controller driver.
          This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
-menuconfig SYS_I2C
-       bool "I2C device support"
-
-if SYS_I2C
 
-config HARD_I2C
-       bool
-
-config SYS_I2C_MXC
-       bool "Freescale i.MX I2C controller"
-       select HARD_I2C
-       select I2C_QUIRK_REG if FSL_LSCH3 || SOC_LS102XA
+source "drivers/i2c/muxes/Kconfig"
 
-endif
+endmenu