# ALSA codec drivers

Source: [https://docs.qualcomm.com/doc/80-70014-16/topic/alsa_codec_drivers.html](https://docs.qualcomm.com/doc/80-70014-16/topic/alsa_codec_drivers.html)

The codec class driver is generic and hardware-independent ALSA complaint driver that
        configures the codec and WSA power AMP to provide audio capture and playback.

## Device tree configurations

The device tree is a data structure and language used to describe hardware components
                on a System-on-Chip (SoC). It was created by the Open Firmware standards to unify
                the discovery of hardware devices connected to the SoC. The device tree abstracts
                hardware discovery from the Linux kernel source code, eliminating the need for
                hard-coded hardware information.

In addition to the entries of the hardware components, device tree entries also
                contains DAI links for PCM nodes on the SoC. DAI links for PCM nodes are defined in
                device tree and generally adhere to the following
                format:

    wsa-dai-link {
         link-name = "CODEC_DMA-LPAIF_WSA-RX-0";
         cpu {
             sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
         };
         codec {
             sound-dai = <&left_spkr>, <&right_spkr>, <&swr2 0>,
                         <&lpass_wsa_macro 0>;
         };
    };
    Copy to clipboard

In this code snippet, the back-end DAI of WSA is defined. `cpu`
                denotes the entry for CPU. The platform DAI and `codec` node entry is
                for the codec DAI link. The name signifies a DAI-link stream name and is used by AGM
                to configure back-ends.

**Parent Topic:** [Configure Hardware](https://docs.qualcomm.com/doc/80-70014-16/topic/configure.html)

Last Published: Jul 15, 2024

[Previous Topic
Audio hardware interfaces](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/audio_hardware_interfaces.md) [Next Topic
Customize](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/customize.md)