blob: 6b5f936ccc3e09e0946923c5750738825b35a349 [file] [log] [blame]
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +09001# 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +090013 * Elementwise Clipping
14 * Vector Absolute Value
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090015 * 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
Yuval Peressb38445e2022-10-06 23:54:46 -060032 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090033 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"
Yuval Peressb38445e2022-10-06 23:54:46 -060046 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090047 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
Yuval Peressb38445e2022-10-06 23:54:46 -060066 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090067 help
68 This option enables the Fast Math Functions, which support the
69 following operations:
70
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +090071 * Fixed-Point Division
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090072 * Sine
73 * Cosine
74 * Square Root
75
76config CMSIS_DSP_FILTERING
77 bool "Filtering Functions"
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +090078 imply CMSIS_DSP_FASTMATH
79 imply CMSIS_DSP_SUPPORT
Yuval Peressb38445e2022-10-06 23:54:46 -060080 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090081 help
82 This option enables the Filtering Functions, which support the
83 following operations:
84
85 * Convolution
86 * Partial Convolution
87 * Correlation
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +090088 * Levinson-Durbin Algorithm
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +090089
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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900104config CMSIS_DSP_INTERPOLATION
105 bool "Interpolation Functions"
Yuval Peressb38445e2022-10-06 23:54:46 -0600106 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900107 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900115config CMSIS_DSP_MATRIX
116 bool "Matrix Functions"
Yuval Peressb38445e2022-10-06 23:54:46 -0600117 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900118 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900127 * Matrix Vector Multiplication
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900128 * Matrix Inverse
129 * Matrix Scale
130 * Matrix Transpose
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900131 * Complex Matrix Transpose
132 * Cholesky and LDLT Decompositions
133
134config CMSIS_DSP_QUATERNIONMATH
135 bool "Quaternion Math Functions"
Yuval Peressb38445e2022-10-06 23:54:46 -0600136 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900137 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900147
148config CMSIS_DSP_STATISTICS
149 bool "Statistics Functions"
150 imply CMSIS_DSP_BASICMATH
151 imply CMSIS_DSP_FASTMATH
Yuval Peressb38445e2022-10-06 23:54:46 -0600152 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900153 help
154 This option enables the Statistics Functions, which support the
155 following operations:
156
157 * Minimum
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900158 * Absolute Minimum
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900159 * Maximum
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900160 * Absolute Maximum
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900161 * Mean
162 * Root Mean Square (RMS)
163 * Variance
164 * Standard Deviation
165 * Power
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900166 * Entropy
167 * Kullback-Leibler Divergence
168 * LogSumExp (LSE)
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900169
170config CMSIS_DSP_SUPPORT
171 bool "Support Functions"
Yuval Peressb38445e2022-10-06 23:54:46 -0600172 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900173 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900180 * Vector 16-bit Floating-Point Value Conversion
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900181 * Vector 32-bit Floating-Point Value Conversion
182 * Vector Copy
183 * Vector Fill
184 * Vector Sorting
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900185 * Weighted Sum
186 * Barycenter
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900187
188config CMSIS_DSP_TRANSFORM
189 bool "Transform Functions"
190 select CMSIS_DSP_TABLES
191 imply CMSIS_DSP_TABLES_ALL_FFT
Yuval Peressb38445e2022-10-06 23:54:46 -0600192 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900193 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"
Stephanos Ioannidis0fb4a352022-05-03 20:40:08 +0900203 select CMSIS_DSP_TABLES
Yuval Peressb38445e2022-10-06 23:54:46 -0600204 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900205 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
Yuval Peressb38445e2022-10-06 23:54:46 -0600217 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900218 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
Yuval Peressb38445e2022-10-06 23:54:46 -0600225 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900226 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"
Yuval Peressb38445e2022-10-06 23:54:46 -0600254 depends on CPU_CORTEX || ARCH_POSIX
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900255 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900296 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900305 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900339 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900347 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900351 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900355 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900480config 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900507config 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900561config 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900573config 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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900621config CMSIS_DSP_TABLES_RFFT_FAST_F16_32
622 bool "rfft fast f16 32"
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900623
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900624config CMSIS_DSP_TABLES_RFFT_FAST_F16_64
625 bool "rfft fast f16 64"
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900626
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900627config CMSIS_DSP_TABLES_RFFT_FAST_F16_128
628 bool "rfft fast f16 128"
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900629
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900630config 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"
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900644
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
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900657config 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900669config 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
Stephanos Ioannidisb0041fc2020-04-13 10:38:14 +0900773comment "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.
Stephanos Ioannidis2e5204b2021-08-17 03:44:45 +0900796
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.