|
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.
|