samples: dmic: Add sample bit width configuration
- in order to support different bit widths introduce a Kconfig parameter
SAMPLE_BIT_WIDTH used in the main.c - default is 16 bits
- for platforms with NXP micfil peripheral, default is 32 bits
- BYTES_PER_SAMPLE needs to correspond to BIT_WIDTH
Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
diff --git a/samples/drivers/audio/dmic/Kconfig b/samples/drivers/audio/dmic/Kconfig
new file mode 100644
index 0000000..90d5c83
--- /dev/null
+++ b/samples/drivers/audio/dmic/Kconfig
@@ -0,0 +1,11 @@
+# Copyright 2025 NXP
+# SPDX-License-Identifier: Apache-2.0
+
+source "Kconfig.zephyr"
+
+config SAMPLE_BIT_WIDTH
+ int "Sample bit width"
+ default 32 if DT_HAS_NXP_MICFIL_ENABLED
+ default 16
+ help
+ PCM sample bit width.
diff --git a/samples/drivers/audio/dmic/src/main.c b/samples/drivers/audio/dmic/src/main.c
index 70c5f14..2416fb6 100644
--- a/samples/drivers/audio/dmic/src/main.c
+++ b/samples/drivers/audio/dmic/src/main.c
@@ -11,8 +11,8 @@
LOG_MODULE_REGISTER(dmic_sample);
#define MAX_SAMPLE_RATE 16000
-#define SAMPLE_BIT_WIDTH 16
-#define BYTES_PER_SAMPLE sizeof(int16_t)
+#define SAMPLE_BIT_WIDTH CONFIG_SAMPLE_BIT_WIDTH
+#define BYTES_PER_SAMPLE SAMPLE_BIT_WIDTH / 8
/* Milliseconds to wait for a block to be read. */
#define READ_TIMEOUT 1000