| # Copyright (c) 2020 ITE Corporation. All Rights Reserved. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config I2C_ITE_IT8XXX2 |
| bool "ITE IT8XXX2 I2C driver" |
| default y |
| depends on DT_HAS_ITE_IT8XXX2_I2C_ENABLED |
| select PINCTRL |
| help |
| Enable I2C support on it8xxx2_evb. |
| Supported Speeds: 100kHz, 400kHz and 1MHz. |
| This driver supports repeated start. |
| |
| if I2C_ITE_IT8XXX2 |
| |
| config I2C_IT8XXX2_FIFO_MODE |
| bool "IT8XXX2 I2C FIFO mode" |
| default y |
| help |
| This is an option to enable FIFO mode which can reduce |
| the time between each byte to improve the I2C bus clock |
| stretching during I2C transaction. |
| The I2C controller supports two 32-bytes FIFOs, |
| FIFO1 supports channel A. FIFO2 supports channel B. |
| I2C FIFO mode of it8xxx2 can support I2C APIs including: |
| i2c_write(), i2c_read(), i2c_burst_read. |
| |
| endif # I2C_ITE_IT8XXX2 |
| |
| config I2C_ITE_ENHANCE |
| bool "ITE IT8XXX2 I2C enhance driver" |
| default y |
| depends on DT_HAS_ITE_ENHANCE_I2C_ENABLED |
| select PINCTRL |
| help |
| This option can enable the enhance I2C |
| of IT8XXX2 and support three channels. |
| |
| if I2C_ITE_ENHANCE |
| |
| config I2C_IT8XXX2_CQ_MODE |
| bool "IT8XXX2 I2C command queue mode" |
| default y |
| select SOC_IT8XXX2_CPU_IDLE_GATING |
| help |
| This is an option to enable command queue mode which can |
| reduce the time between each byte to improve the I2C bus |
| clock stretching during I2C transaction. |
| I2C command queue mode of it8xxx2 can support I2C APIs |
| including: i2c_write(), i2c_read(), i2c_burst_read. |
| |
| config I2C_CQ_MODE_MAX_PAYLOAD_SIZE |
| int "It is allowed to configure the size up to 2K bytes." |
| range 32 2048 |
| default 64 |
| help |
| This is the command queue mode payload size which size |
| up to 2k bytes. |
| |
| endif # I2C_ITE_ENHANCE |
| |
| if I2C_TARGET |
| |
| config I2C_TARGET_IT8XXX2_MAX_BUF_SIZE |
| int "It is allowed to configure the size up to 2044 bytes." |
| range 4 2044 |
| default 256 |
| |
| config I2C_TARGET_BUFFER_MODE |
| default y |
| |
| endif # I2C_TARGET |