What:		/config/usb-gadget/gadget/functions/uvc.name
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
Description:	Control descriptors

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

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

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

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

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

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
Description:	Camera terminal descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
Description:	Processing unit descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing/default
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
Description:	Control header descriptors

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

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

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

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

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

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

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

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
Description:	MJPEG format descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
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:	3.20
Description:	Uncompressed format descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
Date:		Dec 2014
KernelVersion:	3.20
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:	3.20
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:	3.20
Description:	Streaming header descriptors

What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
Date:		Dec 2014
KernelVersion:	3.20
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
