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