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
 #
 
 # 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"
 
 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"
 
 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
        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.
 
          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
 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"
 
 
 source "drivers/i2c/muxes/Kconfig"
 
-endmenu
+endif