Skip to content

Commit

Permalink
manifest: Adding nRF Services library
Browse files Browse the repository at this point in the history
Adding nRF Services library to the hal-nordic repo

Signed-off-by: Rafal Dyla <rafal.dyla@nordicsemi.no>
  • Loading branch information
Rafal-Nordic committed Mar 22, 2024
1 parent d89e7f6 commit ddd8d3b
Show file tree
Hide file tree
Showing 15 changed files with 1,809 additions and 1 deletion.
1 change: 1 addition & 0 deletions modules/hal_nordic/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -235,5 +235,6 @@ endif # NRF_802154_RADIO_DRIVER || NRF_802154_SERIALIZATION

endmenu # HAS_NORDIC_DRIVERS

rsource "nrfs/Kconfig"
rsource "nrfx/Kconfig"
rsource "Kconfig.nrf_regtool"
14 changes: 14 additions & 0 deletions modules/hal_nordic/nrfs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

if(CONFIG_NRFS)
if(CONFIG_NRFS_LOCAL_DOMAIN)
zephyr_sources_ifdef(CONFIG_NRFS_BACKEND_IPC_SERVICE_EXTENDED
backends/nrfs_backend_ipc_service.c)
zephyr_sources_ifdef(CONFIG_NRFS_BACKEND_IPC_SERVICE_LITE
backends/nrfs_backend_ipc_service_lite.c)
endif()
zephyr_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/backends)
zephyr_include_directories_ifdef(CONFIG_NRFS_DVFS_LOCAL_DOMAIN ${CMAKE_CURRENT_SOURCE_DIR}/dvfs)
add_subdirectory_ifdef(CONFIG_NRFS_DVFS_LOCAL_DOMAIN dvfs)
endif()
121 changes: 121 additions & 0 deletions modules/hal_nordic/nrfs/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config NRF_HAS_NRFS
bool

config NRFS_HAS_CLOCK_SERVICE
bool

config NRFS_HAS_CONST_LATENCY_SERVICE
bool

config NRFS_HAS_DIAG_SERVICE
bool

config NRFS_HAS_DVFS_SERVICE
bool

config NRFS_HAS_MRAM_SERVICE
bool

config NRFS_HAS_PMIC_SERVICE
bool

config NRFS_HAS_RESET_SERVICE
bool

config NRFS_HAS_TEMP_SERVICE
bool

config NRFS_HAS_USB_SERVICE
bool

menu "nRF Services"
depends on NRF_HAS_NRFS

config NRFS
bool "nRF Services Support"
help
This option enables the nRF Services library

config NRFS_LOCAL_DOMAIN
bool "nRF Services Local Domain Support"
depends on NRFS
help
This option enables the nRF Services Local Domain libraries

config NRFS_BACKEND_IPC_SERVICE
bool "IPC service backend for NRFS"
depends on NRFS
imply IPC_SERVICE
imply IPC_SERVICE_BACKEND_ICMSG
imply MBOX
imply EVENTS
imply REBOOT
help
This option enables transport protocol for the NRFS

config NRFS_DVFS_LOCAL_DOMAIN
bool "Local domain that supports DVFS"
depends on NRFS
depends on NRFS_LOCAL_DOMAIN
default y if SOC_NRF54H20_CPUAPP

menu "Enabled Services"
depends on NRFS
module = NRFS
module-str = nRF-Services
source "subsys/logging/Kconfig.template.log_config"

config RESET_SERVICE_ENABLED
bool "Reset service"
depends on NRFS_HAS_RESET_SERVICE
default n

config MRAM_SERVICE_ENABLED
bool "MRAM latency service"
depends on NRFS_HAS_MRAM_SERVICE
default y

config TEMP_SERVICE_ENABLED
bool "Temperature service"
depends on NRFS_HAS_TEMP_SERVICE
default y

config USB_SERVICE_ENABLED
bool "USB service"
depends on NRFS_HAS_USB_SERVICE
default y

config CONST_LATENCY_SERVICE_ENABLED
bool "DPPI constant latency service"
depends on NRFS_HAS_CONST_LATENCY_SERVICE
default y

config PMIC_SERVICE_ENABLED
bool "PMIC service"
depends on NRFS_HAS_PMIC_SERVICE
default n

config DVFS_SERVICE_ENABLED
bool "DVFS service"
depends on NRFS_HAS_DVFS_SERVICE
default y if SOC_NRF54H20_CPUAPP
default n

config DIAG_SERVICE_ENABLED
bool "System Diagnostics service (only for development purposes)"
depends on NRFS_HAS_DIAG_SERVICE
default n

config CLOCK_SERVICE_ENABLED
bool "Clock service"
depends on NRFS_HAS_CLOCK_SERVICE
default y
endmenu

rsource "backends/Kconfig"
rsource "dvfs/Kconfig"

endmenu
89 changes: 89 additions & 0 deletions modules/hal_nordic/nrfs/backends/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0


menu "NRFS backend settings"
depends on NRFS
module = NRFS_BACKEND
module-str = NRFS backend
source "subsys/logging/Kconfig.template.log_config"

choice NRFS_IPC_SERVICE_BACKEND_VARIANT
prompt "Select variant of IPC service backend for nrfs."
depends on NRFS_BACKEND_IPC_SERVICE
default NRFS_BACKEND_IPC_SERVICE_LITE

config NRFS_BACKEND_IPC_SERVICE_EXTENDED
bool "Zephyr IPC service backend for NRFS with additional buffering."

config NRFS_BACKEND_IPC_SERVICE_LITE
bool "Use IPC service directly by NRFS"

endchoice

if NRFS_BACKEND_IPC_SERVICE_LITE
config NRFS_BACKEND_IPC_SERVICE_LITE_INIT_PRIO
int "Initialization priority for NRFS IPC backend"
default 51
help
This should be higher than priority of other divers/subsystems
used by NRFS backend. For example MBOX_INIT_PRIORITY which is 50.
endif

config NRFS_MAX_BACKEND_PACKET_SIZE
int "Maximum IPC data packet size in bytes"
range 8 128
default 32

config NRFS_BACKEND_RX_TASK_STACK_SIZE
int "Stack size used for incoming messages task"
range 128 16384
default 2048 if LOG
default 512

config NRFS_BACKEND_TX_TASK_STACK_SIZE
int "Stack size used for outgoing messages task"
range 128 16384
default 2048 if LOG
default 512

config NRFS_BACKEND_RX_TASK_PRIORITY
int "Priority of RX backend task"
range -16 NUM_PREEMPT_PRIORITIES
default 0

config NRFS_BACKEND_TX_TASK_PRIORITY
int "Priority of TX backend task"
range -16 NUM_PREEMPT_PRIORITIES
default 0

config NRFS_BACKEND_RX_MSG_QUEUE_SIZE
int "Size of RX buffer message queue size"
range 1 16
default 8

config NRFS_BACKEND_TX_MSG_QUEUE_SIZE
int "Size of TX buffer message queue size"
range 1 16
default 8

config NRFS_BACKEND_TX_MAX_RETRIES
int "Max number of retries when sending message"
range 0 100
default 5

config NRFS_BACKEND_TX_RETRY_DELAY_US
int "Delay in us that will be added between send retries"
range 0 1000000
default 10

config NRFS_BACKEND_RX_QUEUE_MAX_WAIT_US
int "Maximum wait time to wait when putting data to RX queue in usec"
range 0 1000000
default 10

config NRFS_BACKEND_SERVICE_START_DELAY_MS
int "Delay before backend initialization and start in ms"
range 0 1000000
default 0
endmenu
Loading

0 comments on commit ddd8d3b

Please sign in to comment.