xref: /linux/Documentation/ABI/testing/configfs-usb-gadget-uvc (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1What:		/config/usb-gadget/gadget/functions/uvc.name
2Date:		Dec 2014
3KernelVersion:	4.0
4Description:	UVC function directory
5
6		===================	=============================
7		streaming_maxburst	0..15 (ss only)
8		streaming_maxpacket	1..1023 (fs), 1..3072 (hs/ss)
9		streaming_interval	1..16
10		function_name		string [32]
11		===================	=============================
12
13What:		/config/usb-gadget/gadget/functions/uvc.name/control
14Date:		Dec 2014
15KernelVersion:	4.0
16Description:	Control descriptors
17
18		All attributes read only except enable_interrupt_ep:
19
20		===================	=============================
21		bInterfaceNumber	USB interface number for this
22					streaming interface
23		enable_interrupt_ep	flag to enable the interrupt
24					endpoint for the VC interface
25		===================	=============================
26
27What:		/config/usb-gadget/gadget/functions/uvc.name/control/class
28Date:		Dec 2014
29KernelVersion:	4.0
30Description:	Class descriptors
31
32What:		/config/usb-gadget/gadget/functions/uvc.name/control/class/ss
33Date:		Dec 2014
34KernelVersion:	4.0
35Description:	Super speed control class descriptors
36
37What:		/config/usb-gadget/gadget/functions/uvc.name/control/class/fs
38Date:		Dec 2014
39KernelVersion:	4.0
40Description:	Full speed control class descriptors
41
42What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal
43Date:		Dec 2014
44KernelVersion:	4.0
45Description:	Terminal descriptors
46
47What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
48Date:		Dec 2014
49KernelVersion:	4.0
50Description:	Output terminal descriptors
51
52What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
53Date:		Dec 2014
54KernelVersion:	4.0
55Description:	Default output terminal descriptors
56
57		All attributes read only except bSourceID:
58
59		==============	=============================================
60		iTerminal	index of string descriptor
61		bSourceID	id of the terminal to which this terminal
62				is connected
63		bAssocTerminal	id of the input terminal to which this output
64				terminal is associated
65		wTerminalType	terminal type
66		bTerminalID	a non-zero id of this terminal
67		==============	=============================================
68
69What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
70Date:		Dec 2014
71KernelVersion:	4.0
72Description:	Camera terminal descriptors
73
74What:		/config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
75Date:		Dec 2014
76KernelVersion:	4.0
77Description:	Default camera terminal descriptors
78
79		All attributes read only except bmControls, which is read/write:
80
81		========================  ====================================
82		bmControls		  bitmap specifying which controls are
83					  supported for the video stream
84		wOcularFocalLength	  the value of Locular
85		wObjectiveFocalLengthMax  the value of Lmin
86		wObjectiveFocalLengthMin  the value of Lmax
87		iTerminal		  index of string descriptor
88		bAssocTerminal		  id of the output terminal to which
89					  this terminal is connected
90		wTerminalType		  terminal type
91		bTerminalID		  a non-zero id of this terminal
92		========================  ====================================
93
94What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing
95Date:		Dec 2014
96KernelVersion:	4.0
97Description:	Processing unit descriptors
98
99What:		/config/usb-gadget/gadget/functions/uvc.name/control/processing/default
100Date:		Dec 2014
101KernelVersion:	4.0
102Description:	Default processing unit descriptors
103
104		All attributes read only except bmControls, which is read/write:
105
106		===============	========================================
107		iProcessing	index of string descriptor
108		bmControls	bitmap specifying which controls are
109				supported for the video stream
110		wMaxMultiplier	maximum digital magnification x100
111		bSourceID	id of the terminal to which this unit is
112				connected
113		bUnitID		a non-zero id of this unit
114		===============	========================================
115
116What:		/config/usb-gadget/gadget/functions/uvc.name/control/extensions
117Date:		Nov 2022
118KernelVersion:	6.1
119Description:	Extension unit descriptors
120
121What:		/config/usb-gadget/gadget/functions/uvc.name/control/extensions/name
122Date:		Nov 2022
123KernelVersion:	6.1
124Description:	Extension Unit (XU) Descriptor
125
126		bLength, bUnitID and iExtension are read-only. All others are
127		read-write.
128
129		=================	========================================
130		bLength			size of the descriptor in bytes
131		bUnitID			non-zero ID of this unit
132		guidExtensionCode	Vendor-specific code identifying the XU
133		bNumControls		number of controls in this XU
134		bNrInPins		number of input pins for this unit
135		baSourceID		list of the IDs of the units or terminals
136					to which this XU is connected
137		bControlSize		size of the bmControls field in bytes
138		bmControls		list of bitmaps detailing which vendor
139					specific controls are supported
140		iExtension		index of a string descriptor that describes
141					this extension unit
142		=================	========================================
143
144What:		/config/usb-gadget/gadget/functions/uvc.name/control/header
145Date:		Dec 2014
146KernelVersion:	4.0
147Description:	Control header descriptors
148
149What:		/config/usb-gadget/gadget/functions/uvc.name/control/header/name
150Date:		Dec 2014
151KernelVersion:	4.0
152Description:	Specific control header descriptors
153
154dwClockFrequency
155bcdUVC
156What:		/config/usb-gadget/gadget/functions/uvc.name/streaming
157Date:		Dec 2014
158KernelVersion:	4.0
159Description:	Streaming descriptors
160
161		All attributes read only:
162
163		================	=============================
164		bInterfaceNumber	USB interface number for this
165					streaming interface
166		================	=============================
167
168What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class
169Date:		Dec 2014
170KernelVersion:	4.0
171Description:	Streaming class descriptors
172
173What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss
174Date:		Dec 2014
175KernelVersion:	4.0
176Description:	Super speed streaming class descriptors
177
178What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs
179Date:		Dec 2014
180KernelVersion:	4.0
181Description:	High speed streaming class descriptors
182
183What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs
184Date:		Dec 2014
185KernelVersion:	4.0
186Description:	Full speed streaming class descriptors
187
188What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching
189Date:		Dec 2014
190KernelVersion:	4.0
191Description:	Color matching descriptors
192
193What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
194Date:		Dec 2014
195KernelVersion:	4.0
196Description:	Default color matching descriptors
197
198		All attributes read/write:
199
200		========================  ======================================
201		bMatrixCoefficients	  matrix used to compute luma and
202					  chroma values from the color primaries
203		bTransferCharacteristics  optoelectronic transfer
204					  characteristic of the source picture,
205					  also called the gamma function
206		bColorPrimaries		  color primaries and the reference
207					  white
208		========================  ======================================
209
210What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/name
211Date:		Dec 2022
212KernelVersion:	6.3
213Description:	Additional color matching descriptors
214
215		All attributes read/write:
216
217		========================  ======================================
218		bMatrixCoefficients	  matrix used to compute luma and
219					  chroma values from the color primaries
220		bTransferCharacteristics  optoelectronic transfer
221					  characteristic of the source picture,
222					  also called the gamma function
223		bColorPrimaries		  color primaries and the reference
224					  white
225		========================  ======================================
226
227What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg
228Date:		Dec 2014
229KernelVersion:	4.0
230Description:	MJPEG format descriptors
231
232What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
233Date:		Dec 2014
234KernelVersion:	4.0
235Description:	Specific MJPEG format descriptors
236
237		All attributes read only,
238		except bmaControls and bDefaultFrameIndex:
239
240		===================	=====================================
241		bFormatIndex		unique id for this format descriptor;
242					only defined after parent header is
243					linked into the streaming class;
244					read-only
245		bmaControls		this format's data for bmaControls in
246					the streaming header
247		bmInterlaceFlags	specifies interlace information,
248					read-only
249		bAspectRatioY		the X dimension of the picture aspect
250					ratio, read-only
251		bAspectRatioX		the Y dimension of the picture aspect
252					ratio, read-only
253		bmFlags			characteristics of this format,
254					read-only
255		bDefaultFrameIndex	optimum frame index for this stream
256		===================	=====================================
257
258What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name
259Date:		Dec 2014
260KernelVersion:	4.0
261Description:	Specific MJPEG frame descriptors
262
263		=========================  =====================================
264		bFrameIndex		   unique id for this framedescriptor;
265					   only defined after parent format is
266					   linked into the streaming header;
267					   read-only
268		dwFrameInterval		   indicates how frame interval can be
269					   programmed; a number of values
270					   separated by newline can be specified
271		dwDefaultFrameInterval	   the frame interval the device would
272					   like to use as default
273		dwMaxVideoFrameBufferSize  the maximum number of bytes the
274					   compressor will produce for a video
275					   frame or still image
276		dwMaxBitRate		   the maximum bit rate at the shortest
277					   frame interval in bps
278		dwMinBitRate		   the minimum bit rate at the longest
279					   frame interval in bps
280		wHeight			   height of decoded bitmap frame in px
281		wWidth			   width of decoded bitmam frame in px
282		bmCapabilities		   still image support, fixed frame-rate
283					   support
284		=========================  =====================================
285
286What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed
287Date:		Dec 2014
288KernelVersion:	4.0
289Description:	Uncompressed format descriptors
290
291What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
292Date:		Dec 2014
293KernelVersion:	4.0
294Description:	Specific uncompressed format descriptors
295
296		==================	=======================================
297		bFormatIndex		unique id for this format descriptor;
298					only defined after parent header is
299					linked into the streaming class;
300					read-only
301		bmaControls		this format's data for bmaControls in
302					the streaming header
303		bmInterlaceFlags	specifies interlace information,
304					read-only
305		bAspectRatioY		the X dimension of the picture aspect
306					ratio, read-only
307		bAspectRatioX		the Y dimension of the picture aspect
308					ratio, read-only
309		bDefaultFrameIndex	optimum frame index for this stream
310		bBitsPerPixel		number of bits per pixel used to
311					specify color in the decoded video
312					frame
313		guidFormat		globally unique id used to identify
314					stream-encoding format
315		==================	=======================================
316
317What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name
318Date:		Dec 2014
319KernelVersion:	4.0
320Description:	Specific uncompressed frame descriptors
321
322		=========================  =====================================
323		bFrameIndex		   unique id for this framedescriptor;
324					   only defined after parent format is
325					   linked into the streaming header;
326					   read-only
327		dwFrameInterval		   indicates how frame interval can be
328					   programmed; a number of values
329					   separated by newline can be specified
330		dwDefaultFrameInterval	   the frame interval the device would
331					   like to use as default
332		dwMaxVideoFrameBufferSize  the maximum number of bytes the
333					   compressor will produce for a video
334					   frame or still image
335		dwMaxBitRate		   the maximum bit rate at the shortest
336					   frame interval in bps
337		dwMinBitRate		   the minimum bit rate at the longest
338					   frame interval in bps
339		wHeight			   height of decoded bitmap frame in px
340		wWidth			   width of decoded bitmam frame in px
341		bmCapabilities		   still image support, fixed frame-rate
342					   support
343		=========================  =====================================
344
345What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header
346Date:		Dec 2014
347KernelVersion:	4.0
348Description:	Streaming header descriptors
349
350What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
351Date:		Dec 2014
352KernelVersion:	4.0
353Description:	Specific streaming header descriptors
354
355		All attributes read only:
356
357		====================	=====================================
358		bTriggerUsage		how the host software will respond to
359					a hardware trigger interrupt event
360		bTriggerSupport		flag specifying if hardware
361					triggering is supported
362		bStillCaptureMethod	method of still image capture
363					supported
364		bTerminalLink		id of the output terminal to which
365					the video endpoint of this interface
366					is connected
367		bmInfo			capabilities of this video streaming
368					interface
369		====================	=====================================
370
371What:		/sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name
372Date:		May 2018
373KernelVersion:	4.19
374Description:	UVC configfs function instance name
375