The purpose of this page is to describe the Xilinx ALSA sound card driver based on ASoC framework.
Xilinx ASoC audio driver architecture has the characteristics of high code re-usability and modularity. This solution is tested using ALSA applications (arecord/aplay) and GStreamer. Xilinx ASoC architecture extends ALSA framework to support in embedded audio system.
An Audio Sound card has following components in software:
A sound card, encapsulating playback and capture devices will be visible as single entity to the end user. There can be many playback and capture devices within a sound card and there can be multiple sound cards in a system.
The role ofmachine driveris to create a pipeline out of the mentioned drivers above. This glue or DAI(Digital Audio Interface) link is made using registered device names or device nodes (using OF kernel framework). Each proper DAI link will result as a device in a sound card. A sound card is thus a logical grouping of several such devices.
Audio Formatter driver is responsible for creating the 'platform device' for the sound card. While creating the device, it passes the device tree node of either I2S/HDMI/SDI/SPDIF depending on the kind of sound card being created. The node of I2S/HDMI/SDI/SDPDIF also carries a reference to phandle of audio formatter node depicting the pipeline used in the system solution. Once, sound card driver detects the kind of audio node (I2S/HDMI/SDI/SPDIF), proper DAI link is selected from the available links.