Browse Source

drivers: i2c: Support i2c23 and i2c24 instances

Extend I2C driver with possibility to use
- TWIM23, TWIM24,
- TWIS23, TWIS24.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
pull/92244/head
Sebastian Głąb 2 weeks ago committed by Benjamin Cabé
parent
commit
031040872e
  1. 4
      drivers/i2c/Kconfig.nrfx
  2. 8
      drivers/i2c/i2c_nrfx_twim.c
  3. 8
      drivers/i2c/i2c_nrfx_twim_rtio.c
  4. 8
      drivers/i2c/i2c_nrfx_twis.c
  5. 20
      modules/hal_nordic/nrfx/Kconfig
  6. 12
      modules/hal_nordic/nrfx/nrfx_kconfig.h
  7. 12
      soc/nordic/common/Kconfig.peripherals
  8. 2
      soc/nordic/validate_base_addresses.c

4
drivers/i2c/Kconfig.nrfx

@ -30,6 +30,8 @@ config I2C_NRFX_TWIM @@ -30,6 +30,8 @@ config I2C_NRFX_TWIM
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_TWIM23 if HAS_HW_NRF_TWIM23
select NRFX_TWIM24 if HAS_HW_NRF_TWIM24
select NRFX_TWIM30 if HAS_HW_NRF_TWIM30
select NRFX_TWIM120 if HAS_HW_NRF_TWIM120
select NRFX_TWIM130 if HAS_HW_NRF_TWIM130
@ -61,6 +63,8 @@ config I2C_NRFX_TWIS @@ -61,6 +63,8 @@ config I2C_NRFX_TWIS
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_TWIS23 if HAS_HW_NRF_TWIS23
select NRFX_TWIS24 if HAS_HW_NRF_TWIS24
select NRFX_TWIS30 if HAS_HW_NRF_TWIS30
select NRFX_TWIS130 if HAS_HW_NRF_TWIS130
select NRFX_TWIS131 if HAS_HW_NRF_TWIS131

8
drivers/i2c/i2c_nrfx_twim.c

@ -323,6 +323,14 @@ I2C_NRFX_TWIM_DEVICE(21); @@ -323,6 +323,14 @@ I2C_NRFX_TWIM_DEVICE(21);
I2C_NRFX_TWIM_DEVICE(22);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIM23
I2C_NRFX_TWIM_DEVICE(23);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIM24
I2C_NRFX_TWIM_DEVICE(24);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIM30
I2C_NRFX_TWIM_DEVICE(30);
#endif

8
drivers/i2c/i2c_nrfx_twim_rtio.c

@ -314,6 +314,14 @@ I2C_NRFX_TWIM_RTIO_DEVICE(21); @@ -314,6 +314,14 @@ I2C_NRFX_TWIM_RTIO_DEVICE(21);
I2C_NRFX_TWIM_RTIO_DEVICE(22);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIM23
I2C_NRFX_TWIM_RTIO_DEVICE(23);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIM24
I2C_NRFX_TWIM_RTIO_DEVICE(24);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIM30
I2C_NRFX_TWIM_RTIO_DEVICE(30);
#endif

8
drivers/i2c/i2c_nrfx_twis.c

@ -362,6 +362,14 @@ SHIM_NRF_TWIS_DEVICE_DEFINE(21); @@ -362,6 +362,14 @@ SHIM_NRF_TWIS_DEVICE_DEFINE(21);
SHIM_NRF_TWIS_DEVICE_DEFINE(22);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIS23
SHIM_NRF_TWIS_DEVICE_DEFINE(23);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIS24
SHIM_NRF_TWIS_DEVICE_DEFINE(24);
#endif
#ifdef CONFIG_HAS_HW_NRF_TWIS30
SHIM_NRF_TWIS_DEVICE_DEFINE(30);
#endif

20
modules/hal_nordic/nrfx/Kconfig

@ -921,6 +921,16 @@ config NRFX_TWIM22 @@ -921,6 +921,16 @@ config NRFX_TWIM22
depends on $(dt_nodelabel_exists,i2c22)
select NRFX_TWIM
config NRFX_TWIM23
bool "TWIM23 driver instance"
depends on $(dt_nodelabel_exists,i2c23)
select NRFX_TWIM
config NRFX_TWIM24
bool "TWIM24 driver instance"
depends on $(dt_nodelabel_exists,i2c24)
select NRFX_TWIM
config NRFX_TWIM30
bool "TWIM30 driver instance"
depends on $(dt_nodelabel_exists,i2c30)
@ -1009,6 +1019,16 @@ config NRFX_TWIS22 @@ -1009,6 +1019,16 @@ config NRFX_TWIS22
depends on $(dt_nodelabel_exists,i2c22)
select NRFX_TWIS
config NRFX_TWIS23
bool "TWIS23 driver instance"
depends on $(dt_nodelabel_exists,i2c23)
select NRFX_TWIS
config NRFX_TWIS24
bool "TWIS24 driver instance"
depends on $(dt_nodelabel_exists,i2c24)
select NRFX_TWIS
config NRFX_TWIS30
bool "TWIS30 driver instance"
depends on $(dt_nodelabel_exists,i2c30)

12
modules/hal_nordic/nrfx/nrfx_kconfig.h

@ -759,6 +759,12 @@ @@ -759,6 +759,12 @@
#ifdef CONFIG_NRFX_TWIM22
#define NRFX_TWIM22_ENABLED 1
#endif
#ifdef CONFIG_NRFX_TWIM23
#define NRFX_TWIM23_ENABLED 1
#endif
#ifdef CONFIG_NRFX_TWIM24
#define NRFX_TWIM24_ENABLED 1
#endif
#ifdef CONFIG_NRFX_TWIM30
#define NRFX_TWIM30_ENABLED 1
#endif
@ -823,6 +829,12 @@ @@ -823,6 +829,12 @@
#ifdef CONFIG_NRFX_TWIS22
#define NRFX_TWIS22_ENABLED 1
#endif
#ifdef CONFIG_NRFX_TWIS23
#define NRFX_TWIS23_ENABLED 1
#endif
#ifdef CONFIG_NRFX_TWIS24
#define NRFX_TWIS24_ENABLED 1
#endif
#ifdef CONFIG_NRFX_TWIS30
#define NRFX_TWIS30_ENABLED 1
#endif

12
soc/nordic/common/Kconfig.peripherals

@ -514,6 +514,12 @@ config HAS_HW_NRF_TWIM21 @@ -514,6 +514,12 @@ config HAS_HW_NRF_TWIM21
config HAS_HW_NRF_TWIM22
def_bool $(dt_nodelabel_enabled_with_compat,i2c22,$(DT_COMPAT_NORDIC_NRF_TWIM))
config HAS_HW_NRF_TWIM23
def_bool $(dt_nodelabel_enabled_with_compat,i2c23,$(DT_COMPAT_NORDIC_NRF_TWIM))
config HAS_HW_NRF_TWIM24
def_bool $(dt_nodelabel_enabled_with_compat,i2c24,$(DT_COMPAT_NORDIC_NRF_TWIM))
config HAS_HW_NRF_TWIM30
def_bool $(dt_nodelabel_enabled_with_compat,i2c30,$(DT_COMPAT_NORDIC_NRF_TWIM))
@ -565,6 +571,12 @@ config HAS_HW_NRF_TWIS21 @@ -565,6 +571,12 @@ config HAS_HW_NRF_TWIS21
config HAS_HW_NRF_TWIS22
def_bool $(dt_nodelabel_enabled_with_compat,i2c22,$(DT_COMPAT_NORDIC_NRF_TWIS))
config HAS_HW_NRF_TWIS23
def_bool $(dt_nodelabel_enabled_with_compat,i2c23,$(DT_COMPAT_NORDIC_NRF_TWIS))
config HAS_HW_NRF_TWIS24
def_bool $(dt_nodelabel_enabled_with_compat,i2c24,$(DT_COMPAT_NORDIC_NRF_TWIS))
config HAS_HW_NRF_TWIS30
def_bool $(dt_nodelabel_enabled_with_compat,i2c30,$(DT_COMPAT_NORDIC_NRF_TWIS))

2
soc/nordic/validate_base_addresses.c

@ -199,6 +199,8 @@ CHECK_DT_REG(i2c3, NRF_TWIM3); @@ -199,6 +199,8 @@ CHECK_DT_REG(i2c3, NRF_TWIM3);
CHECK_DT_REG(i2c20, NRF_TWIM20);
CHECK_DT_REG(i2c21, NRF_TWIM21);
CHECK_DT_REG(i2c22, NRF_TWIM22);
CHECK_DT_REG(i2c23, NRF_TWIM23);
CHECK_DT_REG(i2c24, NRF_TWIM24);
CHECK_DT_REG(i2c30, NRF_TWIM30);
CHECK_DT_REG(i2c130, NRF_TWIM130);
CHECK_DT_REG(i2c131, NRF_TWIM131);

Loading…
Cancel
Save