#
# Copyright (c) 2024 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

rsource "services/Kconfig"

config SSF_CLIENT
	def_bool $(dt_nodelabel_enabled_with_compat,cpusec_cpuapp_ipc,$(DT_COMPAT_ZEPHYR_IPC_ICMSG)) \
	      || $(dt_nodelabel_enabled_with_compat,cpusec_cpurad_ipc,$(DT_COMPAT_ZEPHYR_IPC_ICMSG))

config SDFW_SERVICES_ENABLED
	bool
	default y
	depends on SSF_CLIENT
	imply ZCBOR
	select ZCBOR_CANONICAL
	help
	  Enable SDFW Service Framework (SSF)

menu "SDFW Service Framework"
	depends on SDFW_SERVICES_ENABLED

config SSF_CLIENT_DOMAIN_ID
	int
	default 2 if SOC_NRF54H20_CPUAPP
	default 3 if SOC_NRF54H20_CPURAD
	default 0

config SSF_CLIENT_NRF_RPC_GROUP_NAME
	string
	default "app" if SOC_NRF54H20_CPUAPP
	default "rad" if SOC_NRF54H20_CPURAD
	default ""

config SSF_CLIENT_SYS_INIT
	bool "Start SDFW Service Framework client on boot"
	default y

config SSF_CLIENT_REGISTERED_LISTENERS_MAX
	int "Maximum number of simultaneous registered listeners"
	default 1

config SSF_CLIENT_ZCBOR_MAX_BACKUPS
	int "The maximum number of ZCBOR encoder/decoder backups"
	default 1
	help
	  Backups are needed for decoding if there are any lists, maps, or CBOR-encoded
	  strings in the data.
	  Backups are needed for encoding if there are any lists or maps and you are using
	  canonical encoding (ZCBOR_CANONICAL), or when using the CBOR-encoded strings in the data.

config SSF_ZCBOR_GENERATE
	bool "Re-generate CBOR parsers from CDDL using zcbor"
	help
	  If enabled, generate and use parsers from CDDL.
	  Install the generated parsers by running target 'ssf_parser_files_install'.
	  If disabled, use already installed parsers.
	  Generated parsers are found under the 'zcbor_generated' directories.

rsource "transport/Kconfig"

module = SSF_CLIENT
module-str = SSF Client
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"

endmenu # "SDFW Service Framework"
