blob: ac57ca89483b9fcedcc934a4b04d75c86dec2a61 [file] [log] [blame]
# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
zephyr_library_sources(
arm_bitreversal.c
arm_bitreversal2.c
# NOTE: The ASM implementation of `arm_bitreversal2` is disabled for now in
# order to allow the compiler to perform ISA and microarchitecture-
# specific optimisations. This may be re-enabled in the future when we
# have a more advanced implementation that supports ARMv8.1-M MVE.
# arm_bitreversal2.S
)
if(
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_16 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_32 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_64 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_128 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_256 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_512 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_1024 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_2048 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_4096
)
zephyr_library_sources(
arm_cfft_f64.c
arm_cfft_init_f64.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_16 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_32 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_64 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_128 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_256 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_512 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_1024 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_2048 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F32_4096
)
zephyr_library_sources(
arm_cfft_radix2_f32.c
arm_cfft_radix4_f32.c
arm_cfft_radix8_f32.c
arm_cfft_f32.c
arm_cfft_init_f32.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_16 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_32 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_64 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_128 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_256 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_512 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_1024 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_2048 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_4096
)
zephyr_library_sources(
arm_cfft_radix2_q31.c
arm_cfft_radix4_q31.c
arm_cfft_q31.c
arm_cfft_init_q31.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_16 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_32 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_64 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_128 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_256 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_512 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_1024 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_2048 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_4096
)
zephyr_library_sources(
arm_cfft_radix2_q15.c
arm_cfft_radix4_q15.c
arm_cfft_q15.c
arm_cfft_init_q15.c
)
endif()
if(CONFIG_CMSIS_DSP_TABLES_ALL_FFT)
zephyr_library_sources(
arm_cfft_radix2_init_q15.c
arm_cfft_radix2_init_q31.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_32 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_64 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_128 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_256 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_512 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_1024 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_2048 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_4096
)
zephyr_library_sources(
arm_rfft_fast_f64.c
arm_rfft_fast_init_f64.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_32 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_64 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_128 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_256 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_512 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_1024 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_2048 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_4096
)
zephyr_library_sources(
arm_rfft_fast_f32.c
arm_rfft_fast_init_f32.c
arm_cfft_f32.c
arm_cfft_init_f32.c
arm_cfft_radix8_f32.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_128 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_512 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_2048 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_8192
)
zephyr_library_sources(
arm_rfft_init_f32.c
arm_rfft_f32.c
arm_cfft_radix4_init_f32.c
arm_cfft_radix4_f32.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_32 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_64 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_128 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_256 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_512 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_1024 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_2048 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_4096 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_8192
)
zephyr_library_sources(
arm_rfft_init_q31.c
arm_rfft_q31.c
arm_cfft_q31.c
arm_cfft_init_q31.c
arm_cfft_radix4_q31.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_32 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_64 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_128 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_256 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_512 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_1024 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_2048 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_4096 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q15_8192
)
zephyr_library_sources(
arm_rfft_init_q15.c
arm_rfft_q15.c
arm_cfft_q15.c
arm_cfft_init_q15.c
arm_cfft_radix4_q15.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_DCT4_F32_128 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_F32_512 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_F32_2048 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_F32_8192
)
zephyr_library_sources(
arm_dct4_f32.c
arm_dct4_init_f32.c
arm_rfft_init_f32.c
arm_rfft_f32.c
arm_cfft_radix4_init_f32.c
arm_cfft_radix4_f32.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_128 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_512 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_2048 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_Q31_8192
)
zephyr_library_sources(
arm_dct4_q31.c
arm_dct4_init_q31.c
arm_rfft_init_q31.c
arm_rfft_q31.c
arm_cfft_q31.c
arm_cfft_init_q31.c
arm_cfft_radix4_init_q31.c
arm_cfft_radix4_q31.c
)
endif()
if(
CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_128 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_512 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_2048 OR
CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_8192
)
zephyr_library_sources(
arm_dct4_q15.c
arm_dct4_init_q15.c
arm_rfft_init_q15.c
arm_rfft_q15.c
arm_cfft_q15.c
arm_cfft_init_q15.c
arm_cfft_radix4_init_q15.c
arm_cfft_radix4_q15.c
)
endif()
if(CONFIG_CMSIS_DSP_WRAPPER)
zephyr_library_sources(
arm_cfft_radix2_init_f32.c
)
endif()