Skip to content

Commit 3bd5ce1

Browse files
masz-nordicrlubos
authored andcommitted
treewide: sdp: rework variant configuration
Simplify sysbuild to only apply snippets for both APP and FLPR. Move backend-specific overlays for FLPR from application to overlay. Align driver, application to those changes. Signed-off-by: Marcin Szymczyk <[email protected]>
1 parent 787ddae commit 3bd5ce1

23 files changed

+66
-48
lines changed

applications/sdp/gpio/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ sdp_assembly_prepare_install("${CMAKE_SOURCE_DIR}/src/hrt/hrt.c")
1515

1616
target_sources(app PRIVATE src/main.c)
1717
target_sources(app PRIVATE src/hrt/hrt.s)
18-
target_sources_ifdef(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG app PRIVATE src/backend/backend_icmsg.c)
19-
target_sources_ifdef(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG app PRIVATE src/backend/backend_icmsg.c)
20-
target_sources_ifdef(CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX app PRIVATE src/backend/backend_mbox.c)
18+
19+
target_sources_ifdef(CONFIG_SDP_GPIO_BACKEND_ICMSG app PRIVATE src/backend/backend_icmsg.c)
20+
target_sources_ifdef(CONFIG_SDP_GPIO_BACKEND_ICBMSG app PRIVATE src/backend/backend_icmsg.c)
21+
target_sources_ifdef(CONFIG_SDP_GPIO_BACKEND_MBOX app PRIVATE src/backend/backend_mbox.c)
2122

2223
add_dependencies(app asm_check)

applications/sdp/gpio/Kconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
choice SDP_GPIO_BACKEND
2+
prompt "Backend"
3+
default SDP_GPIO_BACKEND_ICMSG
4+
5+
config SDP_GPIO_BACKEND_MBOX
6+
bool "mbox"
7+
8+
config SDP_GPIO_BACKEND_ICMSG
9+
bool "icmsg"
10+
select IPC_SERVICE
11+
12+
config SDP_GPIO_BACKEND_ICBMSG
13+
bool "icbmsg"
14+
select IPC_SERVICE
15+
16+
endchoice
17+
18+
source "Kconfig.zephyr"

applications/sdp/gpio/src/backend/backend.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
#include <drivers/gpio/nrfe_gpio.h>
1111

12-
#if !IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG) && \
13-
!IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX) && \
14-
!IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG)
12+
#if !defined(CONFIG_SDP_GPIO_BACKEND_ICMSG) && \
13+
!defined(CONFIG_SDP_GPIO_BACKEND_MBOX) && \
14+
!defined(CONFIG_SDP_GPIO_BACKEND_ICBMSG)
1515
#error "Define communication backend type"
1616
#endif
1717

cmake/sysbuild/sdp.cmake

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,20 @@
22
#
33
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
44

5-
# Update eGPIO images KConfig based on SDP configuration.
6-
#
7-
# Usage:
8-
# egpio_update_kconfig()
9-
#
10-
function(egpio_update_kconfig)
5+
function(sdp_apply_overlays)
116
if(SB_CONFIG_EGPIO_BACKEND_MBOX)
12-
foreach(image ${PRE_CMAKE_IMAGES})
13-
set_config_bool(${image} CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX y)
14-
endforeach()
15-
if(DEFINED SB_CONFIG_SOC_NRF54L15)
16-
sysbuild_cache_set(VAR flpr_egpio_EXTRA_DTC_OVERLAY_FILE APPEND REMOVE_DUPLICATES "./boards/nrf54l15dk_nrf54l15_cpuflpr_mbox.overlay")
17-
endif()
187
sysbuild_cache_set(VAR ${DEFAULT_IMAGE}_SNIPPET APPEND REMOVE_DUPLICATES "sdp-gpio-mbox")
19-
message(STATUS "eGPIO: Using MBOX backend")
208
elseif(SB_CONFIG_EGPIO_BACKEND_ICMSG)
21-
foreach(image ${PRE_CMAKE_IMAGES})
22-
set_config_bool(${image} CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG y)
23-
endforeach()
24-
set_config_bool(flpr_egpio CONFIG_IPC_SERVICE y)
25-
set_config_bool(flpr_egpio CONFIG_IPC_SERVICE_BACKEND_ICMSG y)
26-
if(DEFINED SB_CONFIG_SOC_NRF54L15)
27-
sysbuild_cache_set(VAR flpr_egpio_EXTRA_DTC_OVERLAY_FILE APPEND REMOVE_DUPLICATES "./boards/nrf54l15dk_nrf54l15_cpuflpr_icmsg.overlay")
28-
endif()
299
sysbuild_cache_set(VAR ${DEFAULT_IMAGE}_SNIPPET APPEND REMOVE_DUPLICATES "sdp-gpio-icmsg")
30-
message(STATUS "eGPIO: Using ICMSG backend")
10+
sysbuild_cache_set(VAR sdp_SNIPPET APPEND REMOVE_DUPLICATES "sdp-gpio-icmsg")
3111
elseif(SB_CONFIG_EGPIO_BACKEND_ICBMSG)
32-
foreach(image ${PRE_CMAKE_IMAGES})
33-
set_config_bool(${image} CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG y)
34-
set_property(TARGET ${image} APPEND_STRING PROPERTY CONFIG "CONFIG_IPC_SERVICE_BACKEND_ICBMSG_NUM_EP=1\n")
35-
endforeach()
36-
set_config_bool(flpr_egpio CONFIG_IPC_SERVICE y)
37-
set_config_bool(flpr_egpio CONFIG_IPC_SERVICE_BACKEND_ICBMSG y)
38-
if(DEFINED SB_CONFIG_SOC_NRF54L15)
39-
sysbuild_cache_set(VAR flpr_egpio_EXTRA_DTC_OVERLAY_FILE APPEND REMOVE_DUPLICATES "./boards/nrf54l15dk_nrf54l15_cpuflpr_icbmsg.overlay")
40-
endif()
4112
sysbuild_cache_set(VAR ${DEFAULT_IMAGE}_SNIPPET APPEND REMOVE_DUPLICATES "sdp-gpio-icbmsg")
42-
message(STATUS "eGPIO: Using ICBMSG backend")
13+
sysbuild_cache_set(VAR sdp_SNIPPET APPEND REMOVE_DUPLICATES "sdp-gpio-icbmsg")
4314
endif()
4415
endfunction()
4516

46-
# If eGPIO FLPR application is enabled, update Kconfigs
47-
if(SB_CONFIG_EGPIO_FLPR_APPLICATION)
48-
egpio_update_kconfig()
17+
if(SB_CONFIG_SDP)
18+
if(SB_CONFIG_SDP_GPIO)
19+
sdp_apply_overlays()
20+
endif()
4921
endif()

drivers/gpio/Kconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ menuconfig GPIO_NRFE
1010
help
1111
Use SDP GPIO driver.
1212

13+
if GPIO_NRFE
14+
1315
config GPIO_NRFE_INIT_PRIORITY
1416
int "SDP GPIO init priority"
1517
depends on GPIO_NRFE
@@ -45,3 +47,5 @@ config GPIO_NRFE_EGPIO_BACKEND_ICBMSG
4547
Use ICBMSG backend driver for SDP GPIO.
4648

4749
endchoice
50+
51+
endif

snippets/sdp/gpio/icbmsg/app.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG=y
2+
CONFIG_IPC_SERVICE_BACKEND_ICBMSG_NUM_EP=1

snippets/sdp/gpio/icbmsg/boards/nrf54l15dk_nrf54l15_cpuapp.overlay

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
55
*/
66

7+
#include "../../sdp-gpio-app.overlay"
8+
79
/ {
810
soc {
911
reserved-memory {

snippets/sdp/gpio/icbmsg/flpr.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_SDP_GPIO_BACKEND_ICBMSG=y

snippets/sdp/gpio/icbmsg/snippet.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
#
66

77
name: sdp-gpio-icbmsg
8-
append:
9-
EXTRA_DTC_OVERLAY_FILE: ../sdp-gpio.overlay
108

119
boards:
1210
nrf54l15dk/nrf54l15/cpuapp:
1311
append:
1412
EXTRA_DTC_OVERLAY_FILE: boards/nrf54l15dk_nrf54l15_cpuapp.overlay
13+
EXTRA_CONF_FILE: app.conf
14+
nrf54l15dk/nrf54l15/cpuflpr:
15+
append:
16+
EXTRA_DTC_OVERLAY_FILE: boards/nrf54l15dk_nrf54l15_cpuflpr.overlay
17+
EXTRA_CONF_FILE: flpr.conf

0 commit comments

Comments
 (0)