What:		/config/usb-gadget/gadget/functions/uac2.name
Date:		Sep 2014
KernelVersion:	3.18
Description:
		The attributes:

		=====================	=======================================
		c_chmask		capture channel mask
		c_srate			list of capture sampling rates (comma-separated)
		c_ssize			capture sample size (bytes)
		c_hs_bint		capture bInterval for HS/SS (1-4: fixed, 0: auto)
		c_sync			capture synchronization type
					(async/adaptive)
		c_mute_present		capture mute control enable
		c_volume_present	capture volume control enable
		c_volume_min		capture volume control min value
					(in 1/256 dB)
		c_volume_max		capture volume control max value
					(in 1/256 dB)
		c_volume_res		capture volume control resolution
					(in 1/256 dB)
		fb_max			maximum extra bandwidth in async mode
		p_chmask		playback channel mask
		p_srate			list of playback sampling rates (comma-separated)
		p_ssize			playback sample size (bytes)
		p_hs_bint		playback bInterval for HS/SS (1-4: fixed, 0: auto)
		p_mute_present		playback mute control enable
		p_volume_present	playback volume control enable
		p_volume_min		playback volume control min value
					(in 1/256 dB)
		p_volume_max		playback volume control max value
					(in 1/256 dB)
		p_volume_res		playback volume control resolution
					(in 1/256 dB)
		req_number		the number of pre-allocated requests
					for both capture and playback
		function_name		name of the interface
		=====================	=======================================
