|  | # I2C configuration options | 
|  |  | 
|  | # Copyright (c) 2015 Intel Corporation | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  |  | 
|  | # | 
|  | # I2C options | 
|  | # | 
|  | menuconfig I2C | 
|  | bool "I2C Drivers" | 
|  | help | 
|  | Enable I2C Driver Configuration | 
|  |  | 
|  | if I2C | 
|  |  | 
|  | config I2C_SHELL | 
|  | bool "I2C Shell" | 
|  | default y | 
|  | depends on SHELL | 
|  | help | 
|  | Enable I2C Shell. | 
|  |  | 
|  | The I2C shell supports scanning, bus recovery, I2C read and write | 
|  | operations. | 
|  |  | 
|  | config I2C_STATS | 
|  | bool "I2C device Stats" | 
|  | depends on STATS | 
|  | help | 
|  | Enable I2C Stats. | 
|  |  | 
|  | config I2C_DUMP_MESSAGES | 
|  | bool "Log all I2C transactions" | 
|  | depends on LOG | 
|  | help | 
|  | Dump every I2C transaction to the system log as debug level log messages. | 
|  |  | 
|  | config I2C_CALLBACK | 
|  | bool "I2C asynchronous callback API" | 
|  | help | 
|  | API and implementations of i2c_transfer_cb. | 
|  |  | 
|  | # Include these first so that any properties (e.g. defaults) below can be | 
|  | # overridden (by defining symbols in multiple locations) | 
|  | source "drivers/i2c/Kconfig.b91" | 
|  | source "drivers/i2c/Kconfig.cc13xx_cc26xx" | 
|  | source "drivers/i2c/Kconfig.dw" | 
|  | source "drivers/i2c/Kconfig.esp32" | 
|  | source "drivers/i2c/target/Kconfig" | 
|  | source "drivers/i2c/Kconfig.gpio" | 
|  | source "drivers/i2c/Kconfig.xec" | 
|  | source "drivers/i2c/Kconfig.nrfx" | 
|  | source "drivers/i2c/Kconfig.i2c_emul" | 
|  | source "drivers/i2c/Kconfig.it8xxx2" | 
|  | source "drivers/i2c/Kconfig.sbcon" | 
|  | source "drivers/i2c/Kconfig.sifive" | 
|  | source "drivers/i2c/Kconfig.stm32" | 
|  | source "drivers/i2c/Kconfig.sam0" | 
|  | source "drivers/i2c/Kconfig.litex" | 
|  | source "drivers/i2c/Kconfig.lpc11u6x" | 
|  | source "drivers/i2c/Kconfig.npcx" | 
|  | source "drivers/i2c/Kconfig.test" | 
|  | source "drivers/i2c/Kconfig.rcar" | 
|  | source "drivers/i2c/Kconfig.tca954x" | 
|  | source "drivers/i2c/Kconfig.gd32" | 
|  | source "drivers/i2c/Kconfig.andes_atciic100" | 
|  |  | 
|  | config I2C_INIT_PRIORITY | 
|  | int "Init priority" | 
|  | default KERNEL_INIT_PRIORITY_DEVICE | 
|  | help | 
|  | I2C device driver initialization priority. | 
|  |  | 
|  |  | 
|  | module = I2C | 
|  | module-str = i2c | 
|  | source "subsys/logging/Kconfig.template.log_config" | 
|  |  | 
|  | config I2C_GECKO | 
|  | bool "Gecko I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_SILABS_GECKO_I2C_ENABLED | 
|  | select SOC_GECKO_I2C | 
|  | help | 
|  | Enable the SiLabs Gecko I2C bus driver. | 
|  |  | 
|  | config I2C_SAM_TWIHS | 
|  | bool "Atmel SAM (TWIHS) I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_ATMEL_SAM_I2C_TWIHS_ENABLED | 
|  | help | 
|  | Enable Atmel SAM MCU Family (TWIHS) I2C bus driver. | 
|  |  | 
|  | config I2C_SAM_TWIM | 
|  | bool "Atmel SAM (TWIM) I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_ATMEL_SAM_I2C_TWIM_ENABLED | 
|  | help | 
|  | Enable Atmel SAM MCU Family (TWIM) I2C bus driver. | 
|  |  | 
|  | config I2C_SAM_TWI | 
|  | bool "Atmel SAM (TWI) I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_ATMEL_SAM_I2C_TWI_ENABLED | 
|  | help | 
|  | Enable Atmel SAM MCU Family (TWI) I2C bus driver. | 
|  |  | 
|  | config I2C_MCUX | 
|  | bool "MCUX I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_NXP_KINETIS_I2C_ENABLED | 
|  | select PINCTRL | 
|  | help | 
|  | Enable the mcux I2C driver. | 
|  |  | 
|  | config I2C_MCUX_FLEXCOMM | 
|  | bool "MCUX FLEXCOMM I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_NXP_LPC_I2C_ENABLED | 
|  | help | 
|  | Enable the mcux flexcomm i2c driver. | 
|  |  | 
|  | config I2C_MCUX_LPI2C | 
|  | bool "MCUX LPI2C driver" | 
|  | default y | 
|  | depends on DT_HAS_NXP_IMX_LPI2C_ENABLED | 
|  | depends on CLOCK_CONTROL | 
|  | help | 
|  | Enable the mcux LPI2C driver. | 
|  |  | 
|  | config I2C_MCUX_LPI2C_BUS_RECOVERY | 
|  | bool "Bus recovery support" | 
|  | depends on I2C_MCUX_LPI2C && PINCTRL | 
|  | select I2C_BITBANG | 
|  | help | 
|  | Enable LPI2C driver bus recovery support via GPIO bitbanging. | 
|  |  | 
|  | config I2C_IMX | 
|  | bool "i.MX I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_FSL_IMX21_I2C_ENABLED | 
|  | help | 
|  | Enable the i.MX I2C driver. | 
|  |  | 
|  | config I2C_CC32XX | 
|  | bool "CC32XX I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_TI_CC32XX_I2C_ENABLED | 
|  | help | 
|  | Enable the CC32XX I2C driver. | 
|  |  | 
|  | config I2C_BITBANG | 
|  | bool | 
|  | help | 
|  | Enable library used for software driven (bit banging) I2C support | 
|  |  | 
|  | config I2C_NIOS2 | 
|  | bool "Nios-II I2C driver" | 
|  | default y | 
|  | depends on DT_HAS_ALTR_NIOS2_I2C_ENABLED | 
|  | help | 
|  | Enable the Nios-II I2C driver. | 
|  |  | 
|  | config I2C_RV32M1_LPI2C | 
|  | bool "RV32M1 LPI2C driver" | 
|  | default y | 
|  | depends on DT_HAS_OPENISA_RV32M1_LPI2C_ENABLED | 
|  | depends on CLOCK_CONTROL | 
|  | help | 
|  | Enable the RV32M1 LPI2C driver. | 
|  |  | 
|  | endif # I2C |