]> Git Repo - J-u-boot.git/blobdiff - drivers/i2c/Kconfig
Merge tag 'ti-v2021.07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-ti
[J-u-boot.git] / drivers / i2c / Kconfig
index 5eceab9ea81497753adbd888c938e0c5975a9063..57a4efb88ed17cb86242684d4d85718746fd67cb 100644 (file)
@@ -11,19 +11,19 @@ config DM_I2C
          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
          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.
+         device (bus child) info is kept as parent plat. The interface
+         is defined in include/i2c.h.
 
 
-config DM_I2C_COMPAT
-       bool "Enable I2C compatibility layer"
-       depends on DM
+config SPL_DM_I2C
+       bool "Enable Driver Model for I2C drivers in SPL"
+       depends on SPL_DM && DM_I2C
+       default y
        help
        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.
+         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.
 
 config I2C_CROS_EC_TUNNEL
        tristate "Chrome OS EC tunnel I2C bus"
 
 config I2C_CROS_EC_TUNNEL
        tristate "Chrome OS EC tunnel I2C bus"
@@ -72,6 +72,16 @@ config DM_I2C_GPIO
          bindings are supported.
          Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt
 
          bindings are supported.
          Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt
 
+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
+       default y
+       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_AT91
        bool "Atmel I2C driver"
        depends on DM_I2C && ARCH_AT91
 config SYS_I2C_AT91
        bool "Atmel I2C driver"
        depends on DM_I2C && ARCH_AT91
@@ -82,6 +92,14 @@ config SYS_I2C_AT91
          i2c-gpio driver unless your system can cope with this limitation.
          Binding info: doc/device-tree-bindings/i2c/i2c-at91.txt
 
          i2c-gpio driver unless your system can cope with this limitation.
          Binding info: doc/device-tree-bindings/i2c/i2c-at91.txt
 
+config SYS_I2C_IPROC
+       bool "Broadcom I2C driver"
+       depends on DM_I2C
+       help
+         Broadcom I2C driver.
+         Add support for Broadcom I2C driver.
+         Say yes here to to enable the Broadco I2C driver.
+
 config SYS_I2C_FSL
        bool "Freescale I2C bus driver"
        depends on DM_I2C
 config SYS_I2C_FSL
        bool "Freescale I2C bus driver"
        depends on DM_I2C
@@ -91,11 +109,25 @@ config SYS_I2C_FSL
 
 config SYS_I2C_CADENCE
        tristate "Cadence I2C Controller"
 
 config SYS_I2C_CADENCE
        tristate "Cadence I2C Controller"
-       depends on DM_I2C && (ARCH_ZYNQ || ARM64)
+       depends on DM_I2C
        help
          Say yes here to select Cadence I2C Host Controller. This controller is
          e.g. used by Xilinx Zynq.
 
        help
          Say yes here to select Cadence I2C Host Controller. This controller is
          e.g. used by Xilinx Zynq.
 
+config SYS_I2C_CA
+       tristate "Cortina-Access I2C Controller"
+       depends on DM_I2C && CORTINA_PLATFORM
+       default n
+       help
+         Add support for the Cortina Access I2C host controller.
+         Say yes here to select Cortina-Access I2C Host Controller.
+
+config SYS_I2C_DAVINCI
+       bool "Davinci I2C Controller"
+       depends on (ARCH_KEYSTONE || ARCH_DAVINCI)
+       help
+         Say yes here to add support for Davinci and Keystone I2C controller
+
 config SYS_I2C_DW
        bool "Designware I2C Controller"
        default n
 config SYS_I2C_DW
        bool "Designware I2C Controller"
        default n
@@ -151,11 +183,14 @@ config SYS_I2C_MESON
 config SYS_I2C_MXC
        bool "NXP MXC I2C driver"
        help
 config SYS_I2C_MXC
        bool "NXP MXC I2C driver"
        help
-         Add support for the NXP I2C driver. This supports upto for bus
-         channels and operating on standard mode upto 100 kbits/s and fast
-         mode upto 400 kbits/s.
+         Add support for the NXP I2C driver. This supports up to four bus
+         channels and operating on standard mode up to 100 kbits/s and fast
+         mode up to 400 kbits/s.
 
 
-if SYS_I2C_MXC
+# These settings are not used with DM_I2C, however SPL doesn't use
+# DM_I2C even if DM_I2C is enabled, and so might use these settings even
+# when main u-boot does not!
+if SYS_I2C_MXC && (!DM_I2C || SPL)
 config SYS_I2C_MXC_I2C1
        bool "NXP MXC I2C1"
        help
 config SYS_I2C_MXC_I2C1
        bool "NXP MXC I2C1"
        help
@@ -208,7 +243,7 @@ endif
 if SYS_I2C_MXC_I2C1
 config SYS_MXC_I2C1_SPEED
        int "I2C Channel 1 speed"
 if SYS_I2C_MXC_I2C1
 config SYS_MXC_I2C1_SPEED
        int "I2C Channel 1 speed"
-       default 40000000 if TARGET_LS2080A_SIMU || TARGET_LS2080A_EMU
+       default 40000000 if TARGET_LS2080A_EMU
        default 100000
        help
         MXC I2C Channel 1 speed
        default 100000
        help
         MXC I2C Channel 1 speed
@@ -223,7 +258,7 @@ endif
 if SYS_I2C_MXC_I2C2
 config SYS_MXC_I2C2_SPEED
        int "I2C Channel 2 speed"
 if SYS_I2C_MXC_I2C2
 config SYS_MXC_I2C2_SPEED
        int "I2C Channel 2 speed"
-       default 40000000 if TARGET_LS2080A_SIMU || TARGET_LS2080A_EMU
+       default 40000000 if TARGET_LS2080A_EMU
        default 100000
        help
         MXC I2C Channel 2 speed
        default 100000
        help
         MXC I2C Channel 2 speed
@@ -319,9 +354,25 @@ config SYS_MXC_I2C8_SLAVE
         MXC I2C8 Slave
 endif
 
         MXC I2C8 Slave
 endif
 
+config SYS_I2C_NEXELL
+       bool "Nexell I2C driver"
+       depends on DM_I2C
+       help
+         Add support for the Nexell I2C driver. This is used with various
+         Nexell parts such as S5Pxx18 series SoCs. All chips
+         have several I2C ports and all are provided, controlled by the
+         device tree.
+
+config SYS_I2C_OCORES
+       bool "ocores I2C driver"
+       depends on DM_I2C
+       help
+         Add support for ocores I2C controller. For details see
+         https://opencores.org/projects/i2c
+
 config SYS_I2C_OMAP24XX
        bool "TI OMAP2+ I2C driver"
 config SYS_I2C_OMAP24XX
        bool "TI OMAP2+ I2C driver"
-       depends on ARCH_OMAP2PLUS
+       depends on ARCH_OMAP2PLUS || ARCH_K3
        help
          Add support for the OMAP2+ I2C driver.
 
        help
          Add support for the OMAP2+ I2C driver.
 
@@ -357,7 +408,7 @@ config SYS_I2C_ROCKCHIP
        help
          Add support for the Rockchip I2C driver. This is used with various
          Rockchip parts such as RK3126, RK3128, RK3036 and RK3288. All chips
        help
          Add support for the Rockchip I2C driver. This is used with various
          Rockchip parts such as RK3126, RK3128, RK3036 and RK3288. All chips
-         have several I2C ports and all are provided, controled by the
+         have several I2C ports and all are provided, controlled by the
          device tree.
 
 config SYS_I2C_SANDBOX
          device tree.
 
 config SYS_I2C_SANDBOX
@@ -368,6 +419,16 @@ config SYS_I2C_SANDBOX
          bus. Devices can be attached to the bus using the device tree
          which specifies the driver to use.  See sandbox.dts as an example.
 
          bus. Devices can be attached to the bus using the device tree
          which specifies the driver to use.  See sandbox.dts as an example.
 
+config SYS_I2C_OCTEON
+       bool "Octeon II/III/TX/TX2 I2C driver"
+       depends on (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2) && DM_I2C
+       default y
+       help
+         Add support for the Marvell Octeon I2C driver. This is used with
+         various Octeon parts such as Octeon II/III and OcteonTX/TX2. All
+         chips have several I2C ports and all are provided, controlled by
+         the device tree.
+
 config SYS_I2C_S3C24X0
        bool "Samsung I2C driver"
        depends on ARCH_EXYNOS4 && DM_I2C
 config SYS_I2C_S3C24X0
        bool "Samsung I2C driver"
        depends on ARCH_EXYNOS4 && DM_I2C
@@ -394,6 +455,12 @@ config SYS_I2C_STM32F7
           _ Optional clock stretching
           _ Software reset
 
           _ Optional clock stretching
           _ Software reset
 
+config SYS_I2C_TEGRA
+       bool "NVIDIA Tegra internal I2C controller"
+       depends on ARCH_TEGRA
+       help
+         Support for NVIDIA I2C controller available in Tegra SoCs.
+
 config SYS_I2C_UNIPHIER
        bool "UniPhier I2C driver"
        depends on ARCH_UNIPHIER && DM_I2C
 config SYS_I2C_UNIPHIER
        bool "UniPhier I2C driver"
        depends on ARCH_UNIPHIER && DM_I2C
@@ -410,6 +477,13 @@ config SYS_I2C_UNIPHIER_F
          Support for UniPhier FIFO-builtin I2C controller driver.
          This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
 
          Support for UniPhier FIFO-builtin I2C controller driver.
          This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
 
+config SYS_I2C_VERSATILE
+       bool "Arm Ltd Versatile I2C bus driver"
+       depends on DM_I2C && TARGET_VEXPRESS64_JUNO
+       help
+         Add support for the Arm Ltd Versatile Express I2C driver. The I2C host
+         controller is present in the development boards manufactured by Arm Ltd.
+
 config SYS_I2C_MVTWSI
        bool "Marvell I2C driver"
        depends on DM_I2C
 config SYS_I2C_MVTWSI
        bool "Marvell I2C driver"
        depends on DM_I2C
@@ -437,37 +511,11 @@ config SYS_I2C_BUS_MAX
        help
          Define the maximum number of available I2C buses.
 
        help
          Define the maximum number of available I2C buses.
 
-config SYS_I2C_ZYNQ
-       bool "Xilinx I2C driver"
-       depends on ARCH_ZYNQMP || ARCH_ZYNQ
-       help
-         Support for Xilinx I2C controller.
-
-config SYS_I2C_ZYNQ_SLAVE
-       hex "Set slave addr"
-       depends on SYS_I2C_ZYNQ
-       default 0
-       help
-         Set CONFIG_SYS_I2C_ZYNQ_SLAVE for slave addr.
-
-config SYS_I2C_ZYNQ_SPEED
-       int "Set I2C speed"
-       depends on SYS_I2C_ZYNQ
-       default 100000
-       help
-         Set CONFIG_SYS_I2C_ZYNQ_SPEED for speed setting.
-
-config ZYNQ_I2C0
-       bool "Xilinx I2C0 controller"
-       depends on SYS_I2C_ZYNQ
-       help
-         Enable Xilinx I2C0 controller.
-
-config ZYNQ_I2C1
-       bool "Xilinx I2C1 controller"
-       depends on SYS_I2C_ZYNQ
+config SYS_I2C_XILINX_XIIC
+       bool "Xilinx AXI I2C driver"
+       depends on DM_I2C
        help
        help
-         Enable Xilinx I2C1 controller.
+         Support for Xilinx AXI I2C controller.
 
 config SYS_I2C_IHS
         bool "gdsys IHS I2C driver"
 
 config SYS_I2C_IHS
         bool "gdsys IHS I2C driver"
This page took 0.033391 seconds and 4 git commands to generate.