What:		/config/usb-gadget/gadget/functions/uvc.name
Date:		Dec 2014
KernelVersion:	4.0
Description:	UVC function directory

		streaming_maxburst	- 0..15 (ss only)
		streaming_maxpacket	- 1..1023 (fs), 1..3072 (hs/ss)
		streaming_interval	- 1..16

What:		/config/usb-gadget/gadget/functions/uvc.name/control
Date:		Dec 2014
KernelVersion:	4.0
Description:	Control descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/class
Date:		Dec 2014
KernelVersion:	4.0
Description:	Class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/class/ss
Date:		Dec 2014
KernelVersion:	4.0
Description:	Super speed control class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/class/fs
Date:		Dec 2014
KernelVersion:	4.0
Description:	Full speed control class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal
Date:		Dec 2014
KernelVersion:	4.0
Description:	Terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
Date:		Dec 2014
KernelVersion:	4.0
Description:	Output terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default output terminal descriptors

		All attributes read only:
		iTerminal	- index of string descriptor
		bSourceID 	- id of the terminal to which this terminal
				is connected
		bAssocTerminal	- id of the input terminal to which this output
				terminal is associated
		wTerminalType	- terminal type
		bTerminalID	- a non-zero id of this terminal

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
Date:		Dec 2014
KernelVersion:	4.0
Description:	Camera terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default camera terminal descriptors

		All attributes read only:
		bmControls		- bitmap specifying which controls are
					supported for the video stream
		wOcularFocalLength	- the value of Locular
		wObjectiveFocalLengthMax- the value of Lmin
		wObjectiveFocalLengthMin- the value of Lmax
		iTerminal		- index of string descriptor
		bAssocTerminal		- id of the output terminal to which
					this terminal is connected
		wTerminalType		- terminal type
		bTerminalID		- a non-zero id of this terminal

What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing
Date:		Dec 2014
KernelVersion:	4.0
Description:	Processing unit descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default processing unit descriptors

		All attributes read only:
		iProcessing	- index of string descriptor
		bmControls	- bitmap specifying which controls are
				supported for the video stream
		wMaxMultiplier	- maximum digital magnification x100
		bSourceID	- id of the terminal to which this unit is
				connected
		bUnitID		- a non-zero id of this unit

What:		/config/usb-gadget/gadget/functions/uvc.name/control/header
Date:		Dec 2014
KernelVersion:	4.0
Description:	Control header descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/header/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific control header descriptors

dwClockFrequency
bcdUVC
What:		/config/usb-gadget/gadget/functions/uvc.name/streaming
Date:		Dec 2014
KernelVersion:	4.0
Description:	Streaming descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class
Date:		Dec 2014
KernelVersion:	4.0
Description:	Streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss
Date:		Dec 2014
KernelVersion:	4.0
Description:	Super speed streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs
Date:		Dec 2014
KernelVersion:	4.0
Description:	High speed streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs
Date:		Dec 2014
KernelVersion:	4.0
Description:	Full speed streaming class descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching
Date:		Dec 2014
KernelVersion:	4.0
Description:	Color matching descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
Date:		Dec 2014
KernelVersion:	4.0
Description:	Default color matching descriptors

		All attributes read only:
		bMatrixCoefficients	- matrix used to compute luma and
					chroma values from the color primaries
		bTransferCharacteristics- optoelectronic transfer
					characteristic of the source picutre,
					also called the gamma function
		bColorPrimaries		- color primaries and the reference
					white

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg
Date:		Dec 2014
KernelVersion:	4.0
Description:	MJPEG format descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific MJPEG format descriptors

		All attributes read only,
		except bmaControls and bDefaultFrameIndex:
		bmaControls		- this format's data for bmaControls in
					the streaming header
		bmInterfaceFlags	- specifies interlace information,
					read-only
		bAspectRatioY		- the X dimension of the picture aspect
					ratio, read-only
		bAspectRatioX		- the Y dimension of the picture aspect
					ratio, read-only
		bmFlags			- characteristics of this format,
					read-only
		bDefaultFrameIndex	- optimum frame index for this stream

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific MJPEG frame descriptors

		dwFrameInterval		- indicates how frame interval can be
					programmed; a number of values
					separated by newline can be specified
		dwDefaultFrameInterval	- the frame interval the device would
					like to use as default
		dwMaxVideoFrameBufferSize- the maximum number of bytes the
					compressor will produce for a video
					frame or still image
		dwMaxBitRate		- the maximum bit rate at the shortest
					frame interval in bps
		dwMinBitRate		- the minimum bit rate at the longest
					frame interval in bps
		wHeight			- height of decoded bitmap frame in px
		wWidth			- width of decoded bitmam frame in px
		bmCapabilities		- still image support, fixed frame-rate
					support

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed
Date:		Dec 2014
KernelVersion:	4.0
Description:	Uncompressed format descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific uncompressed format descriptors

		bmaControls		- this format's data for bmaControls in
					the streaming header
		bmInterfaceFlags	- specifies interlace information,
					read-only
		bAspectRatioY		- the X dimension of the picture aspect
					ratio, read-only
		bAspectRatioX		- the Y dimension of the picture aspect
					ratio, read-only
		bDefaultFrameIndex	- optimum frame index for this stream
		bBitsPerPixel		- number of bits per pixel used to
					specify color in the decoded video
					frame
		guidFormat		- globally unique id used to identify
					stream-encoding format

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific uncompressed frame descriptors

		dwFrameInterval		- indicates how frame interval can be
					programmed; a number of values
					separated by newline can be specified
		dwDefaultFrameInterval	- the frame interval the device would
					like to use as default
		dwMaxVideoFrameBufferSize- the maximum number of bytes the
					compressor will produce for a video
					frame or still image
		dwMaxBitRate		- the maximum bit rate at the shortest
					frame interval in bps
		dwMinBitRate		- the minimum bit rate at the longest
					frame interval in bps
		wHeight			- height of decoded bitmap frame in px
		wWidth			- width of decoded bitmam frame in px
		bmCapabilities		- still image support, fixed frame-rate
					support

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header
Date:		Dec 2014
KernelVersion:	4.0
Description:	Streaming header descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
Date:		Dec 2014
KernelVersion:	4.0
Description:	Specific streaming header descriptors

		All attributes read only:
		bTriggerUsage		- how the host software will respond to
					a hardware trigger interrupt event
		bTriggerSupport		- flag specifying if hardware
					triggering is supported
		bStillCaptureMethod	- method of still image caputre
					supported
		bTerminalLink		- id of the output terminal to which
					the video endpoint of this interface
					is connected
		bmInfo			- capabilities of this video streaming
					interface
