Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - 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

# Include these first so that any properties (e.g. defaults) below can be
# overridden (by defining symbols in multiple locations)
source "drivers/i2c/Kconfig.cc13xx_cc26xx"
source "drivers/i2c/Kconfig.dw"
source "drivers/i2c/Kconfig.esp32"
source "drivers/i2c/slave/Kconfig"
source "drivers/i2c/Kconfig.gpio"
source "drivers/i2c/Kconfig.xec"
source "drivers/i2c/Kconfig.nrfx"
source "drivers/i2c/Kconfig.qmsi"
source "drivers/i2c/Kconfig.sbcon"
source "drivers/i2c/Kconfig.sifive"
source "drivers/i2c/Kconfig.stm32"
source "drivers/i2c/Kconfig.sam0"


config I2C_INIT_PRIORITY
	int "Init priority"
	default 60
	help
	  I2C device driver initialization priority.


module = I2C
module-str = i2c
source "subsys/logging/Kconfig.template.log_config"

config I2C_0
	bool "Enable I2C Port 0"

config I2C_0_NAME
	string "Port 0 device name"
	depends on I2C_0 && !HAS_DTS_I2C
	default "I2C_0"

config I2C_0_DEFAULT_CFG
	hex "Port 0 default configuration"
	depends on I2C_0 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_0_IRQ_PRI
	int "Port 0 interrupt priority"
	depends on I2C_0 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_1
	bool "Enable I2C Port 1"

config I2C_1_NAME
	string "Port 1 device name"
	default "I2C_1"
	depends on I2C_1 && !HAS_DTS_I2C

config I2C_1_DEFAULT_CFG
	hex "Port 1 default configuration"
	depends on I2C_1 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_1_IRQ_PRI
	int "Port 1 interrupt priority"
	depends on I2C_1 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_2
	bool "Enable I2C Port 2"

config I2C_2_NAME
	string "Port 2 device name"
	default "I2C_2"
	depends on I2C_2 && !HAS_DTS_I2C

config I2C_2_DEFAULT_CFG
	hex "Port 2 default configuration"
	depends on I2C_2 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_2_IRQ_PRI
	int "Port 2 interrupt priority"
	depends on I2C_2 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_3
	bool "Enable I2C Port 3"

config I2C_3_NAME
	string "Port 3 device name"
	depends on I2C_3 && !HAS_DTS_I2C
	default "I2C_3"

config I2C_3_DEFAULT_CFG
	hex "Port 3 default configuration"
	depends on I2C_3 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_3_IRQ_PRI
	int "Port 3 interrupt priority"
	depends on I2C_3 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_4
	bool "Enable I2C Port 4"

config I2C_4_NAME
	string "Port 4 device name"
	depends on I2C_4 && !HAS_DTS_I2C
	default "I2C_4"

config I2C_4_DEFAULT_CFG
	hex "Port 4 default configuration"
	depends on I2C_4 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_4_IRQ_PRI
	int "Port 4 interrupt priority"
	depends on I2C_4 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_5
	bool "Enable I2C Port 5"

config I2C_5_NAME
	string "Port 5 device name"
	depends on I2C_5 && !HAS_DTS_I2C
	default "I2C_5"

config I2C_5_DEFAULT_CFG
	hex "Port 5 default configuration"
	depends on I2C_5 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_5_IRQ_PRI
	int "Port 5 interrupt priority"
	depends on I2C_5 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_6
	bool "Enable I2C Port 6"

config I2C_6_NAME
	string "Port 6 device name"
	depends on I2C_6 && !HAS_DTS_I2C
	default "I2C_6"

config I2C_6_DEFAULT_CFG
	hex "Port 6 default configuration"
	depends on I2C_6 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_6_IRQ_PRI
	int "Port 6 interrupt priority"
	depends on I2C_6 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_7
	bool "Enable I2C Port 7"

config I2C_7_NAME
	string "Port 7 device name"
	depends on I2C_7 && !HAS_DTS_I2C
	default "I2C_7"

config I2C_7_DEFAULT_CFG
	hex "Port 7 default configuration"
	depends on I2C_7 && !HAS_DTS_I2C
	default 0x0
	help
	  Allows the I2C port to be brought up with a default configuration.
	  This is useful to set if other drivers depend upon using the I2C bus
	  before the application has a chance to custom configure the port.
	  Setting this value does not prohibit the application from customizing
	  the values later.  Refer to include/i2c.h file for proper values.

config I2C_7_IRQ_PRI
	int "Port 7 interrupt priority"
	depends on I2C_7 && !HAS_DTS_I2C
	help
	  IRQ priority.

config I2C_GECKO
	bool "Gecko I2C driver"
	depends on HAS_SILABS_GECKO
	select SOC_GECKO_I2C
	help
	  Enable the SiLabs Gecko I2C bus driver.

config I2C_SAM_TWIHS
	bool "Atmel SAM (TWIHS) I2C driver"
	depends on SOC_FAMILY_SAM
	select HAS_DTS_I2C
	help
	  Enable Atmel SAM MCU Family (TWIHS) I2C bus driver.

config I2C_SAM_TWI
	bool "Atmel SAM (TWI) I2C driver"
	depends on SOC_FAMILY_SAM
	select HAS_DTS_I2C
	help
	  Enable Atmel SAM MCU Family (TWI) I2C bus driver.

config I2C_MCUX
	bool "MCUX I2C driver"
	depends on HAS_MCUX
	select HAS_DTS_I2C
	help
	  Enable the mcux I2C driver.

config I2C_MCUX_LPI2C
	bool "MCUX LPI2C driver"
	depends on HAS_MCUX_LPI2C && CLOCK_CONTROL
	select HAS_DTS_I2C
	help
	  Enable the mcux LPI2C driver.

config I2C_IMX
	bool "i.MX I2C driver"
	depends on HAS_IMX_I2C
	select HAS_DTS_I2C
	help
	  Enable the i.MX I2C driver.

config I2C_CC32XX
	bool "CC32XX I2C driver"
	depends on SOC_SERIES_CC32XX
	select HAS_DTS_I2C
	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"
	depends on HAS_ALTERA_HAL
	select HAS_DTS_I2C
	help
	  Enable the Nios-II I2C driver.

config I2C_RV32M1_LPI2C
	bool "RV32M1 LPI2C driver"
	depends on HAS_RV32M1_LPI2C && CLOCK_CONTROL
	select HAS_DTS_I2C
	help
	  Enable the RV32M1 LPI2C driver.

endif # I2C