1c72fcc34Sopenharmony_ci==========
2c72fcc34Sopenharmony_ci alsatplg
3c72fcc34Sopenharmony_ci==========
4c72fcc34Sopenharmony_ci
5c72fcc34Sopenharmony_ci----------------------
6c72fcc34Sopenharmony_ciALSA Topology Compiler
7c72fcc34Sopenharmony_ci----------------------
8c72fcc34Sopenharmony_ci
9c72fcc34Sopenharmony_ci:Author: Jaroslav Kysela <perex@perex.cz>
10c72fcc34Sopenharmony_ci:Date:   2018-10-09
11c72fcc34Sopenharmony_ci:Copyright: GPLv2+
12c72fcc34Sopenharmony_ci:Manual section: 1
13c72fcc34Sopenharmony_ci:Manual group: General Commands Manual
14c72fcc34Sopenharmony_ci
15c72fcc34Sopenharmony_ciSYNOPSIS
16c72fcc34Sopenharmony_ci========
17c72fcc34Sopenharmony_ci
18c72fcc34Sopenharmony_ci*alsatplg* <options> [command]
19c72fcc34Sopenharmony_ci
20c72fcc34Sopenharmony_ciDESCRIPTION
21c72fcc34Sopenharmony_ci===========
22c72fcc34Sopenharmony_ci
23c72fcc34Sopenharmony_cialsatplg (ALSA Topology compiler) is a program to compile topology
24c72fcc34Sopenharmony_ciconfiguration file to the binary file for the kernel drivers.
25c72fcc34Sopenharmony_ci
26c72fcc34Sopenharmony_ciCurrent audio drivers typically hard code topology information
27c72fcc34Sopenharmony_ciin the driver sources: This tightly couples the audio driver
28c72fcc34Sopenharmony_cito the development board making it time consuming to modify
29c72fcc34Sopenharmony_cia driver to work on a different devices. The driver is also
30c72fcc34Sopenharmony_citightly coupled to the DSP firmware version meaning extra care
31c72fcc34Sopenharmony_ciis needed to keep the driver and firmware version in sync.
32c72fcc34Sopenharmony_ciNew firmware features also mean driver updates.
33c72fcc34Sopenharmony_ci
34c72fcc34Sopenharmony_ciThe ALSA topology project removes the need for re-writing or
35c72fcc34Sopenharmony_ciporting audio drivers to different devices or different firmwares:
36c72fcc34Sopenharmony_ciDrivers have no hard coded topology data meaning a single driver
37c72fcc34Sopenharmony_cican be used on different devices by updating the topology data
38c72fcc34Sopenharmony_cifrom the file system. Firmware updates can be pushed without
39c72fcc34Sopenharmony_cihaving to update the drivers. The new firmware just needs
40c72fcc34Sopenharmony_cito include an updated topology file describing the update.
41c72fcc34Sopenharmony_ci
42c72fcc34Sopenharmony_ciOPTIONS
43c72fcc34Sopenharmony_ci=======
44c72fcc34Sopenharmony_ci
45c72fcc34Sopenharmony_ciAvailable options:
46c72fcc34Sopenharmony_ci
47c72fcc34Sopenharmony_ci  **-h**, **--help**
48c72fcc34Sopenharmony_ci    this help
49c72fcc34Sopenharmony_ci
50c72fcc34Sopenharmony_ci  **-V**, **--version**
51c72fcc34Sopenharmony_ci    show the utility version and versions of used libraries
52c72fcc34Sopenharmony_ci
53c72fcc34Sopenharmony_ci  **-c**, **--compile** `FILE`
54c72fcc34Sopenharmony_ci    source configuration file for the compilation
55c72fcc34Sopenharmony_ci
56c72fcc34Sopenharmony_ci  **-d**, **--decode** `FILE`
57c72fcc34Sopenharmony_ci    source binary topology file for the decode
58c72fcc34Sopenharmony_ci
59c72fcc34Sopenharmony_ci  **-n**, **--normalize** `FILE`
60c72fcc34Sopenharmony_ci    parse and save the configuration file in the normalized format
61c72fcc34Sopenharmony_ci
62c72fcc34Sopenharmony_ci  **-u**, **--dump** `FILE`
63c72fcc34Sopenharmony_ci    parse and save the configuration file in the specified format
64c72fcc34Sopenharmony_ci
65c72fcc34Sopenharmony_ci  **-o**, **--output** `FILE`
66c72fcc34Sopenharmony_ci    output file
67c72fcc34Sopenharmony_ci
68c72fcc34Sopenharmony_ci  **-v**, **--verbose** `LEVEL`
69c72fcc34Sopenharmony_ci    set verbose level
70c72fcc34Sopenharmony_ci
71c72fcc34Sopenharmony_ci  **-s**, **--sort**
72c72fcc34Sopenharmony_ci    sort the configuration identifiers (set for normalization)
73c72fcc34Sopenharmony_ci
74c72fcc34Sopenharmony_ci  **-x**, **--nocheck**
75c72fcc34Sopenharmony_ci    save the configuration without additional integrity check
76c72fcc34Sopenharmony_ci
77c72fcc34Sopenharmony_ci  **-z**, **--dapm-nosort**
78c72fcc34Sopenharmony_ci    do not sort DAPM graph items (like in version 1.2.1-)
79c72fcc34Sopenharmony_ci
80c72fcc34Sopenharmony_ci
81c72fcc34Sopenharmony_ciFILES
82c72fcc34Sopenharmony_ci=====
83c72fcc34Sopenharmony_ci
84c72fcc34Sopenharmony_ciThe master topology files for each supported sound card are in
85c72fcc34Sopenharmony_ci``/usr/share/alsa/topology``.
86c72fcc34Sopenharmony_ci
87c72fcc34Sopenharmony_ciFor example, the master use case file for the `broadwell` card is in
88c72fcc34Sopenharmony_ci``/usr/share/alsa/topology/broadwell/broadwell.conf``, this file
89c72fcc34Sopenharmony_cidescribes the audio hardware for the driver.
90c72fcc34Sopenharmony_ci
91c72fcc34Sopenharmony_ciFor more details on the syntax of UCM files, see the alsa-lib source code:
92c72fcc34Sopenharmony_cihttp://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/topology/parser.c
93c72fcc34Sopenharmony_ci
94c72fcc34Sopenharmony_ciSEE ALSO
95c72fcc34Sopenharmony_ci========
96c72fcc34Sopenharmony_ci
97c72fcc34Sopenharmony_ci* Topology Interface: http://www.alsa-project.org/alsa-doc/alsa-lib/group__topology.html
98c72fcc34Sopenharmony_ci
99c72fcc34Sopenharmony_ciBUGS
100c72fcc34Sopenharmony_ci====
101c72fcc34Sopenharmony_ci
102c72fcc34Sopenharmony_ciNone known.
103