1# nrfx I2C support
2
3# Copyright (c) 2018, Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig I2C_NRFX
7	bool "nRF TWI nrfx drivers"
8	default y
9	depends on SOC_FAMILY_NRF
10	help
11	  Enable support for nrfx TWI drivers for nRF MCU series.
12
13if I2C_NRFX
14
15# Workaround for not being able to have commas in macro arguments
16DT_COMPAT_NORDIC_NRF_TWI  := nordic,nrf-twi
17DT_COMPAT_NORDIC_NRF_TWIM := nordic,nrf-twim
18
19config I2C_0_NRF_TWI
20	def_bool $(dt_nodelabel_has_compat,i2c0,$(DT_COMPAT_NORDIC_NRF_TWI))
21	select NRFX_TWI0
22	help
23	  Enable nRF TWI Master without EasyDMA on port 0.
24
25config I2C_0_NRF_TWIM
26	def_bool $(dt_nodelabel_has_compat,i2c0,$(DT_COMPAT_NORDIC_NRF_TWIM))
27	select NRFX_TWIM0
28	help
29	  Enable nRF TWI Master with EasyDMA on port 0.
30	  This peripheral accepts transfers from RAM only,
31	  if provided buffer is placed in flash, transfer will fail.
32
33config I2C_1_NRF_TWI
34	def_bool $(dt_nodelabel_has_compat,i2c1,$(DT_COMPAT_NORDIC_NRF_TWI))
35	select NRFX_TWI1
36	help
37	  Enable nRF TWI Master without EasyDMA on port 1.
38
39config I2C_1_NRF_TWIM
40	def_bool $(dt_nodelabel_has_compat,i2c1,$(DT_COMPAT_NORDIC_NRF_TWIM))
41	select NRFX_TWIM1
42	help
43	  Enable nRF TWI Master with EasyDMA on port 1.
44	  This peripheral accepts transfers from RAM only,
45	  if provided buffer is placed in flash, transfer will fail.
46
47config I2C_2_NRF_TWIM
48	def_bool $(dt_nodelabel_has_compat,i2c2,$(DT_COMPAT_NORDIC_NRF_TWIM))
49	select NRFX_TWIM2
50	help
51	  Enable nRF TWI Master with EasyDMA on port 2.
52	  This peripheral accepts transfers from RAM only,
53	  if provided buffer is placed in flash, transfer will fail.
54
55config I2C_3_NRF_TWIM
56	def_bool $(dt_nodelabel_has_compat,i2c3,$(DT_COMPAT_NORDIC_NRF_TWIM))
57	select NRFX_TWIM3
58	help
59	  Enable nRF TWI Master with EasyDMA on port 3.
60	  This peripheral accepts transfers from RAM only,
61	  if provided buffer is placed in flash, transfer will fail.
62
63endif # I2C_NRFX
64