# 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_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

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.

endif # I2C_NRFX
