1 /*
2  * Copyright (c) 2018, Intel Corporation
3  * All rights reserved.
4  *
5  * Author:	Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
6  *		Sathish Kuttan <sathish.k.kuttan@intel.com>
7  *
8  * SPDX-License-Identifier: Apache-2.0
9  */
10 
11 /* PDM decimation FIR filters */
12 
13 #include <zephyr.h>
14 
15 #include "pdm_decim_fir.h"
16 
17 extern struct pdm_decim pdm_decim_int32_02_4375_5100_010_095;
18 extern struct pdm_decim pdm_decim_int32_02_4288_5100_010_095;
19 extern struct pdm_decim pdm_decim_int32_03_4375_5100_010_095;
20 extern struct pdm_decim pdm_decim_int32_03_3850_5100_010_095;
21 extern struct pdm_decim pdm_decim_int32_04_4375_5100_010_095;
22 extern struct pdm_decim pdm_decim_int32_05_4331_5100_010_095;
23 extern struct pdm_decim pdm_decim_int32_06_4156_5100_010_095;
24 extern struct pdm_decim pdm_decim_int32_08_4156_5380_010_090;
25 
26 /* Note: Higher spec filter must be before lower spec filter
27  * if there are multiple filters for a decimation factor. The naming
28  * scheme of coefficients set is:
29  * <type>_<decim factor>_<rel passband>_<rel stopband>_<ripple>_<attenuation>
30  */
31 static struct pdm_decim *fir_list[DMIC_FIR_LIST_LENGTH] = {
32 	&pdm_decim_int32_02_4375_5100_010_095,
33 	&pdm_decim_int32_02_4288_5100_010_095,
34 	&pdm_decim_int32_03_4375_5100_010_095,
35 	&pdm_decim_int32_03_3850_5100_010_095,
36 	&pdm_decim_int32_04_4375_5100_010_095,
37 	&pdm_decim_int32_05_4331_5100_010_095,
38 	&pdm_decim_int32_06_4156_5100_010_095,
39 	&pdm_decim_int32_08_4156_5380_010_090,
40 };
41 
pdm_decim_get_fir_list(void)42 struct pdm_decim **pdm_decim_get_fir_list(void)
43 {
44 	return fir_list;
45 }
46