| # Kconfig - I2C configuration options |
| |
| # |
| # Copyright (c) 2015 Intel Corporation |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| # |
| # I2C options |
| # |
| menuconfig I2C |
| bool |
| prompt "I2C Drivers" |
| default n |
| help |
| Enable I2C Driver Configuration |
| |
| if I2C |
| |
| config I2C_DW |
| bool "Design Ware I2C support" |
| default n |
| help |
| Enable Design Ware I2C support on the selected board |
| |
| config I2C_QMSI_SS |
| bool "QMSI I2C driver for the Sensor Subsystem" |
| depends on QMSI |
| default n |
| help |
| This option enable the Sensor QMSI I2C driver. |
| |
| This driver is simply a shim driver based on the I2C driver |
| provided by the QMSI BSP. |
| |
| config I2C_QMSI |
| bool "QMSI I2C driver" |
| depends on QMSI |
| default n |
| help |
| This option enable the QMSI I2C driver. |
| |
| This driver is simply a shim driver based on the I2C driver |
| provided by the QMSI BSP. |
| |
| config I2C_ATMEL_SAM3 |
| bool "[deprecated] Atmel SAM3X I2C Driver" |
| depends on SOC_SERIES_SAM3X |
| default n |
| help |
| This driver is deprecated and will be removed. Use |
| "Atmel SAM (TWI) I2C driver" instead. |
| |
| Enable I2C support on the Atmel SAM3 family processor. |
| Says y to enable additional options to enable support |
| for individual controllers. |
| |
| config I2C_SAM_TWIHS |
| bool "Atmel SAM (TWIHS) I2C driver" |
| depends on SOC_FAMILY_SAM |
| select HAS_DTS_I2C |
| default n |
| 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 |
| default n |
| 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 |
| default n |
| help |
| Enable the mcux I2C driver. |
| |
| config I2C_NRF5 |
| bool "NRF5 I2C driver" |
| depends on SOC_FAMILY_NRF5 |
| select GPIO |
| default n |
| help |
| This option enables the I2C driver for Nordic Semiconductor nRF5 |
| family processors. |
| |
| config I2C_NRF5_GPIO_SCA_PIN |
| int "SCA Pin Number" |
| range 0 31 |
| depends on I2C_NRF5 |
| help |
| The GPIO pin to use for SCA. |
| |
| config I2C_NRF5_GPIO_SCL_PIN |
| int "SCL Pin Number" |
| range 0 31 |
| depends on I2C_NRF5 |
| help |
| The GPIO pin to use for SCL. |
| |
| config I2C_STM32_V1 |
| bool "STM32 V1 Driver (F1/F4X)" |
| depends on SOC_FAMILY_STM32 |
| depends on SOC_SERIES_STM32F1X || SOC_SERIES_STM32F4X |
| select HAS_DTS_I2C |
| default n |
| help |
| Enable I2C support on the STM32 F1 and F4X family of processors. This |
| driver also supports the F2 and L1 series. |
| |
| config I2C_STM32_V2 |
| bool "STM32 V2 Driver (F0/F3/L4X)" |
| depends on SOC_FAMILY_STM32 |
| depends on SOC_SERIES_STM32F0X || SOC_SERIES_STM32F3X || SOC_SERIES_STM32L4X |
| select HAS_DTS_I2C |
| default n |
| help |
| Enable I2C support on the STM32 F0, F3 and L4X family of processors. |
| This driver also supports the F7 and L0 series. |
| |
| config I2C_STM32_INTERRUPT |
| bool "STM32 MCU I2C Interrupt Support" |
| depends on I2C_STM32_V1 || I2C_STM32_V2 |
| default n |
| help |
| Enable Interrupt support for the I2C Driver |
| |
| config I2C_STM32_COMBINED_INTERRUPT |
| bool |
| depends on I2C_STM32_INTERRUPT |
| default y if SOC_SERIES_STM32F0X |
| |
| config I2C_BITBANG |
| bool |
| default n |
| help |
| Enable library used for software driven (bit banging) I2C support |
| |
| source "drivers/i2c/Kconfig.sbcon" |
| |
| source "drivers/i2c/Kconfig.gpio" |
| |
| config I2C_INIT_PRIORITY |
| int |
| default 60 |
| prompt "Init priority" |
| help |
| I2C device driver initialization priority. |
| |
| config I2C_DW_CLOCK_SPEED |
| int "Set the clock speed for I2C" |
| default 32 |
| depends on I2C_DW |
| |
| config SYS_LOG_I2C_LEVEL |
| int |
| prompt "I2C log level" |
| depends on SYS_LOG |
| default 0 |
| help |
| Sets log level for I2C drivers. |
| Levels are: |
| - 0 OFF, do not write |
| - 1 ERROR, only write SYS_LOG_ERR |
| - 2 WARNING, write SYS_LOG_WRN in addition to previous level |
| - 3 INFO, write SYS_LOG_INF in addition to previous levels |
| - 4 DEBUG, write SYS_LOG_DBG in addition to previous levels |
| |
| config I2C_DW_SHARED_IRQ |
| bool |
| default n |
| depends on I2C_DW |
| |
| choice |
| prompt "I2C_0 Interrupts via" |
| default I2C_DW_0_IRQ_DIRECT |
| depends on I2C_0 && I2C_DW |
| |
| config I2C_DW_0_IRQ_DIRECT |
| bool "Direct Hardware Interrupt" |
| help |
| When interrupts fire, the driver's ISR function is being called |
| directly. |
| |
| config I2C_DW_0_IRQ_SHARED |
| bool "Shared IRQ" |
| depends on SHARED_IRQ |
| select I2C_DW_SHARED_IRQ |
| help |
| When interrupts fire, the shared IRQ driver is notified. |
| Then the shared IRQ driver dispatches the interrupt to other drivers. |
| |
| endchoice |
| |
| config I2C_DW_0_IRQ_SHARED_NAME |
| string "Device name for Shared IRQ" |
| depends on I2C_0 && I2C_DW_0_IRQ_SHARED |
| help |
| Specify the device name for the shared IRQ driver. It is used |
| to register this driver with the shared IRQ driver, so interrupts |
| can be dispatched correctly. |
| |
| config I2C_0 |
| bool "Enable I2C Port 0" |
| default n |
| |
| 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" |
| default n |
| |
| 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" |
| default n |
| |
| 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" |
| default n |
| |
| 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_SS_0 |
| bool "Enable I2C_SS_0" |
| depends on I2C_QMSI_SS |
| default n |
| |
| config I2C_SS_0_NAME |
| string "Select a name for finding the device" |
| depends on I2C_SS_0 |
| default "I2C_SS_0" |
| |
| config I2C_SS_0_DEFAULT_CFG |
| hex "I2C default configuration" |
| depends on I2C_SS_0 |
| 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 the I2C datasheet for proper values. |
| |
| config I2C_SS_1 |
| bool "Enable I2C SS Port 1" |
| depends on I2C_QMSI_SS |
| default n |
| |
| config I2C_SS_1_NAME |
| string "Select a name for finding the device" |
| default "I2C_SS_1" |
| depends on I2C_SS_1 |
| |
| config I2C_SS_1_DEFAULT_CFG |
| hex "I2C SS default configuration" |
| depends on I2C_SS_1 |
| 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 the I2C datasheet for proper values. |
| |
| config I2C_SS_SDA_HOLD |
| int |
| depends on I2C_QMSI_SS |
| help |
| The hold time on the data signal after a negative edge of i2c clock. |
| The unit is i2c module base clock. |
| |
| config I2C_SS_SDA_SETUP |
| int |
| depends on I2C_QMSI_SS |
| help |
| The delay time of clock rising edge relative to i2c data signal |
| change. The unit is i2c module base clock. |
| |
| config I2C_SDA_SETUP |
| int |
| depends on I2C_QMSI |
| help |
| The delay time of clock rising edge relative to i2c data signal |
| change. The unit is i2c module base clock. |
| |
| config I2C_SDA_TX_HOLD |
| int |
| depends on I2C_QMSI |
| help |
| The hold time on the data signal after a negative edge of i2c clock |
| while i2c acts as transmitter. The unit is i2c module base clock. |
| |
| config I2C_SDA_RX_HOLD |
| int |
| depends on I2C_QMSI |
| help |
| The hold time on the data signal after a negative edge of i2c clock |
| while i2c acts as receiver. The unit is i2c module base clock. |
| |
| source "drivers/i2c/Kconfig.esp32" |
| |
| endif # I2C |