1# Copyright (c) 2024 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4config HAS_NRFS
5	bool
6
7menu "nRF Services"
8	depends on HAS_NRFS
9
10config NRFS_HAS_CLOCK_SERVICE
11	bool
12
13config NRFS_HAS_CONST_LATENCY_SERVICE
14	bool
15
16config NRFS_HAS_DIAG_SERVICE
17	bool
18
19config NRFS_HAS_DVFS_SERVICE
20	bool
21
22config NRFS_HAS_GDFS_SERVICE
23	bool
24
25config NRFS_HAS_GDPWR_SERVICE
26	bool
27
28config NRFS_HAS_MRAM_SERVICE
29	bool
30
31config NRFS_HAS_PMIC_SERVICE
32	bool
33
34config NRFS_HAS_RESET_SERVICE
35	bool
36
37config NRFS_HAS_SWEXT_SERVICE
38	bool
39
40config NRFS_HAS_TEMP_SERVICE
41	bool
42
43config NRFS_HAS_VBUS_DETECTOR_SERVICE
44	bool
45
46config NRFS
47	bool "nRF Services Support"
48	select NRFS_LOCAL_DOMAIN if SOC_NRF54H20_CPUAPP || \
49				    SOC_NRF54H20_CPURAD || \
50				    SOC_NRF9280_CPUAPP || \
51				    SOC_NRF9280_CPURAD
52	depends on HAS_NRFS
53	help
54	  This option enables the nRF Services library.
55
56if NRFS
57
58config NRFS_LOCAL_DOMAIN
59	bool "nRF Services Local Domain Support"
60	depends on $(dt_alias_enabled,ipc-to-cpusys)
61	select IPC_SERVICE
62	select MBOX
63	select EVENTS
64	select REBOOT
65	help
66	  This option enables the nRF Services Local Domain libraries.
67
68config NRFS_DVFS_LOCAL_DOMAIN
69	bool "Local domain that supports DVFS"
70	depends on NRFS_LOCAL_DOMAIN
71	depends on NRFS_DVFS_SERVICE_ENABLED
72	default y if NRFS_DVFS_SERVICE_ENABLED
73
74menu "Enabled Services"
75
76module = NRFS
77module-str = nRF-Services
78source "subsys/logging/Kconfig.template.log_config"
79
80config NRFS_RESET_SERVICE_ENABLED
81	bool "Reset service"
82	depends on NRFS_HAS_RESET_SERVICE
83
84config NRFS_MRAM_SERVICE_ENABLED
85	bool "MRAM latency service"
86	depends on NRFS_HAS_MRAM_SERVICE
87
88config NRFS_TEMP_SERVICE_ENABLED
89	bool "Temperature service"
90	depends on NRFS_HAS_TEMP_SERVICE
91	default y
92
93config NRFS_VBUS_DETECTOR_SERVICE_ENABLED
94	bool "VBUS detector for the USB peripheral"
95	depends on NRFS_HAS_VBUS_DETECTOR_SERVICE
96	default y
97
98config NRFS_CONST_LATENCY_SERVICE_ENABLED
99	bool "DPPI constant latency service"
100	depends on NRFS_HAS_CONST_LATENCY_SERVICE
101	default y
102
103config NRFS_PMIC_SERVICE_ENABLED
104	bool "PMIC service"
105	depends on NRFS_HAS_PMIC_SERVICE
106
107config NRFS_DVFS_SERVICE_ENABLED
108	bool "DVFS service"
109	depends on NRFS_HAS_DVFS_SERVICE
110	default y if SOC_NRF54H20_CPUAPP || SOC_NRF9280_CPUAPP
111
112config NRFS_DIAG_SERVICE_ENABLED
113	bool "System Diagnostics service (only for development purposes)"
114	depends on NRFS_HAS_DIAG_SERVICE
115
116config NRFS_CLOCK_SERVICE_ENABLED
117	bool "Clock service"
118	depends on NRFS_HAS_CLOCK_SERVICE
119	default y
120
121config NRFS_GDPWR_SERVICE_ENABLED
122	bool "Global domain power request service"
123	depends on NRFS_HAS_GDPWR_SERVICE
124	default y
125
126config NRFS_GDFS_SERVICE_ENABLED
127	bool "Global domain frequency scaling service"
128	depends on NRFS_HAS_GDFS_SERVICE
129	default y
130
131config NRFS_SWEXT_SERVICE_ENABLED
132	bool "SWEXT peripheral control service"
133	depends on NRFS_HAS_SWEXT_SERVICE
134	default y
135
136endmenu
137
138rsource "backends/Kconfig"
139if NRFS_DVFS_LOCAL_DOMAIN
140rsource "dvfs/Kconfig"
141endif # NRFS_DVFS_LOCAL_DOMAIN
142
143endif # NRFS
144endmenu
145