Skip to content

Commit c466353

Browse files
committed
mpsl: fem: Adapt to use GPPI API
Use GPPI API instead of nrfx_ppi or nrfx_dppi. Signed-off-by: Krzysztof Chruściński <[email protected]>
1 parent 48d8e21 commit c466353

File tree

4 files changed

+15
-60
lines changed

4 files changed

+15
-60
lines changed

subsys/mpsl/fem/Kconfig

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,7 @@ config MPSL_FEM_NRF21540_GPIO
8080
select NRFX_GPIOTE
8181
select GPIO if ($(dt_nodelabel_has_prop,nrf_radio_fem,mode-gpios) || \
8282
$(dt_nodelabel_has_prop,nrf_radio_fem,ant-sel-gpios))
83-
select NRFX_PPI if HAS_HW_NRF_PPI
84-
select NRFX_DPPI if HAS_HW_NRF_DPPIC
85-
select NRFX_GPPI if SOC_SERIES_NRF54LX
86-
select NRFX_DPPI10 if SOC_SERIES_NRF54LX
87-
select NRFX_DPPI20 if SOC_SERIES_NRF54LX
88-
select NRFX_PPIB11 if SOC_SERIES_NRF54LX
89-
select NRFX_PPIB21 if SOC_SERIES_NRF54LX
83+
select NRFX_GPPI
9084
select MPSL_FEM_NCS_SUPPORTED_FEM_USED
9185
bool "nRF21540 front-end module in GPIO mode"
9286
help
@@ -97,13 +91,7 @@ config MPSL_FEM_NRF21540_GPIO_SPI
9791
select NRFX_GPIOTE
9892
select GPIO if ($(dt_nodelabel_has_prop,nrf_radio_fem,mode-gpios) || \
9993
$(dt_nodelabel_has_prop,nrf_radio_fem,ant-sel-gpios))
100-
select NRFX_PPI if HAS_HW_NRF_PPI
101-
select NRFX_DPPI if HAS_HW_NRF_DPPIC
102-
select NRFX_GPPI if SOC_SERIES_NRF54LX
103-
select NRFX_DPPI10 if SOC_SERIES_NRF54LX
104-
select NRFX_DPPI20 if SOC_SERIES_NRF54LX
105-
select NRFX_PPIB11 if SOC_SERIES_NRF54LX
106-
select NRFX_PPIB21 if SOC_SERIES_NRF54LX
94+
select NRFX_GPPI
10795
select PINCTRL
10896
select MPSL_FEM_NCS_SUPPORTED_FEM_USED
10997
imply MPSL_FEM_POWER_MODEL if MPSL_FEM # Don't force the model, but make it a default
@@ -114,8 +102,7 @@ config MPSL_FEM_NRF21540_GPIO_SPI
114102
config MPSL_FEM_SIMPLE_GPIO
115103
depends on MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT
116104
select NRFX_GPIOTE
117-
select NRFX_PPI if HAS_HW_NRF_PPI
118-
select NRFX_DPPI if HAS_HW_NRF_DPPIC
105+
select NRFX_GPPI
119106
select MPSL_FEM_NCS_SUPPORTED_FEM_USED
120107
bool "Generic front-end module with two-pin control"
121108
help
@@ -127,13 +114,7 @@ config MPSL_FEM_SIMPLE_GPIO
127114
config MPSL_FEM_NRF2220
128115
depends on MPSL_FEM_NRF2220_SUPPORT
129116
select NRFX_GPIOTE
130-
select NRFX_PPI if SOC_SERIES_NRF52X
131-
select NRFX_DPPI0 if SOC_SERIES_NRF53X
132-
select NRFX_GPPI if SOC_SERIES_NRF54LX
133-
select NRFX_DPPI10 if SOC_SERIES_NRF54LX
134-
select NRFX_DPPI20 if SOC_SERIES_NRF54LX
135-
select NRFX_PPIB11 if SOC_SERIES_NRF54LX
136-
select NRFX_PPIB21 if SOC_SERIES_NRF54LX
117+
select NRFX_GPPI
137118
select PINCTRL
138119
select MPSL_FEM_NCS_SUPPORTED_FEM_USED
139120
bool "nRF2220 front-end module"
@@ -144,13 +125,7 @@ config MPSL_FEM_NRF2240
144125
depends on MPSL_FEM_NRF2240_SUPPORT
145126
select EXPERIMENTAL
146127
select NRFX_GPIOTE
147-
select NRFX_PPI if SOC_SERIES_NRF52X
148-
select NRFX_DPPI0 if SOC_SERIES_NRF53X
149-
select NRFX_GPPI if SOC_SERIES_NRF54LX
150-
select NRFX_DPPI10 if SOC_SERIES_NRF54LX
151-
select NRFX_DPPI20 if SOC_SERIES_NRF54LX
152-
select NRFX_PPIB11 if SOC_SERIES_NRF54LX
153-
select NRFX_PPIB21 if SOC_SERIES_NRF54LX
128+
select NRFX_GPPI
154129
select PINCTRL
155130
select MPSL_FEM_NCS_SUPPORTED_FEM_USED
156131
bool "nRF2240 front-end module"

subsys/mpsl/fem/common/mpsl_fem_utils.c

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,25 @@
66

77
#include <mpsl_fem_utils.h>
88
#include <hal/nrf_gpio.h>
9-
#if IS_ENABLED(CONFIG_HAS_HW_NRF_PPI)
10-
#include <nrfx_ppi.h>
11-
#elif IS_ENABLED(CONFIG_HAS_HW_NRF_DPPIC)
12-
#include <nrfx_dppi.h>
13-
#endif
9+
#include <helpers/nrfx_gppi.h>
1410

1511
int mpsl_fem_utils_ppi_channel_alloc(uint8_t *ppi_channels, size_t size)
1612
{
17-
nrfx_err_t err = NRFX_ERROR_NOT_SUPPORTED;
18-
#ifdef DPPI_PRESENT
19-
#if defined(NRF53_SERIES)
20-
nrfx_dppi_t dppi = NRFX_DPPI_INSTANCE(0);
21-
#elif defined(NRF54L_SERIES)
22-
nrfx_dppi_t dppi = NRFX_DPPI_INSTANCE(10);
13+
int ch;
14+
#if defined(NRF54L_SERIES)
15+
uint32_t domain_id = nrfx_gppi_domain_id_get(NRF_DPPIC10);
16+
#elif defined(NRF53_SERIES) || defined(PPI_PRESENT)
17+
uint32_t domain_id = 0;
2318
#else
2419
#error Unsupported SoC series
25-
#endif
2620
#endif
2721

2822
for (int i = 0; i < size; i++) {
29-
IF_ENABLED(CONFIG_HAS_HW_NRF_PPI,
30-
(err = nrfx_ppi_channel_alloc(&ppi_channels[i]);));
31-
IF_ENABLED(CONFIG_HAS_HW_NRF_DPPIC,
32-
(err = nrfx_dppi_channel_alloc(&dppi, &ppi_channels[i]);));
33-
if (err != NRFX_SUCCESS) {
34-
return -ENOMEM;
23+
ch = nrfx_gppi_channel_alloc(domain_id, NULL);
24+
if (ch < 0) {
25+
return ch;
3526
}
27+
ppi_channels[i] = (uint8_t)ch;
3628
}
3729

3830
return 0;

subsys/mpsl/fem/nrf2220/mpsl_fem_nrf2220.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@
1818
#include <mpsl_fem_utils.h>
1919
#include <mpsl_fem_twi_drv.h>
2020

21-
#if IS_ENABLED(CONFIG_HAS_HW_NRF_PPI)
22-
#include <nrfx_ppi.h>
23-
#elif IS_ENABLED(CONFIG_HAS_HW_NRF_DPPIC)
24-
#include <nrfx_dppi.h>
25-
#endif
26-
2721
#include <soc_secure.h>
2822

2923
#if IS_ENABLED(CONFIG_PINCTRL)

subsys/mpsl/fem/nrf2240/mpsl_fem_nrf2240.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@
1818
#include <mpsl_fem_utils.h>
1919
#include <mpsl_fem_twi_drv.h>
2020

21-
#if IS_ENABLED(CONFIG_HAS_HW_NRF_PPI)
22-
#include <nrfx_ppi.h>
23-
#elif IS_ENABLED(CONFIG_HAS_HW_NRF_DPPIC)
24-
#include <nrfx_dppi.h>
25-
#endif
26-
2721
#include <soc_secure.h>
2822

2923
#if IS_ENABLED(CONFIG_PINCTRL)

0 commit comments

Comments
 (0)