1# Digital Signal Processing (DSP) configuration options
2
3# Copyright (c) 2022 Synopsys
4# SPDX-License-Identifier: Apache-2.0
5
6menu "ARC DSP Options"
7depends on CPU_HAS_DSP
8
9config ARC_DSP
10	bool "digital signal processing (DSP)"
11	help
12	  This option enables DSP and DSP instructions.
13
14config ARC_DSP_TURNED_OFF
15	bool "Turn off DSP if it presents"
16	depends on !ARC_DSP
17	help
18	  This option disables DSP block via resetting DSP_CRTL register.
19
20config DSP_SHARING
21	bool "DSP register sharing"
22	depends on ARC_DSP && MULTITHREADING
23	select ARC_HAS_ACCL_REGS
24	help
25	  This option enables preservation of the hardware DSP registers
26	  across context switches to allow multiple threads to perform concurrent
27	  DSP operations.
28
29config ARC_DSP_BFLY_SHARING
30	bool "ARC complex DSP operation"
31	depends on ARC_DSP && CPU_ARCEM
32	help
33	  This option is to enable Zephyr to store and restore DSP_BFLY0
34	  and FFT_CTRL registers during context switch. This option is
35	  only required when butterfly instructions are used in
36	  multi-thread.
37
38config ARC_XY_ENABLE
39	bool "ARC address generation unit registers"
40	help
41	  Processors with XY memory and AGU registers can configure this
42	  option to accelerate DSP instrctions.
43
44config ARC_AGU_SHARING
45	bool "ARC address generation unit register sharing"
46	depends on ARC_XY_ENABLE && MULTITHREADING
47	default y if DSP_SHARING
48	help
49	  This option enables preservation of the hardware AGU registers
50	  across context switches to allow multiple threads to perform concurrent
51	  operations on XY memory. Save and restore small size AGU registers is
52	  set as default, including 4 address pointers regs, 2 address offset regs
53	  and 4 modifiers regs.
54
55config ARC_AGU_MEDIUM
56	bool "ARC AGU medium size register"
57	depends on ARC_AGU_SHARING
58	help
59	  Save and restore medium AGU registers, including 8 address pointers regs,
60	  4 address offset regs and 12 modifiers regs.
61
62config ARC_AGU_LARGE
63	bool "ARC AGU large size register"
64	depends on ARC_AGU_SHARING
65	select ARC_AGU_MEDIUM
66	help
67	  Save and restore large AGU registers, including 12 address pointers regs,
68	  8 address offset regs and 24 modifiers regs.
69
70endmenu
71