base on DesignWare I2C driver to implement RTS5912 I2C driver. 1. support customize bus recovery function. 2. fix isr timing issue by enable tx empty control. 3. support stuck at low handle by enable bus clear feature. 4. support custom stuck at low timeout set from dts 5. disable block mode in rts5912 i2c. 6. support I2C_ALLOW_NO_STOP_TRANSACTIONS Signed-off-by: Titan Chen <titan.chen@realtek.com>
37 lines
1.1 KiB
Text
37 lines
1.1 KiB
Text
# Copyright (c) 2018 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig I2C_DW
|
|
bool "Design Ware I2C support"
|
|
default y
|
|
depends on DT_HAS_SNPS_DESIGNWARE_I2C_ENABLED
|
|
select PINCTRL if $(dt_compat_any_has_prop,$(DT_COMPAT_SNPS_DESIGNWARE_I2C),pinctrl-0)
|
|
help
|
|
Enable the Design Ware I2C driver
|
|
|
|
config I2C_DW_CLOCK_SPEED
|
|
int "Set the clock speed for I2C"
|
|
depends on I2C_DW
|
|
default 110 if I2C_RTS5912
|
|
default 32
|
|
|
|
config I2C_DW_LPSS_DMA
|
|
bool "Use I2C integrated DMA for asynchronous transfer"
|
|
depends on (I2C_DW && !I2C_RTS5912)
|
|
select DMA
|
|
select DMA_INTEL_LPSS
|
|
help
|
|
This option enables I2C DMA feature to be used for asynchronous
|
|
data transfers. All Tx operations are done using dma channel 0 and
|
|
all Rx operations are done using dma channel 1.
|
|
|
|
config I2C_DW_RW_TIMEOUT_MS
|
|
int "Set the Read/Write timeout in milliseconds"
|
|
depends on I2C_DW
|
|
default 100
|
|
|
|
config I2C_DW_EXTENDED_SUPPORT
|
|
bool "Extended DW features"
|
|
help
|
|
This option enables support for the SCL/SDA timeout registers and some
|
|
additional features of the DW I2C controller.
|