mirror of https://github.com/thesofproject/sof.git
mfcc: enable building as an llext module
Add support for LLEXT building to mfcc. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
parent
661c05dfc5
commit
1b38612460
|
@ -9,6 +9,7 @@ CONFIG_COMP_SEL=m
|
|||
CONFIG_COMP_SRC=m
|
||||
CONFIG_COMP_ARIA=m
|
||||
CONFIG_COMP_ASRC=m
|
||||
CONFIG_COMP_MFCC=m
|
||||
CONFIG_COMP_RTNR=m
|
||||
CONFIG_COMP_TDFB=m
|
||||
CONFIG_COMP_IGO_NR=m
|
||||
|
|
|
@ -9,6 +9,7 @@ CONFIG_COMP_SEL=m
|
|||
CONFIG_COMP_SRC=m
|
||||
CONFIG_COMP_ARIA=m
|
||||
CONFIG_COMP_ASRC=m
|
||||
CONFIG_COMP_MFCC=m
|
||||
CONFIG_COMP_RTNR=m
|
||||
CONFIG_COMP_TDFB=m
|
||||
CONFIG_COMP_IGO_NR=m
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
config COMP_MFCC
|
||||
bool "MFCC component"
|
||||
tristate "MFCC component"
|
||||
depends on COMP_MODULE_ADAPTER
|
||||
select CORDIC_FIXED
|
||||
select MATH_16BIT_MEL_FILTERBANK
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
# Copyright (c) 2024 Intel Corporation.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
sof_llext_build("mfcc"
|
||||
SOURCES ../mfcc.c
|
||||
../mfcc_setup.c
|
||||
../mfcc_common.c
|
||||
../mfcc_generic.c
|
||||
../mfcc_hifi3.c
|
||||
../mfcc_hifi4.c
|
||||
)
|
|
@ -0,0 +1,6 @@
|
|||
#include <tools/rimage/config/platform.toml>
|
||||
#define LOAD_TYPE "2"
|
||||
#include "../mfcc.toml"
|
||||
|
||||
[module]
|
||||
count = __COUNTER__
|
|
@ -259,3 +259,22 @@ static const struct module_interface mfcc_interface = {
|
|||
|
||||
DECLARE_MODULE_ADAPTER(mfcc_interface, mfcc_uuid, mfcc_tr);
|
||||
SOF_MODULE_INIT(mfcc, sys_comp_module_mfcc_interface_init);
|
||||
|
||||
#if CONFIG_COMP_MFCC_MODULE
|
||||
/* modular: llext dynamic link */
|
||||
|
||||
#include <module/module/api_ver.h>
|
||||
#include <module/module/llext.h>
|
||||
#include <rimage/sof/user/manifest.h>
|
||||
|
||||
#define UUID_MFCC 0x73, 0xA7, 0x10, 0xDB, 0xA4, 0x1A, 0xEA, 0x4C, 0x1F, 0xA2, \
|
||||
0x2D, 0x57, 0xA5, 0xC9, 0x82, 0xEB
|
||||
|
||||
SOF_LLEXT_MOD_ENTRY(mfcc, &mfcc_interface);
|
||||
|
||||
static const struct sof_man_module_manifest mod_manifest __section(".module") __used =
|
||||
SOF_LLEXT_MODULE_MANIFEST("MFCC", mfcc_llext_entry, 1, UUID_MFCC, 40);
|
||||
|
||||
SOF_LLEXT_BUILDINFO;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1005,14 +1005,20 @@ zephyr_library_sources_ifdef(CONFIG_COMP_MUX
|
|||
${SOF_AUDIO_PATH}/mux/mux_${ipc_suffix}.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_COMP_MFCC
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_setup.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_common.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_generic.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_hifi3.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_hifi4.c
|
||||
)
|
||||
if(CONFIG_COMP_MFCC STREQUAL "m")
|
||||
add_subdirectory(${SOF_AUDIO_PATH}/mfcc/llext
|
||||
${PROJECT_BINARY_DIR}/mfcc_llext)
|
||||
add_dependencies(app mfcc)
|
||||
elseif(CONFIG_COMP_MFCC)
|
||||
zephyr_library_sources_ifdef(CONFIG_COMP_MFCC
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_setup.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_common.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_generic.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_hifi3.c
|
||||
${SOF_AUDIO_PATH}/mfcc/mfcc_hifi4.c
|
||||
)
|
||||
endif()
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_COMP_GOOGLE_HOTWORD_DETECT
|
||||
${SOF_AUDIO_PATH}/google/google_hotword_detect.c
|
||||
|
|
Loading…
Reference in New Issue