1# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
2# SPDX-License-Identifier: Apache-2.0
3
4comment "Components"
5
6config CMSIS_DSP_BASICMATH
7	bool "Basic Math Functions"
8	default y
9	help
10	  This option enables the Basic Math Functions, which support the
11	  following operations:
12
13	  * Elementwise Clipping
14	  * Vector Absolute Value
15	  * Vector Addition
16	  * Vector Subtraction
17	  * Vector Multiplication
18	  * Vector Dot Product
19	  * Vector Absolute Value
20	  * Vector Negate
21	  * Vector Offset
22	  * Vector Scale
23	  * Vector Shift
24	  * Vector Bitwise AND
25	  * Vector Bitwise OR
26	  * Vector Bitwise Exclusive OR
27	  * Vector Bitwise NOT
28
29config CMSIS_DSP_COMPLEXMATH
30	bool "Complex Math Functions"
31	imply CMSIS_DSP_FASTMATH
32	depends on CPU_CORTEX || ARCH_POSIX
33	help
34	  This option enables the Complex Math Functions, which support the
35	  following operations:
36
37	  * Complex-by-Complex Multiplication
38	  * Complex-by-Real Multiplication
39	  * Complex Dot Product
40	  * Complex Magnitude
41	  * Complex Magnitude Squared
42	  * Complex Conjugate
43
44config CMSIS_DSP_CONTROLLER
45	bool "Controller Functions"
46	depends on CPU_CORTEX || ARCH_POSIX
47	help
48	  This option enables the Controller Functions, which support the
49	  following operations:
50
51	  * PID Control
52	  * Vector Clarke Transform
53	  * Vector Inverse Clarke Transform
54	  * Vector Park Transform
55	  * Vector Inverse Park Transform
56	  * Sine-Cosine
57
58	  These functions can be used to implement a generic PID controller, as
59	  well as field oriented motor control using Space Vector Modulation
60	  algorithm.
61
62config CMSIS_DSP_FASTMATH
63	bool "Fast Math Functions"
64	select CMSIS_DSP_TABLES
65	imply CMSIS_DSP_TABLES_ALL_FAST
66	depends on CPU_CORTEX || ARCH_POSIX
67	help
68	  This option enables the Fast Math Functions, which support the
69	  following operations:
70
71	  * Fixed-Point Division
72	  * Sine
73	  * Cosine
74	  * Square Root
75
76config CMSIS_DSP_FILTERING
77	bool "Filtering Functions"
78	imply CMSIS_DSP_FASTMATH
79	imply CMSIS_DSP_SUPPORT
80	depends on CPU_CORTEX || ARCH_POSIX
81	help
82	  This option enables the Filtering Functions, which support the
83	  following operations:
84
85	  * Convolution
86	  * Partial Convolution
87	  * Correlation
88	  * Levinson-Durbin Algorithm
89
90	  The following filter types are supported:
91
92	  * FIR (finite impulse response) Filter
93	  * FIR Lattice Filter
94	  * FIR Sparse Filter
95	  * FIR Filter with Decimator
96	  * FIR Filter with Interpolator
97	  * IIR (infinite impulse response) Lattice Filter
98	  * Biquad Cascade IIR Filter, Direct Form I Structure
99	  * Biquad Cascade IIR Filter, Direct Form II Transposed Structure
100	  * High Precision Q31 Biquad Cascade Filter
101	  * LMS (least mean square) Filter
102	  * Normalized LMS Filter
103
104config CMSIS_DSP_INTERPOLATION
105	bool "Interpolation Functions"
106	depends on CPU_CORTEX || ARCH_POSIX
107	help
108	  This option enables the Interpolation Functions, which support the
109	  following operations:
110
111	  * Bilinear Interpolation
112	  * Linear Interpolation
113	  * Cubic Spline Interpolation
114
115config CMSIS_DSP_MATRIX
116	bool "Matrix Functions"
117	depends on CPU_CORTEX || ARCH_POSIX
118	help
119	  This option enables the Matrix Functions, which support the following
120	  operations:
121
122	  * Matrix Initialization
123	  * Matrix Addition
124	  * Matrix Subtraction
125	  * Matrix Multiplication
126	  * Complex Matrix Multiplication
127	  * Matrix Vector Multiplication
128	  * Matrix Inverse
129	  * Matrix Scale
130	  * Matrix Transpose
131	  * Complex Matrix Transpose
132	  * Cholesky and LDLT Decompositions
133
134config CMSIS_DSP_QUATERNIONMATH
135	bool "Quaternion Math Functions"
136	depends on CPU_CORTEX || ARCH_POSIX
137	help
138	  This option enables the Quaternion Math Functions, which support the
139	  following operations:
140
141	  * Quaternion Conversions
142	  * Quaternion Conjugate
143	  * Quaternion Inverse
144	  * Quaternion Norm
145	  * Quaternion Normalization
146	  * Quaternion Product
147
148config CMSIS_DSP_STATISTICS
149	bool "Statistics Functions"
150	imply CMSIS_DSP_BASICMATH
151	imply CMSIS_DSP_FASTMATH
152	depends on CPU_CORTEX || ARCH_POSIX
153	help
154	  This option enables the Statistics Functions, which support the
155	  following operations:
156
157	  * Minimum
158	  * Absolute Minimum
159	  * Maximum
160	  * Absolute Maximum
161	  * Mean
162	  * Root Mean Square (RMS)
163	  * Variance
164	  * Standard Deviation
165	  * Power
166	  * Entropy
167	  * Kullback-Leibler Divergence
168	  * LogSumExp (LSE)
169
170config CMSIS_DSP_SUPPORT
171	bool "Support Functions"
172	depends on CPU_CORTEX || ARCH_POSIX
173	help
174	  This option enables the Support Functions, which support the
175	  following operations:
176
177	  * Vector 8-bit Integer Value Conversion
178	  * Vector 16-bit Integer Value Conversion
179	  * Vector 32-bit Integer Value Conversion
180	  * Vector 16-bit Floating-Point Value Conversion
181	  * Vector 32-bit Floating-Point Value Conversion
182	  * Vector Copy
183	  * Vector Fill
184	  * Vector Sorting
185	  * Weighted Sum
186	  * Barycenter
187
188config CMSIS_DSP_TRANSFORM
189	bool "Transform Functions"
190	select CMSIS_DSP_TABLES
191	imply CMSIS_DSP_TABLES_ALL_FFT
192	depends on CPU_CORTEX || ARCH_POSIX
193	help
194	  This option enables the Transform Functions, which support the
195	  following transformations:
196
197	  * Real Fast Fourier Transform (RFFT)
198	  * Complex Fast Fourier Transform (CFFT)
199	  * Type IV Discrete Cosine Transform (DCT4)
200
201config CMSIS_DSP_SVM
202	bool "Support Vector Machine Functions"
203	select CMSIS_DSP_TABLES
204	depends on CPU_CORTEX || ARCH_POSIX
205	help
206	  This option enables the Support Vector Machine Functions, which
207	  support the following algorithms:
208
209	  * Linear
210	  * Polynomial
211	  * Sigmoid
212	  * Radial Basis Function (RBF)
213
214config CMSIS_DSP_BAYES
215	bool "Bayesian Estimators"
216	imply CMSIS_DSP_STATISTICS
217	depends on CPU_CORTEX || ARCH_POSIX
218	help
219	  This option enables the Bayesian Estimator Functions, which
220	  implements the naive gaussian Bayes estimator.
221
222config CMSIS_DSP_DISTANCE
223	bool "Distance Functions"
224	imply CMSIS_DSP_STATISTICS
225	depends on CPU_CORTEX || ARCH_POSIX
226	help
227	  This option enables the Distance Functions, which support the
228	  following distance computation algorithms:
229
230	  * Boolean Vectors
231	    * Hamming
232	    * Jaccard
233	    * Kulsinski
234	    * Rogers-Tanimoto
235	    * Russell-Rao
236	    * Sokal-Michener
237	    * Sokal-Sneath
238	    * Yule
239	    * Dice
240
241	  * Floating-Point Vectors
242	    * Canberra
243	    * Chebyshev
244	    * Cityblock
245	    * Correlation
246	    * Cosine
247	    * Euclidean
248	    * Jensen-Shannon
249	    * Minkowski
250	    * Bray-Curtis
251
252menuconfig CMSIS_DSP_TABLES
253	bool "Look-up Tables"
254	depends on CPU_CORTEX || ARCH_POSIX
255	help
256	  This option enables the static look-up tables used by the DSP
257	  functions to compute results.
258
259if CMSIS_DSP_TABLES
260
261config CMSIS_DSP_TABLES_ALL_FAST
262	bool "Include all fast interpolation tables"
263	select CMSIS_DSP_TABLES_ARM_COS_F32
264	select CMSIS_DSP_TABLES_ARM_COS_Q31
265	select CMSIS_DSP_TABLES_ARM_COS_Q15
266	select CMSIS_DSP_TABLES_ARM_SIN_F32
267	select CMSIS_DSP_TABLES_ARM_SIN_Q31
268	select CMSIS_DSP_TABLES_ARM_SIN_Q15
269	select CMSIS_DSP_TABLES_ARM_SIN_COS_F32
270	select CMSIS_DSP_TABLES_ARM_SIN_COS_Q31
271	select CMSIS_DSP_TABLES_ARM_LMS_NORM_Q31
272	select CMSIS_DSP_TABLES_ARM_LMS_NORM_Q15
273	select CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q31
274	select CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15
275
276config CMSIS_DSP_TABLES_ALL_FFT
277	bool "Include all FFT tables"
278	select CMSIS_DSP_TABLES_CFFT_F64_16
279	select CMSIS_DSP_TABLES_CFFT_F64_32
280	select CMSIS_DSP_TABLES_CFFT_F64_64
281	select CMSIS_DSP_TABLES_CFFT_F64_128
282	select CMSIS_DSP_TABLES_CFFT_F64_256
283	select CMSIS_DSP_TABLES_CFFT_F64_512
284	select CMSIS_DSP_TABLES_CFFT_F64_1024
285	select CMSIS_DSP_TABLES_CFFT_F64_2048
286	select CMSIS_DSP_TABLES_CFFT_F64_4096
287	select CMSIS_DSP_TABLES_CFFT_F32_16
288	select CMSIS_DSP_TABLES_CFFT_F32_32
289	select CMSIS_DSP_TABLES_CFFT_F32_64
290	select CMSIS_DSP_TABLES_CFFT_F32_128
291	select CMSIS_DSP_TABLES_CFFT_F32_256
292	select CMSIS_DSP_TABLES_CFFT_F32_512
293	select CMSIS_DSP_TABLES_CFFT_F32_1024
294	select CMSIS_DSP_TABLES_CFFT_F32_2048
295	select CMSIS_DSP_TABLES_CFFT_F32_4096
296	select CMSIS_DSP_TABLES_CFFT_F16_16
297	select CMSIS_DSP_TABLES_CFFT_F16_32
298	select CMSIS_DSP_TABLES_CFFT_F16_64
299	select CMSIS_DSP_TABLES_CFFT_F16_128
300	select CMSIS_DSP_TABLES_CFFT_F16_256
301	select CMSIS_DSP_TABLES_CFFT_F16_512
302	select CMSIS_DSP_TABLES_CFFT_F16_1024
303	select CMSIS_DSP_TABLES_CFFT_F16_2048
304	select CMSIS_DSP_TABLES_CFFT_F16_4096
305	select CMSIS_DSP_TABLES_CFFT_Q31_16
306	select CMSIS_DSP_TABLES_CFFT_Q31_32
307	select CMSIS_DSP_TABLES_CFFT_Q31_64
308	select CMSIS_DSP_TABLES_CFFT_Q31_128
309	select CMSIS_DSP_TABLES_CFFT_Q31_256
310	select CMSIS_DSP_TABLES_CFFT_Q31_512
311	select CMSIS_DSP_TABLES_CFFT_Q31_1024
312	select CMSIS_DSP_TABLES_CFFT_Q31_2048
313	select CMSIS_DSP_TABLES_CFFT_Q31_4096
314	select CMSIS_DSP_TABLES_CFFT_Q15_16
315	select CMSIS_DSP_TABLES_CFFT_Q15_32
316	select CMSIS_DSP_TABLES_CFFT_Q15_64
317	select CMSIS_DSP_TABLES_CFFT_Q15_128
318	select CMSIS_DSP_TABLES_CFFT_Q15_256
319	select CMSIS_DSP_TABLES_CFFT_Q15_512
320	select CMSIS_DSP_TABLES_CFFT_Q15_1024
321	select CMSIS_DSP_TABLES_CFFT_Q15_2048
322	select CMSIS_DSP_TABLES_CFFT_Q15_4096
323	select CMSIS_DSP_TABLES_RFFT_FAST_F64_32
324	select CMSIS_DSP_TABLES_RFFT_FAST_F64_64
325	select CMSIS_DSP_TABLES_RFFT_FAST_F64_128
326	select CMSIS_DSP_TABLES_RFFT_FAST_F64_256
327	select CMSIS_DSP_TABLES_RFFT_FAST_F64_512
328	select CMSIS_DSP_TABLES_RFFT_FAST_F64_1024
329	select CMSIS_DSP_TABLES_RFFT_FAST_F64_2048
330	select CMSIS_DSP_TABLES_RFFT_FAST_F64_4096
331	select CMSIS_DSP_TABLES_RFFT_FAST_F32_32
332	select CMSIS_DSP_TABLES_RFFT_FAST_F32_64
333	select CMSIS_DSP_TABLES_RFFT_FAST_F32_128
334	select CMSIS_DSP_TABLES_RFFT_FAST_F32_256
335	select CMSIS_DSP_TABLES_RFFT_FAST_F32_512
336	select CMSIS_DSP_TABLES_RFFT_FAST_F32_1024
337	select CMSIS_DSP_TABLES_RFFT_FAST_F32_2048
338	select CMSIS_DSP_TABLES_RFFT_FAST_F32_4096
339	select CMSIS_DSP_TABLES_RFFT_FAST_F16_32
340	select CMSIS_DSP_TABLES_RFFT_FAST_F16_64
341	select CMSIS_DSP_TABLES_RFFT_FAST_F16_128
342	select CMSIS_DSP_TABLES_RFFT_FAST_F16_256
343	select CMSIS_DSP_TABLES_RFFT_FAST_F16_512
344	select CMSIS_DSP_TABLES_RFFT_FAST_F16_1024
345	select CMSIS_DSP_TABLES_RFFT_FAST_F16_2048
346	select CMSIS_DSP_TABLES_RFFT_FAST_F16_4096
347	select CMSIS_DSP_TABLES_RFFT_F32_128
348	select CMSIS_DSP_TABLES_RFFT_F32_512
349	select CMSIS_DSP_TABLES_RFFT_F32_2048
350	select CMSIS_DSP_TABLES_RFFT_F32_8192
351	select CMSIS_DSP_TABLES_RFFT_F16_128
352	select CMSIS_DSP_TABLES_RFFT_F16_512
353	select CMSIS_DSP_TABLES_RFFT_F16_2048
354	select CMSIS_DSP_TABLES_RFFT_F16_8192
355	select CMSIS_DSP_TABLES_RFFT_Q31_32
356	select CMSIS_DSP_TABLES_RFFT_Q31_64
357	select CMSIS_DSP_TABLES_RFFT_Q31_128
358	select CMSIS_DSP_TABLES_RFFT_Q31_256
359	select CMSIS_DSP_TABLES_RFFT_Q31_512
360	select CMSIS_DSP_TABLES_RFFT_Q31_1024
361	select CMSIS_DSP_TABLES_RFFT_Q31_2048
362	select CMSIS_DSP_TABLES_RFFT_Q31_4096
363	select CMSIS_DSP_TABLES_RFFT_Q31_8192
364	select CMSIS_DSP_TABLES_RFFT_Q15_32
365	select CMSIS_DSP_TABLES_RFFT_Q15_64
366	select CMSIS_DSP_TABLES_RFFT_Q15_128
367	select CMSIS_DSP_TABLES_RFFT_Q15_256
368	select CMSIS_DSP_TABLES_RFFT_Q15_512
369	select CMSIS_DSP_TABLES_RFFT_Q15_1024
370	select CMSIS_DSP_TABLES_RFFT_Q15_2048
371	select CMSIS_DSP_TABLES_RFFT_Q15_4096
372	select CMSIS_DSP_TABLES_RFFT_Q15_8192
373	select CMSIS_DSP_TABLES_DCT4_F32_128
374	select CMSIS_DSP_TABLES_DCT4_F32_512
375	select CMSIS_DSP_TABLES_DCT4_F32_2048
376	select CMSIS_DSP_TABLES_DCT4_F32_8192
377	select CMSIS_DSP_TABLES_DCT4_Q31_128
378	select CMSIS_DSP_TABLES_DCT4_Q31_512
379	select CMSIS_DSP_TABLES_DCT4_Q31_2048
380	select CMSIS_DSP_TABLES_DCT4_Q31_8192
381	select CMSIS_DSP_TABLES_DCT4_Q15_128
382	select CMSIS_DSP_TABLES_DCT4_Q15_512
383	select CMSIS_DSP_TABLES_DCT4_Q15_2048
384	select CMSIS_DSP_TABLES_DCT4_Q15_8192
385
386comment "Interpolation Tables"
387
388config CMSIS_DSP_TABLES_ARM_COS_F32
389	bool "cos f32"
390
391config CMSIS_DSP_TABLES_ARM_COS_Q31
392	bool "cos q31"
393
394config CMSIS_DSP_TABLES_ARM_COS_Q15
395	bool "cos q15"
396
397config CMSIS_DSP_TABLES_ARM_SIN_F32
398	bool "sin f32"
399
400config CMSIS_DSP_TABLES_ARM_SIN_Q31
401	bool "sin q31"
402
403config CMSIS_DSP_TABLES_ARM_SIN_Q15
404	bool "sin q15"
405
406config CMSIS_DSP_TABLES_ARM_SIN_COS_F32
407	bool "sin cos f32"
408
409config CMSIS_DSP_TABLES_ARM_SIN_COS_Q31
410	bool "sin cos q31"
411
412config CMSIS_DSP_TABLES_ARM_LMS_NORM_Q31
413	bool "lms norm q31"
414
415config CMSIS_DSP_TABLES_ARM_LMS_NORM_Q15
416	bool "lms norm q15"
417
418config CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q31
419	bool "cmplx mag q31"
420
421config CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15
422	bool "cmplx mag q15"
423
424comment "Transformation Tables"
425
426config CMSIS_DSP_TABLES_CFFT_F64_16
427	bool "cfft f64 16"
428
429config CMSIS_DSP_TABLES_CFFT_F64_32
430	bool "cfft f64 32"
431
432config CMSIS_DSP_TABLES_CFFT_F64_64
433	bool "cfft f64 64"
434
435config CMSIS_DSP_TABLES_CFFT_F64_128
436	bool "cfft f64 128"
437
438config CMSIS_DSP_TABLES_CFFT_F64_256
439	bool "cfft f64 256"
440
441config CMSIS_DSP_TABLES_CFFT_F64_512
442	bool "cfft f64 512"
443
444config CMSIS_DSP_TABLES_CFFT_F64_1024
445	bool "cfft f64 1024"
446
447config CMSIS_DSP_TABLES_CFFT_F64_2048
448	bool "cfft f64 2048"
449
450config CMSIS_DSP_TABLES_CFFT_F64_4096
451	bool "cfft f64 4096"
452
453config CMSIS_DSP_TABLES_CFFT_F32_16
454	bool "cfft f32 16"
455
456config CMSIS_DSP_TABLES_CFFT_F32_32
457	bool "cfft f32 32"
458
459config CMSIS_DSP_TABLES_CFFT_F32_64
460	bool "cfft f32 64"
461
462config CMSIS_DSP_TABLES_CFFT_F32_128
463	bool "cfft f32 128"
464
465config CMSIS_DSP_TABLES_CFFT_F32_256
466	bool "cfft f32 256"
467
468config CMSIS_DSP_TABLES_CFFT_F32_512
469	bool "cfft f32 512"
470
471config CMSIS_DSP_TABLES_CFFT_F32_1024
472	bool "cfft f32 1024"
473
474config CMSIS_DSP_TABLES_CFFT_F32_2048
475	bool "cfft f32 2048"
476
477config CMSIS_DSP_TABLES_CFFT_F32_4096
478	bool "cfft f32 4096"
479
480config CMSIS_DSP_TABLES_CFFT_F16_16
481	bool "cfft f16 16"
482
483config CMSIS_DSP_TABLES_CFFT_F16_32
484	bool "cfft f16 32"
485
486config CMSIS_DSP_TABLES_CFFT_F16_64
487	bool "cfft f16 64"
488
489config CMSIS_DSP_TABLES_CFFT_F16_128
490	bool "cfft f16 128"
491
492config CMSIS_DSP_TABLES_CFFT_F16_256
493	bool "cfft f16 256"
494
495config CMSIS_DSP_TABLES_CFFT_F16_512
496	bool "cfft f16 512"
497
498config CMSIS_DSP_TABLES_CFFT_F16_1024
499	bool "cfft f16 1024"
500
501config CMSIS_DSP_TABLES_CFFT_F16_2048
502	bool "cfft f16 2048"
503
504config CMSIS_DSP_TABLES_CFFT_F16_4096
505	bool "cfft f16 4096"
506
507config CMSIS_DSP_TABLES_CFFT_Q31_16
508	bool "cfft q31 16"
509
510config CMSIS_DSP_TABLES_CFFT_Q31_32
511	bool "cfft q31 32"
512
513config CMSIS_DSP_TABLES_CFFT_Q31_64
514	bool "cfft q31 64"
515
516config CMSIS_DSP_TABLES_CFFT_Q31_128
517	bool "cfft q31 128"
518
519config CMSIS_DSP_TABLES_CFFT_Q31_256
520	bool "cfft q31 256"
521
522config CMSIS_DSP_TABLES_CFFT_Q31_512
523	bool "cfft q31 512"
524
525config CMSIS_DSP_TABLES_CFFT_Q31_1024
526	bool "cfft q31 1024"
527
528config CMSIS_DSP_TABLES_CFFT_Q31_2048
529	bool "cfft q31 2048"
530
531config CMSIS_DSP_TABLES_CFFT_Q31_4096
532	bool "cfft q31 4096"
533
534config CMSIS_DSP_TABLES_CFFT_Q15_16
535	bool "cfft q15 16"
536
537config CMSIS_DSP_TABLES_CFFT_Q15_32
538	bool "cfft q15 32"
539
540config CMSIS_DSP_TABLES_CFFT_Q15_64
541	bool "cfft q15 64"
542
543config CMSIS_DSP_TABLES_CFFT_Q15_128
544	bool "cfft q15 128"
545
546config CMSIS_DSP_TABLES_CFFT_Q15_256
547	bool "cfft q15 256"
548
549config CMSIS_DSP_TABLES_CFFT_Q15_512
550	bool "cfft q15 512"
551
552config CMSIS_DSP_TABLES_CFFT_Q15_1024
553	bool "cfft q15 1024"
554
555config CMSIS_DSP_TABLES_CFFT_Q15_2048
556	bool "cfft q15 2048"
557
558config CMSIS_DSP_TABLES_CFFT_Q15_4096
559	bool "cfft q15 4096"
560
561config CMSIS_DSP_TABLES_CFFT_RADIX4_Q31
562	bool "cfft radix4 q31 (deprecated)"
563
564config CMSIS_DSP_TABLES_CFFT_RADIX4_Q15
565	bool "cfft radix4 q15 (deprecated)"
566
567config CMSIS_DSP_TABLES_CFFT_RADIX2_Q31
568	bool "cfft radix2 q31 (deprecated)"
569
570config CMSIS_DSP_TABLES_CFFT_RADIX2_Q15
571	bool "cfft radix2 q15 (deprecated)"
572
573config CMSIS_DSP_TABLES_RFFT_FAST_F64_32
574	bool "rfft fast f64 32"
575
576config CMSIS_DSP_TABLES_RFFT_FAST_F64_64
577	bool "rfft fast f64 64"
578
579config CMSIS_DSP_TABLES_RFFT_FAST_F64_128
580	bool "rfft fast f64 128"
581
582config CMSIS_DSP_TABLES_RFFT_FAST_F64_256
583	bool "rfft fast f64 256"
584
585config CMSIS_DSP_TABLES_RFFT_FAST_F64_512
586	bool "rfft fast f64 512"
587
588config CMSIS_DSP_TABLES_RFFT_FAST_F64_1024
589	bool "rfft fast f64 1024"
590
591config CMSIS_DSP_TABLES_RFFT_FAST_F64_2048
592	bool "rfft fast f64 2048"
593
594config CMSIS_DSP_TABLES_RFFT_FAST_F64_4096
595	bool "rfft fast f64 4096"
596
597config CMSIS_DSP_TABLES_RFFT_FAST_F32_32
598	bool "rfft fast f32 32"
599
600config CMSIS_DSP_TABLES_RFFT_FAST_F32_64
601	bool "rfft fast f32 64"
602
603config CMSIS_DSP_TABLES_RFFT_FAST_F32_128
604	bool "rfft fast f32 128"
605
606config CMSIS_DSP_TABLES_RFFT_FAST_F32_256
607	bool "rfft fast f32 256"
608
609config CMSIS_DSP_TABLES_RFFT_FAST_F32_512
610	bool "rfft fast f32 512"
611
612config CMSIS_DSP_TABLES_RFFT_FAST_F32_1024
613	bool "rfft fast f32 1024"
614
615config CMSIS_DSP_TABLES_RFFT_FAST_F32_2048
616	bool "rfft fast f32 2048"
617
618config CMSIS_DSP_TABLES_RFFT_FAST_F32_4096
619	bool "rfft fast f32 4096"
620
621config CMSIS_DSP_TABLES_RFFT_FAST_F16_32
622	bool "rfft fast f16 32"
623
624config CMSIS_DSP_TABLES_RFFT_FAST_F16_64
625	bool "rfft fast f16 64"
626
627config CMSIS_DSP_TABLES_RFFT_FAST_F16_128
628	bool "rfft fast f16 128"
629
630config CMSIS_DSP_TABLES_RFFT_FAST_F16_256
631	bool "rfft fast f16 256"
632
633config CMSIS_DSP_TABLES_RFFT_FAST_F16_512
634	bool "rfft fast f16 512"
635
636config CMSIS_DSP_TABLES_RFFT_FAST_F16_1024
637	bool "rfft fast f16 1024"
638
639config CMSIS_DSP_TABLES_RFFT_FAST_F16_2048
640	bool "rfft fast f16 2048"
641
642config CMSIS_DSP_TABLES_RFFT_FAST_F16_4096
643	bool "rfft fast f16 4096"
644
645config CMSIS_DSP_TABLES_RFFT_F32_128
646	bool "rfft f32 128"
647
648config CMSIS_DSP_TABLES_RFFT_F32_512
649	bool "rfft f32 512"
650
651config CMSIS_DSP_TABLES_RFFT_F32_2048
652	bool "rfft f32 2048"
653
654config CMSIS_DSP_TABLES_RFFT_F32_8192
655	bool "rfft f32 8192"
656
657config CMSIS_DSP_TABLES_RFFT_F16_128
658	bool "rfft f16 128"
659
660config CMSIS_DSP_TABLES_RFFT_F16_512
661	bool "rfft f16 512"
662
663config CMSIS_DSP_TABLES_RFFT_F16_2048
664	bool "rfft f16 2048"
665
666config CMSIS_DSP_TABLES_RFFT_F16_8192
667	bool "rfft f16 8192"
668
669config CMSIS_DSP_TABLES_RFFT_Q31_32
670	bool "rfft q31 32"
671
672config CMSIS_DSP_TABLES_RFFT_Q31_64
673	bool "rfft q31 64"
674
675config CMSIS_DSP_TABLES_RFFT_Q31_128
676	bool "rfft q31 128"
677
678config CMSIS_DSP_TABLES_RFFT_Q31_256
679	bool "rfft q31 256"
680
681config CMSIS_DSP_TABLES_RFFT_Q31_512
682	bool "rfft q31 512"
683
684config CMSIS_DSP_TABLES_RFFT_Q31_1024
685	bool "rfft q31 1024"
686
687config CMSIS_DSP_TABLES_RFFT_Q31_2048
688	bool "rfft q31 2048"
689
690config CMSIS_DSP_TABLES_RFFT_Q31_4096
691	bool "rfft q31 4096"
692
693config CMSIS_DSP_TABLES_RFFT_Q31_8192
694	bool "rfft q31 8192"
695
696config CMSIS_DSP_TABLES_RFFT_Q15_32
697	bool "rfft q15 32"
698
699config CMSIS_DSP_TABLES_RFFT_Q15_64
700	bool "rfft q15 64"
701
702config CMSIS_DSP_TABLES_RFFT_Q15_128
703	bool "rfft q15 128"
704
705config CMSIS_DSP_TABLES_RFFT_Q15_256
706	bool "rfft q15 256"
707
708config CMSIS_DSP_TABLES_RFFT_Q15_512
709	bool "rfft q15 512"
710
711config CMSIS_DSP_TABLES_RFFT_Q15_1024
712	bool "rfft q15 1024"
713
714config CMSIS_DSP_TABLES_RFFT_Q15_2048
715	bool "rfft q15 2048"
716
717config CMSIS_DSP_TABLES_RFFT_Q15_4096
718	bool "rfft q15 4096"
719
720config CMSIS_DSP_TABLES_RFFT_Q15_8192
721	bool "rfft q15 8192"
722
723config CMSIS_DSP_TABLES_DCT4_F32_128
724	bool "dct4 f32 128"
725
726config CMSIS_DSP_TABLES_DCT4_F32_512
727	bool "dct4 f32 512"
728
729config CMSIS_DSP_TABLES_DCT4_F32_2048
730	bool "dct4 f32 2048"
731
732config CMSIS_DSP_TABLES_DCT4_F32_8192
733	bool "dct4 f32 8192"
734
735config CMSIS_DSP_TABLES_DCT4_Q31_128
736	bool "dct4 q31 128"
737
738config CMSIS_DSP_TABLES_DCT4_Q31_512
739	bool "dct4 q31 512"
740
741config CMSIS_DSP_TABLES_DCT4_Q31_2048
742	bool "dct4 q31 2048"
743
744config CMSIS_DSP_TABLES_DCT4_Q31_8192
745	bool "dct4 q31 8192"
746
747config CMSIS_DSP_TABLES_DCT4_Q15_128
748	bool "dct4 q15 128"
749
750config CMSIS_DSP_TABLES_DCT4_Q15_512
751	bool "dct4 q15 512"
752
753config CMSIS_DSP_TABLES_DCT4_Q15_2048
754	bool "dct4 q15 2048"
755
756config CMSIS_DSP_TABLES_DCT4_Q15_8192
757	bool "dct4 q15 8192"
758
759endif # CMSIS_DSP_TABLES
760
761comment "Instruction Set"
762# NOTE: These configurations should eventually be derived from the arch ISA and
763#       FP support configurations.
764
765config CMSIS_DSP_NEON
766	bool "Neon Instruction Set"
767	default y
768	depends on CPU_CORTEX_A
769	help
770	  This option enables the NEON Advanced SIMD instruction set, which is
771	  available on most Cortex-A and some Cortex-R processors.
772
773comment "Features"
774
775config CMSIS_DSP_LOOPUNROLL
776	bool "Loop Unrolling"
777	help
778	  This option enables manual loop unrolling in the DSP functions.
779
780config CMSIS_DSP_ROUNDING
781	bool "Rounding"
782	help
783	  This option enables rounding on the support functions.
784
785config CMSIS_DSP_MATRIXCHECK
786	bool "Matrix Check"
787	help
788	  This option enables validation of the input and output sizes of
789	  matrices.
790
791config CMSIS_DSP_AUTOVECTORIZE
792	bool "Auto Vectorize"
793	help
794	  This option prefers autovectorizable code to one using C intrinsics
795	  in the DSP functions.
796
797config CMSIS_DSP_FLOAT16
798	bool "Half-Precision (16-bit Float) Support"
799	default y
800	depends on FP16
801	help
802	  This option enables the half-precision (16-bit) floating-point
803	  operations support.
804