1 /*
2  * Copyright 2025 Embeint Pty Ltd
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/kernel.h>
8 #include <zephyr/audio/dmic.h>
9 #include <zephyr/ztest.h>
10 
ZTEST(dmic_util,test_io_cfg_get)11 ZTEST(dmic_util, test_io_cfg_get)
12 {
13 	const struct pdm_io_cfg cfg0 = PDM_DT_IO_CFG_GET(DT_NODELABEL(dmic_cfg0));
14 	const struct pdm_io_cfg cfg1 = PDM_DT_IO_CFG_GET(DT_NODELABEL(dmic_cfg1));
15 	const struct pdm_io_cfg cfg2 = PDM_DT_IO_CFG_GET(DT_NODELABEL(dmic_cfg2));
16 
17 	zassert_equal(1000000, cfg0.min_pdm_clk_freq);
18 	zassert_equal(2000000, cfg0.max_pdm_clk_freq);
19 	zassert_equal(45, cfg0.min_pdm_clk_dc);
20 	zassert_equal(55, cfg0.max_pdm_clk_dc);
21 
22 	zassert_equal(100000, cfg1.min_pdm_clk_freq);
23 	zassert_equal(400000, cfg1.max_pdm_clk_freq);
24 	zassert_equal(40, cfg1.min_pdm_clk_dc);
25 	zassert_equal(60, cfg1.max_pdm_clk_dc);
26 
27 	zassert_equal(150000, cfg2.min_pdm_clk_freq);
28 	zassert_equal(450000, cfg2.max_pdm_clk_freq);
29 	zassert_equal(49, cfg2.min_pdm_clk_dc);
30 	zassert_equal(51, cfg2.max_pdm_clk_dc);
31 }
32 
ZTEST(dmic_util,test_channel_query)33 ZTEST(dmic_util, test_channel_query)
34 {
35 	zassert_true(PDM_DT_HAS_LEFT_CHANNEL(DT_NODELABEL(dmic_cfg0)));
36 	zassert_false(PDM_DT_HAS_RIGHT_CHANNEL(DT_NODELABEL(dmic_cfg0)));
37 
38 	zassert_false(PDM_DT_HAS_LEFT_CHANNEL(DT_NODELABEL(dmic_cfg1)));
39 	zassert_true(PDM_DT_HAS_RIGHT_CHANNEL(DT_NODELABEL(dmic_cfg1)));
40 
41 	zassert_true(PDM_DT_HAS_LEFT_CHANNEL(DT_NODELABEL(dmic_cfg2)));
42 	zassert_true(PDM_DT_HAS_RIGHT_CHANNEL(DT_NODELABEL(dmic_cfg2)));
43 }
44 
45 ZTEST_SUITE(dmic_util, NULL, NULL, NULL, NULL, NULL);
46