Commit 1518cc83 authored by Andrzej Głąbek's avatar Andrzej Głąbek Committed by Anas Nashif
Browse files

samples: drivers: Add simple application showing how to use DMIC API



Add a very simple application intended to show how to use the Audio
DMIC API and also to be an aid in developing drivers to implement
this API.

Signed-off-by: default avatarAndrzej Głąbek <andrzej.glabek@nordicsemi.no>
parent 1bf7c391
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.13.1)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(dmic)

target_sources(app PRIVATE src/main.c)
+34 −0
Original line number Diff line number Diff line
.. _dmic_sample:

DMIC Sample
###########

Overview
********

This is a very simple application intended to show how to use the Audio DMIC
API and also to be an aid in developing drivers to implement this API.
It performs two PDM transfers with different configurations (using one channel
and two channels) but does not in any way process the received audio data.

Requirements
************

The device to be used by the sample is specified by defining a devicetree node
label named ``dmic_dev``.
The sample has been tested on :ref:`nrf52840dk_nrf52840` (nrf52840dk_nrf52840)
and :ref:`nrf5340dk_nrf5340` (nrf5340dk_nrf5340_cpuapp), and provides overlay
files for both of these boards.

Building and Running
********************

The code can be found in :zephyr_file:`samples/drivers/audio/dmic`.

To build and flash the application:

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/audio/dmic
   :board: nrf52840dk_nrf52840
   :goals: build flash
   :compact:
+12 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2021 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

dmic_dev: &pdm0 {
	status = "okay";
	clk-pin = <30>;
	din-pin = <31>;
	clock-source = "PCLK32M_HFXO";
};
+16 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2021 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&clock {
	hfclkaudio-frequency = <12288000>;
};

dmic_dev: &pdm0 {
	status = "okay";
	clk-pin = <25>;
	din-pin = <26>;
	clock-source = "ACLK";
};
+4 −0
Original line number Diff line number Diff line
CONFIG_AUDIO=y
CONFIG_AUDIO_DMIC=y

CONFIG_LOG=y
Loading