276 lines
6.4 KiB
Plaintext
276 lines
6.4 KiB
Plaintext
# 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
|
|
|
|
config I2C_DW
|
|
bool "Design Ware I2C support"
|
|
depends on I2C
|
|
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 I2C && 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 I2C && 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 "Atmel SAM3 I2C Driver"
|
|
depends on I2C && SOC_ATMEL_SAM3
|
|
default n
|
|
help
|
|
Enable I2C support on the Atmel SAM3 family processor.
|
|
|
|
Says y to enable additional options to enable support
|
|
for individual controllers.
|
|
|
|
config I2C_MCUX
|
|
bool "MCUX I2C driver"
|
|
depends on I2C && HAS_MCUX
|
|
default n
|
|
help
|
|
Enable the mcux I2C driver.
|
|
|
|
config I2C_STM32LX
|
|
bool "STM32Lx MCU I2C Driver"
|
|
depends on I2C && SOC_FAMILY_STM32 && SOC_SERIES_STM32L4X
|
|
default n
|
|
help
|
|
Enable I2C support on the STM32Lxx family of processors.
|
|
|
|
config I2C_STM32LX_INTERRUPT
|
|
bool "STM32Lx MCU I2C Interrupt Support"
|
|
depends on I2C_STM32LX
|
|
default n
|
|
help
|
|
Enable Interrupt support for the I2C Driver of STM32Lxx family.
|
|
|
|
config I2C_INIT_PRIORITY
|
|
int
|
|
depends on I2C
|
|
default 60
|
|
prompt "Init priority"
|
|
help
|
|
I2C device driver initialization priority.
|
|
|
|
config I2C_CLOCK_SPEED
|
|
int "Set the clock speed for I2C"
|
|
default 32
|
|
depends on I2C
|
|
|
|
config SYS_LOG_I2C_LEVEL
|
|
int
|
|
prompt "I2C log level"
|
|
depends on I2C && SYS_LOG
|
|
default 0
|
|
help
|
|
Sets log level for I2C connections
|
|
|
|
Levels are:
|
|
|
|
- 0 OFF, do not write
|
|
|
|
- 1 ERROR, only write SYS_LOG_ERR
|
|
|
|
- 2 WARNING, write SYS_LOG_WRN in adition to previous level
|
|
|
|
- 3 INFO, write SYS_LOG_INF in adition to previous levels
|
|
|
|
- 4 DEBUG, write SYS_LOG_DBG in adition to previous levels
|
|
|
|
config I2C_SHARED_IRQ
|
|
bool
|
|
default n
|
|
depends on I2C
|
|
|
|
choice
|
|
prompt "I2C_0 Interrupts via"
|
|
default I2C_0_IRQ_DIRECT
|
|
depends on I2C_0
|
|
|
|
config I2C_0_IRQ_DIRECT
|
|
bool "Direct Hardware Interrupt"
|
|
help
|
|
When interrupts fire, the driver's ISR function is being called
|
|
directly.
|
|
|
|
config I2C_0_IRQ_SHARED
|
|
bool "Shared IRQ"
|
|
depends on SHARED_IRQ
|
|
select I2C_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_0_IRQ_SHARED_NAME
|
|
string "Device name for Shared IRQ"
|
|
depends on I2C_0 && I2C_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_0"
|
|
depends on I2C
|
|
default n
|
|
|
|
config I2C_0_NAME
|
|
string "Select a name for finding the device"
|
|
depends on I2C_0
|
|
default "I2C_0"
|
|
|
|
config I2C_0_DEFAULT_CFG
|
|
hex "I2C default configuration"
|
|
depends on I2C_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_0_IRQ_PRI
|
|
int "Controller interrupt priority"
|
|
depends on I2C_0 && I2C_0_IRQ_DIRECT
|
|
help
|
|
IRQ priority.
|
|
|
|
config I2C_1
|
|
bool "Enable I2C Port 1"
|
|
depends on I2C
|
|
default n
|
|
|
|
config I2C_1_NAME
|
|
string "Select a name for finding the device"
|
|
default "I2C_1"
|
|
depends on I2C_1
|
|
|
|
config I2C_1_DEFAULT_CFG
|
|
hex "I2C default configuration"
|
|
depends on I2C_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_1_IRQ_PRI
|
|
int "Controller interrupt priority"
|
|
depends on I2C_1 && I2C_0_IRQ_DIRECT
|
|
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.
|