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_NORDIC_NRF
10	depends on MULTITHREADING
11	select PINCTRL
12	help
13	  Enable support for nrfx TWI drivers for nRF MCU series.
14
15if I2C_NRFX
16
17config I2C_NRFX_TWI
18	def_bool y
19	depends on DT_HAS_NORDIC_NRF_TWI_ENABLED
20	select NRFX_TWI0 if HAS_HW_NRF_TWI0
21	select NRFX_TWI1 if HAS_HW_NRF_TWI1
22
23config I2C_NRFX_TWIM
24	def_bool y
25	depends on DT_HAS_NORDIC_NRF_TWIM_ENABLED
26	select NRFX_TWIM0 if HAS_HW_NRF_TWIM0
27	select NRFX_TWIM1 if HAS_HW_NRF_TWIM1
28	select NRFX_TWIM2 if HAS_HW_NRF_TWIM2
29	select NRFX_TWIM3 if HAS_HW_NRF_TWIM3
30	select NRFX_TWIM20 if HAS_HW_NRF_TWIM20
31	select NRFX_TWIM21 if HAS_HW_NRF_TWIM21
32	select NRFX_TWIM22 if HAS_HW_NRF_TWIM22
33	select NRFX_TWIM30 if HAS_HW_NRF_TWIM30
34	select NRFX_TWIM120 if HAS_HW_NRF_TWIM120
35	select NRFX_TWIM130 if HAS_HW_NRF_TWIM130
36	select NRFX_TWIM131 if HAS_HW_NRF_TWIM131
37	select NRFX_TWIM132 if HAS_HW_NRF_TWIM132
38	select NRFX_TWIM133 if HAS_HW_NRF_TWIM133
39	select NRFX_TWIM134 if HAS_HW_NRF_TWIM134
40	select NRFX_TWIM135 if HAS_HW_NRF_TWIM135
41	select NRFX_TWIM136 if HAS_HW_NRF_TWIM136
42	select NRFX_TWIM137 if HAS_HW_NRF_TWIM137
43
44config I2C_NRFX_TRANSFER_TIMEOUT
45	int "Transfer timeout [ms]"
46	default 500
47	help
48	  Timeout in milliseconds used for each I2C transfer.
49	  0 means that the driver should use the K_FOREVER value,
50	  i.e. it should wait as long as necessary.
51
52config I2C_NRFX_TWIS
53	def_bool y
54	depends on DT_HAS_NORDIC_NRF_TWIS_ENABLED
55	depends on I2C_TARGET
56	depends on I2C_TARGET_BUFFER_MODE
57	select NRFX_TWIS0 if HAS_HW_NRF_TWIS0
58	select NRFX_TWIS1 if HAS_HW_NRF_TWIS1
59	select NRFX_TWIS2 if HAS_HW_NRF_TWIS2
60	select NRFX_TWIS3 if HAS_HW_NRF_TWIS3
61	select NRFX_TWIS20 if HAS_HW_NRF_TWIS20
62	select NRFX_TWIS21 if HAS_HW_NRF_TWIS21
63	select NRFX_TWIS22 if HAS_HW_NRF_TWIS22
64	select NRFX_TWIS30 if HAS_HW_NRF_TWIS30
65	select NRFX_TWIS130 if HAS_HW_NRF_TWIS130
66	select NRFX_TWIS131 if HAS_HW_NRF_TWIS131
67	select NRFX_TWIS133 if HAS_HW_NRF_TWIS133
68	select NRFX_TWIS134 if HAS_HW_NRF_TWIS134
69	select NRFX_TWIS135 if HAS_HW_NRF_TWIS135
70	select NRFX_TWIS136 if HAS_HW_NRF_TWIS136
71	select NRFX_TWIS137 if HAS_HW_NRF_TWIS137
72
73if I2C_NRFX_TWIS
74
75config I2C_NRFX_TWIS_BUF_SIZE
76	int "DMA buffer size in bytes"
77	default 64
78
79endif # I2C_NRFX_TWIS
80
81endif # I2C_NRFX
82