mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	topology: Add doc for vendor tuples
Describe how to define vendor tokens and tuples in the text conf file. Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									6b31bf8edb
								
							
						
					
					
						commit
						2fd8d388f5
					
				
					 1 changed files with 73 additions and 4 deletions
				
			
		| 
						 | 
					@ -203,12 +203,77 @@ extern "C" {
 | 
				
			||||||
 *	bytes "0x12,0x34,0x56,0x78"
 | 
					 *	bytes "0x12,0x34,0x56,0x78"
 | 
				
			||||||
 *	shorts "0x1122,0x3344,0x5566,0x7788"
 | 
					 *	shorts "0x1122,0x3344,0x5566,0x7788"
 | 
				
			||||||
 *	words "0xaabbccdd,0x11223344,0x66aa77bb,0xefef1234"
 | 
					 *	words "0xaabbccdd,0x11223344,0x66aa77bb,0xefef1234"
 | 
				
			||||||
 | 
					 *	tuples "section id of the vendor tuples"
 | 
				
			||||||
 * };
 | 
					 * };
 | 
				
			||||||
 * </pre>
 | 
					 * </pre>
 | 
				
			||||||
 * The file, bytes, shorts and words keywords are all mutually exclusive as
 | 
					 * The file, bytes, shorts, words and tuples keywords are all mutually
 | 
				
			||||||
 * the private data should only be taken from one source.  The private data can
 | 
					 * exclusive as the private data should only be taken from one source.
 | 
				
			||||||
 * either be read from a separate file or defined in the topology file using
 | 
					 * The private data can either be read from a separate file or defined in
 | 
				
			||||||
 * the bytes, shorts or words keywords.
 | 
					 * the topology file using the bytes, shorts, words or tuples keywords.
 | 
				
			||||||
 | 
					 * The keyword tuples is to define vendor specific tuples. Please refer to
 | 
				
			||||||
 | 
					 * section Vendor Tokens and Vendor tuples.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  <h6>Vendor Tokens</h6>
 | 
				
			||||||
 | 
					 * A vendor token list is defined as a new section. Each token element is
 | 
				
			||||||
 | 
					 * a pair of string ID and integer value. And both the ID and value are
 | 
				
			||||||
 | 
					 * vendor-specific.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * <pre>
 | 
				
			||||||
 | 
					 * SectionVendorTokens."id of the vendor tokens" {
 | 
				
			||||||
 | 
					 *	comment "optional comments"
 | 
				
			||||||
 | 
					 *	VENDOR_TOKEN_ID1 "1"
 | 
				
			||||||
 | 
					 *	VENDOR_TOKEN_ID2 "2"
 | 
				
			||||||
 | 
					 *	VENDOR_TOKEN_ID3 "3"
 | 
				
			||||||
 | 
					 *	...
 | 
				
			||||||
 | 
					 * }
 | 
				
			||||||
 | 
					 * </pre>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  <h6>Vendor Tuples</h6>
 | 
				
			||||||
 | 
					 * Vendor tuples are defined as a new section. It contains a reference to
 | 
				
			||||||
 | 
					 * a vendor token list and several tuple arrays.
 | 
				
			||||||
 | 
					 * All arrays share a vendor token list, defined by the tokens keyword.
 | 
				
			||||||
 | 
					 * Each tuple array is for a specific type, defined by the string following
 | 
				
			||||||
 | 
					 * the tuples keyword. Supported types are: string, uuid, bool, byte,
 | 
				
			||||||
 | 
					 * short and word.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * <pre>
 | 
				
			||||||
 | 
					 * SectionVendorTuples."id of the vendor tuples" {
 | 
				
			||||||
 | 
					 *	tokens "id of the vendor tokens"
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *	tuples."string" {
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID1 "character string"
 | 
				
			||||||
 | 
					 *		...
 | 
				
			||||||
 | 
					 *	}
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *	tuples."uuid" {
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID2 "16 character uuid"
 | 
				
			||||||
 | 
					 *		...
 | 
				
			||||||
 | 
					 *	}
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *	tuples."bool" {
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID3 "true/false"
 | 
				
			||||||
 | 
					 *		...
 | 
				
			||||||
 | 
					 *	}
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *	tuples."byte" {
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID4 "0x11"
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID5 "0x22"
 | 
				
			||||||
 | 
					 *		...
 | 
				
			||||||
 | 
					 *	}
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *	tuples."short" {
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID6 "0x1122"
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID7 "0x3344"
 | 
				
			||||||
 | 
					 *		...
 | 
				
			||||||
 | 
					 *	}
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *	tuples."word" {
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID8 "0x11223344"
 | 
				
			||||||
 | 
					 *		VENDOR_TOKEN_ID9 "0x55667788"
 | 
				
			||||||
 | 
					 *		...
 | 
				
			||||||
 | 
					 *	}
 | 
				
			||||||
 | 
					 * }
 | 
				
			||||||
 | 
					 * </pre>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * <h5>Mixer Controls</h5>
 | 
					 * <h5>Mixer Controls</h5>
 | 
				
			||||||
 * A mixer control is defined as a new section that can include channel mapping,
 | 
					 * A mixer control is defined as a new section that can include channel mapping,
 | 
				
			||||||
| 
						 | 
					@ -389,6 +454,10 @@ extern "C" {
 | 
				
			||||||
 * fields are the same for widgets as they are for controls whilst the other
 | 
					 * fields are the same for widgets as they are for controls whilst the other
 | 
				
			||||||
 * fields map on very closely to the driver widget fields.
 | 
					 * fields map on very closely to the driver widget fields.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * <h5>Widget Private Data</h5>
 | 
				
			||||||
 | 
					 * Widget can have private data. For the format of the private data, please
 | 
				
			||||||
 | 
					 * refer to section Control Private Data.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * <h4>PCM Capabilities</h4>
 | 
					 * <h4>PCM Capabilities</h4>
 | 
				
			||||||
 * Topology can also define the capabilities of FE and BE PCMs. Capabilities
 | 
					 * Topology can also define the capabilities of FE and BE PCMs. Capabilities
 | 
				
			||||||
 * can be defined with the following section :-
 | 
					 * can be defined with the following section :-
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue