Skip to content

Commit 70280cd

Browse files
committed
[nrf fromtree] modules: hal_nordic: add NRFX_GPPI config
The nrfx_gppi module is an abstraction over nrfx_ppi and nrfx_dppi drivers. It now has a Kconfig option that is separate from nrfx_dppi and by default it enables all PPI/DPPI instances, if available. Signed-off-by: Rafał Kuźnia <[email protected]> (cherry picked from commit e184109)
1 parent b58d69d commit 70280cd

File tree

8 files changed

+37
-16
lines changed

8 files changed

+37
-16
lines changed

drivers/pwm/Kconfig.nrf_sw

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ config PWM_NRF_SW
88
default y if !PWM_NRFX
99
depends on DT_HAS_NORDIC_NRF_SW_PWM_ENABLED
1010
select NRFX_GPIOTE
11-
select NRFX_PPI if HAS_HW_NRF_PPI
12-
select NRFX_DPPI if HAS_HW_NRF_DPPIC
11+
select NRFX_GPPI
1312
help
1413
Enable driver to utilize PWM on the Nordic Semiconductor nRF SoCs.
1514

drivers/serial/Kconfig.nrfx_uart_instance

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ config UART_$(nrfx_uart_num)_ENHANCED_POLL_OUT
2424
default y
2525
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
2626
depends on HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC
27-
select NRFX_PPI if HAS_HW_NRF_PPI
28-
select NRFX_DPPI if HAS_HW_NRF_DPPIC
27+
select NRFX_GPPI
2928
help
3029
When enabled, polling out does not trigger interrupt which stops TX.
3130
Feature uses a PPI channel.
@@ -55,8 +54,7 @@ config UART_$(nrfx_uart_num)_NRF_HW_ASYNC
5554
depends on UART_ASYNC_API
5655
depends on UART_NRFX_UARTE_LEGACY_SHIM
5756
depends on HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC
58-
select NRFX_PPI if HAS_HW_NRF_PPI
59-
select NRFX_DPPI if HAS_HW_NRF_DPPIC
57+
select NRFX_GPPI
6058
help
6159
If default driver uses interrupts to count incoming bytes, it is possible
6260
that with higher speeds and/or high cpu load some data can be lost.

modules/hal_nordic/nrfx/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_NRF92X ${MDK_DIR}/system_nrf92.c
115115
zephyr_library_sources(nrfx_glue.c)
116116
zephyr_library_sources(${HELPERS_DIR}/nrfx_flag32_allocator.c)
117117
zephyr_library_sources_ifdef(CONFIG_RETAINED_MEM_NRF_RAM_CTRL ${HELPERS_DIR}/nrfx_ram_ctrl.c)
118-
zephyr_library_sources_ifdef(CONFIG_NRFX_DPPI ${HELPERS_DIR}/nrfx_gppi_dppi.c)
118+
zephyr_library_sources_ifdef(CONFIG_NRFX_GPPI ${HELPERS_DIR}/nrfx_gppi_dppi.c)
119119
zephyr_library_sources_ifdef(CONFIG_NRFX_PPI ${HELPERS_DIR}/nrfx_gppi_ppi.c)
120120

121121
zephyr_library_sources_ifdef(CONFIG_NRFX_PRS ${SRC_DIR}/prs/nrfx_prs.c)
@@ -199,7 +199,7 @@ if(CONFIG_SOC_NRF54L20_ENGA_CPUAPP)
199199
zephyr_compile_definitions(NRF_SKIP_TAMPC_SETUP)
200200
endif()
201201

202-
if(CONFIG_SOC_SERIES_NRF54LX AND CONFIG_NRFX_DPPI)
202+
if(CONFIG_SOC_SERIES_NRF54LX AND CONFIG_NRFX_GPPI)
203203
zephyr_library_sources(${HELPERS_DIR}/nrfx_gppi_dppi_ppib_lumos.c)
204204
zephyr_library_sources(${NRFX_DIR}/soc/interconnect/dppic_ppib/nrfx_interconnect_dppic_ppib.c)
205205
endif()

modules/hal_nordic/nrfx/Kconfig

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,71 +30,85 @@ config NRFX_DPPI
3030

3131
config NRFX_DPPI0
3232
bool "DPPI0 driver instance"
33+
default y if NRFX_GPPI
3334
depends on $(dt_nodelabel_has_compat,dppic,$(DT_COMPAT_NORDIC_NRF_DPPIC))
3435
select NRFX_DPPI
3536

3637
config NRFX_DPPI00
3738
bool "DPPI00 driver instance"
39+
default y if NRFX_GPPI
3840
depends on $(dt_nodelabel_has_compat,dppic00,$(DT_COMPAT_NORDIC_NRF_DPPIC))
3941
select NRFX_DPPI
4042

4143
config NRFX_DPPI10
4244
bool "DPPI10 driver instance"
45+
default y if NRFX_GPPI
4346
depends on $(dt_nodelabel_has_compat,dppic10,$(DT_COMPAT_NORDIC_NRF_DPPIC))
4447
select NRFX_DPPI
4548

4649
config NRFX_DPPI20
4750
bool "DPPI20 driver instance"
51+
default y if NRFX_GPPI
4852
depends on $(dt_nodelabel_has_compat,dppic20,$(DT_COMPAT_NORDIC_NRF_DPPIC))
4953
select NRFX_DPPI
5054

5155
config NRFX_DPPI30
5256
bool "DPPI30 driver instance"
57+
default y if NRFX_GPPI
5358
depends on $(dt_nodelabel_has_compat,dppic30,$(DT_COMPAT_NORDIC_NRF_DPPIC))
5459
select NRFX_DPPI
5560

5661
config NRFX_DPPI020
5762
bool "DPPI020 driver instance"
63+
default y if NRFX_GPPI
5864
depends on $(dt_nodelabel_has_compat,dppic020,$(DT_COMPAT_NORDIC_NRF_DPPIC_LOCAL))
5965
select NRFX_DPPI
6066

6167
config NRFX_DPPI120
6268
bool "DPPI120 driver instance"
69+
default y if NRFX_GPPI
6370
depends on $(dt_nodelabel_has_compat,dppic120,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
6471
select NRFX_DPPI
6572

6673
config NRFX_DPPI130
6774
bool "DPPI130 driver instance"
75+
default y if NRFX_GPPI
6876
depends on $(dt_nodelabel_has_compat,dppic130,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
6977
select NRFX_DPPI
7078

7179
config NRFX_DPPI131
7280
bool "DPPI131 driver instance"
81+
default y if NRFX_GPPI
7382
depends on $(dt_nodelabel_has_compat,dppic131,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
7483
select NRFX_DPPI
7584

7685
config NRFX_DPPI132
7786
bool "DPPI132 driver instance"
87+
default y if NRFX_GPPI
7888
depends on $(dt_nodelabel_has_compat,dppic132,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
7989
select NRFX_DPPI
8090

8191
config NRFX_DPPI133
8292
bool "DPPI133 driver instance"
93+
default y if NRFX_GPPI
8394
depends on $(dt_nodelabel_has_compat,dppic133,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
8495
select NRFX_DPPI
8596

8697
config NRFX_DPPI134
8798
bool "DPPI134 driver instance"
99+
default y if NRFX_GPPI
88100
depends on $(dt_nodelabel_has_compat,dppic134,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
89101
select NRFX_DPPI
90102

91103
config NRFX_DPPI135
92104
bool "DPPI135 driver instance"
105+
default y if NRFX_GPPI
93106
depends on $(dt_nodelabel_has_compat,dppic135,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
94107
select NRFX_DPPI
95108

96109
config NRFX_DPPI136
97110
bool "DPPI136 driver instance"
111+
default y if NRFX_GPPI
98112
depends on $(dt_nodelabel_has_compat,dppic136,$(DT_COMPAT_NORDIC_NRF_DPPIC_GLOBAL))
99113
select NRFX_DPPI
100114

@@ -192,6 +206,12 @@ config NRFX_GPIOTE_NUM_OF_EVT_HANDLERS
192206
Specifies number of handlers that can be registered to nrfx_gpiote driver
193207
by the user.
194208

209+
config NRFX_GPPI
210+
bool "Generic PPI layer"
211+
help
212+
Enable the nrfx_gppi utilities providing unified API for creating PPI
213+
connections across SoC families.
214+
195215
config NRFX_GRTC
196216
bool "GRTC driver"
197217
depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_GRTC))
@@ -257,48 +277,57 @@ config NRFX_POWER
257277

258278
config NRFX_PPI
259279
bool "PPI allocator"
280+
default y if NRFX_GPPI
260281
depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_PPI))
261282

262283
config NRFX_PPIB
263284
bool
264285

265286
config NRFX_PPIB00
266287
bool "PPIB00 driver instance"
288+
default y if NRFX_GPPI
267289
depends on $(dt_nodelabel_has_compat,ppib00,$(DT_COMPAT_NORDIC_NRF_PPIB))
268290
select NRFX_PPIB
269291

270292
config NRFX_PPIB01
271293
bool "PPIB01 driver instance"
294+
default y if NRFX_GPPI
272295
depends on $(dt_nodelabel_has_compat,ppib01,$(DT_COMPAT_NORDIC_NRF_PPIB))
273296
select NRFX_PPIB
274297

275298
config NRFX_PPIB10
276299
bool "PPIB10 driver instance"
300+
default y if NRFX_GPPI
277301
depends on $(dt_nodelabel_has_compat,ppib10,$(DT_COMPAT_NORDIC_NRF_PPIB))
278302
select NRFX_PPIB
279303

280304
config NRFX_PPIB11
281305
bool "PPIB11 driver instance"
306+
default y if NRFX_GPPI
282307
depends on $(dt_nodelabel_has_compat,ppib11,$(DT_COMPAT_NORDIC_NRF_PPIB))
283308
select NRFX_PPIB
284309

285310
config NRFX_PPIB20
286311
bool "PPIB20 driver instance"
312+
default y if NRFX_GPPI
287313
depends on $(dt_nodelabel_has_compat,ppib20,$(DT_COMPAT_NORDIC_NRF_PPIB))
288314
select NRFX_PPIB
289315

290316
config NRFX_PPIB21
291317
bool "PPIB21 driver instance"
318+
default y if NRFX_GPPI
292319
depends on $(dt_nodelabel_has_compat,ppib21,$(DT_COMPAT_NORDIC_NRF_PPIB))
293320
select NRFX_PPIB
294321

295322
config NRFX_PPIB22
296323
bool "PPIB22 driver instance"
324+
default y if NRFX_GPPI
297325
depends on $(dt_nodelabel_has_compat,ppib22,$(DT_COMPAT_NORDIC_NRF_PPIB))
298326
select NRFX_PPIB
299327

300328
config NRFX_PPIB30
301329
bool "PPIB30 driver instance"
330+
default y if NRFX_GPPI
302331
depends on $(dt_nodelabel_has_compat,ppib30,$(DT_COMPAT_NORDIC_NRF_PPIB))
303332
select NRFX_PPIB
304333

samples/boards/nordic/nrfx/Kconfig

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,6 @@
33

44
source "Kconfig.zephyr"
55

6-
config NRFX_DPPI
7-
default $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_DPPIC))
8-
9-
config NRFX_PPI
10-
default $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_PPI))
11-
126
config NRFX_GPIOTE0
137
default y if SOC_SERIES_NRF51X || \
148
SOC_SERIES_NRF52X || \
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
CONFIG_GPIO=n
22
CONFIG_LOG=y
33
CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=100
4+
CONFIG_NRFX_GPPI=y

soc/nordic/nrf53/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ config SOC_NRF53_ANOMALY_168_WORKAROUND_FOR_EXECUTION_FROM_RAM
8282
config SOC_NRF53_RTC_PRETICK
8383
bool "Pre-tick workaround for nRF5340 anomaly 165"
8484
depends on (SYS_CLOCK_EXISTS && SOC_NRF5340_CPUNET) || SOC_NRF5340_CPUAPP
85-
select NRFX_DPPI
85+
select NRFX_GPPI
8686
select ARM_ON_ENTER_CPU_IDLE_HOOK if SOC_NRF5340_CPUNET
8787
select ARM_ON_ENTER_CPU_IDLE_PREPARE_HOOK if SOC_NRF5340_CPUNET
8888
help

soc/nordic/nrf53/Kconfig.sync_rtc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ config NRF53_SYNC_RTC
55
bool "RTC clock synchronization"
66
default y if LOG && !LOG_MODE_MINIMAL
77
depends on NRF_RTC_TIMER
8-
select NRFX_DPPI
8+
select NRFX_GPPI
99
select MBOX if !IPM
1010

1111
if NRF53_SYNC_RTC

0 commit comments

Comments
 (0)