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