Blame topology/alsatplg.rst

Packit 229ac0
==========
Packit 229ac0
 alsatplg
Packit 229ac0
==========
Packit 229ac0
Packit 229ac0
----------------------
Packit 229ac0
ALSA Topology Compiler
Packit 229ac0
----------------------
Packit 229ac0
Packit 229ac0
:Author: Jaroslav Kysela <perex@perex.cz>
Packit 229ac0
:Date:   2018-10-09
Packit 229ac0
:Copyright: GPLv2+
Packit 229ac0
:Manual section: 1
Packit 229ac0
:Manual group: General Commands Manual
Packit 229ac0
Packit 229ac0
SYNOPSIS
Packit 229ac0
========
Packit 229ac0
Packit 229ac0
*alsatplg* <options> [command]
Packit 229ac0
Packit 229ac0
DESCRIPTION
Packit 229ac0
===========
Packit 229ac0
Packit 229ac0
alsatplg (ALSA Topology compiler) is a program to compile topology
Packit 229ac0
configuration file to the binary file for the kernel drivers.
Packit 229ac0
Packit 229ac0
Current audio drivers typically hard code topology information
Packit 229ac0
in the driver sources: This tightly couples the audio driver
Packit 229ac0
to the development board making it time consuming to modify
Packit 229ac0
a driver to work on a different devices. The driver is also
Packit 229ac0
tightly coupled to the DSP firmware version meaning extra care
Packit 229ac0
is needed to keep the driver and firmware version in sync.
Packit 229ac0
New firmware features also mean driver updates.
Packit 229ac0
Packit 229ac0
The ALSA topology project removes the need for re-writing or
Packit 229ac0
porting audio drivers to different devices or different firmwares:
Packit 229ac0
Drivers have no hard coded topology data meaning a single driver
Packit 229ac0
can be used on different devices by updating the topology data
Packit 229ac0
from the file system. Firmware updates can be pushed without
Packit 229ac0
having to update the drivers. The new firmware just needs
Packit 229ac0
to include an updated topology file describing the update.
Packit 229ac0
Packit 229ac0
OPTIONS
Packit 229ac0
=======
Packit 229ac0
Packit 229ac0
Available options:
Packit 229ac0
Packit 229ac0
  **-h**, **--help**
Packit 229ac0
    this help
Packit 229ac0
Packit 229ac0
  **-c**, **--compile** `FILE`
Packit 229ac0
    source configuration file for the compilation
Packit 229ac0
Packit 229ac0
  **-o**, **--output** `FILE`
Packit 229ac0
    output binary file
Packit 229ac0
Packit 229ac0
  **-v**, **--verbose** `LEVEL`
Packit 229ac0
    set verbose level
Packit 229ac0
Packit 229ac0
Packit 229ac0
FILES
Packit 229ac0
=====
Packit 229ac0
Packit 229ac0
The master topology files for each supported sound card are in
Packit 229ac0
``/usr/share/alsa/topology``.
Packit 229ac0
Packit 229ac0
For example, the master use case file for the `broadwell` card is in
Packit 229ac0
``/usr/share/alsa/topology/broadwell/broadwell.conf``, this file
Packit 229ac0
describes the audio hardware for the driver.
Packit 229ac0
Packit 229ac0
For more details on the syntax of UCM files, see the alsa-lib source code:
Packit 229ac0
http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/topology/parser.c
Packit 229ac0
Packit 229ac0
SEE ALSO
Packit 229ac0
========
Packit 229ac0
Packit 229ac0
* Topology Interface: http://www.alsa-project.org/alsa-doc/alsa-lib/group__topology.html
Packit 229ac0
Packit 229ac0
BUGS
Packit 229ac0
====
Packit 229ac0
Packit 229ac0
None known.