Add nrf twis (I2C controller supporting I2C peripheral role and EasyDMA) support, including updating the existing twis dt binding to match the hardware with proper examples. Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
82 lines
2.3 KiB
Plaintext
82 lines
2.3 KiB
Plaintext
# nrfx I2C support
|
|
|
|
# Copyright (c) 2018, Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig I2C_NRFX
|
|
bool "nRF TWI nrfx drivers"
|
|
default y
|
|
depends on SOC_FAMILY_NORDIC_NRF
|
|
depends on MULTITHREADING
|
|
select PINCTRL
|
|
help
|
|
Enable support for nrfx TWI drivers for nRF MCU series.
|
|
|
|
if I2C_NRFX
|
|
|
|
config I2C_NRFX_TWI
|
|
def_bool y
|
|
depends on DT_HAS_NORDIC_NRF_TWI_ENABLED
|
|
select NRFX_TWI0 if HAS_HW_NRF_TWI0
|
|
select NRFX_TWI1 if HAS_HW_NRF_TWI1
|
|
|
|
config I2C_NRFX_TWIM
|
|
def_bool y
|
|
depends on DT_HAS_NORDIC_NRF_TWIM_ENABLED
|
|
select NRFX_TWIM0 if HAS_HW_NRF_TWIM0
|
|
select NRFX_TWIM1 if HAS_HW_NRF_TWIM1
|
|
select NRFX_TWIM2 if HAS_HW_NRF_TWIM2
|
|
select NRFX_TWIM3 if HAS_HW_NRF_TWIM3
|
|
select NRFX_TWIM20 if HAS_HW_NRF_TWIM20
|
|
select NRFX_TWIM21 if HAS_HW_NRF_TWIM21
|
|
select NRFX_TWIM22 if HAS_HW_NRF_TWIM22
|
|
select NRFX_TWIM30 if HAS_HW_NRF_TWIM30
|
|
select NRFX_TWIM120 if HAS_HW_NRF_TWIM120
|
|
select NRFX_TWIM130 if HAS_HW_NRF_TWIM130
|
|
select NRFX_TWIM131 if HAS_HW_NRF_TWIM131
|
|
select NRFX_TWIM132 if HAS_HW_NRF_TWIM132
|
|
select NRFX_TWIM133 if HAS_HW_NRF_TWIM133
|
|
select NRFX_TWIM134 if HAS_HW_NRF_TWIM134
|
|
select NRFX_TWIM135 if HAS_HW_NRF_TWIM135
|
|
select NRFX_TWIM136 if HAS_HW_NRF_TWIM136
|
|
select NRFX_TWIM137 if HAS_HW_NRF_TWIM137
|
|
|
|
config I2C_NRFX_TRANSFER_TIMEOUT
|
|
int "Transfer timeout [ms]"
|
|
default 500
|
|
help
|
|
Timeout in milliseconds used for each I2C transfer.
|
|
0 means that the driver should use the K_FOREVER value,
|
|
i.e. it should wait as long as necessary.
|
|
|
|
config I2C_NRFX_TWIS
|
|
def_bool y
|
|
depends on DT_HAS_NORDIC_NRF_TWIS_ENABLED
|
|
depends on I2C_TARGET
|
|
depends on I2C_TARGET_BUFFER_MODE
|
|
select NRFX_TWIS0 if HAS_HW_NRF_TWIS0
|
|
select NRFX_TWIS1 if HAS_HW_NRF_TWIS1
|
|
select NRFX_TWIS2 if HAS_HW_NRF_TWIS2
|
|
select NRFX_TWIS3 if HAS_HW_NRF_TWIS3
|
|
select NRFX_TWIS20 if HAS_HW_NRF_TWIS20
|
|
select NRFX_TWIS21 if HAS_HW_NRF_TWIS21
|
|
select NRFX_TWIS22 if HAS_HW_NRF_TWIS22
|
|
select NRFX_TWIS30 if HAS_HW_NRF_TWIS30
|
|
select NRFX_TWIS130 if HAS_HW_NRF_TWIS130
|
|
select NRFX_TWIS131 if HAS_HW_NRF_TWIS131
|
|
select NRFX_TWIS133 if HAS_HW_NRF_TWIS133
|
|
select NRFX_TWIS134 if HAS_HW_NRF_TWIS134
|
|
select NRFX_TWIS135 if HAS_HW_NRF_TWIS135
|
|
select NRFX_TWIS136 if HAS_HW_NRF_TWIS136
|
|
select NRFX_TWIS137 if HAS_HW_NRF_TWIS137
|
|
|
|
if I2C_NRFX_TWIS
|
|
|
|
config I2C_NRFX_TWIS_BUF_SIZE
|
|
int "DMA buffer size in bytes"
|
|
default 64
|
|
|
|
endif # I2C_NRFX_TWIS
|
|
|
|
endif # I2C_NRFX
|