Merge branch '2021-07-28-build-improvements'
[platform/kernel/u-boot.git] / drivers / i2c / Kconfig
index 41065dd..63d03a3 100644 (file)
@@ -2,7 +2,29 @@
 # I2C subsystem configuration
 #
 
-menu "I2C support"
+menuconfig I2C
+       bool "I2C support"
+       default y
+       help
+         Note:
+         This is a stand-in for an option to enable I2C support. In fact this
+         simply enables building of the I2C directory for U-Boot. The actual
+         I2C feature is enabled by DM_I2C (for driver model) and
+         the #define CONFIG_SYS_I2C_LEGACY (for the legacy I2C stack).
+
+         So at present there is no need to ever disable this option.
+
+         Eventually it will:
+
+         Enable support for the I2C (Inter-Integrated Circuit) bus in U-Boot.
+         I2C works with a clock and data line which can be driven by a
+         one or more masters or slaves. It is a fairly complex bus but is
+         widely used as it only needs two lines for communication. Speeds of
+         400kbps are typical but up to 3.4Mbps is supported by some
+         hardware. Enable this option to build the drivers in drivers/i2c as
+         part of a U-Boot build.
+
+if I2C
 
 config DM_I2C
        bool "Enable Driver Model for I2C drivers"
@@ -74,7 +96,7 @@ config DM_I2C_GPIO
 
 config SPL_DM_I2C_GPIO
        bool "Enable Driver Model for software emulated I2C bus driver in SPL"
-       depends on SPL_DM && DM_I2C_GPIO && SPL_DM_GPIO && SPL_GPIO_SUPPORT
+       depends on SPL_DM && DM_I2C_GPIO && SPL_DM_GPIO && SPL_GPIO
        default y
        help
          Enable the i2c bus driver emulation by using the GPIOs. The bus GPIO
@@ -136,16 +158,6 @@ config SYS_I2C_DW
          controller is used in various SoCs, e.g. the ST SPEAr, Altera
          SoCFPGA, Synopsys ARC700 and some Intel x86 SoCs.
 
-config SYS_I2C_DW_ENABLE_STATUS_UNSUPPORTED
-       bool "DW I2C Enable Status Register not supported"
-       depends on SYS_I2C_DW && (TARGET_SPEAR300 || TARGET_SPEAR310 || \
-               TARGET_SPEAR320 || TARGET_SPEAR600 || TARGET_X600)
-       default y
-       help
-         Some versions of the Designware I2C controller do not support the
-         enable status register. This config option can be enabled in such
-         cases.
-
 config SYS_I2C_ASPEED
        bool "Aspeed I2C Controller"
        depends on DM_I2C && ARCH_ASPEED
@@ -538,4 +550,4 @@ config SYS_I2C_IHS
 
 source "drivers/i2c/muxes/Kconfig"
 
-endmenu
+endif