xref: /linux/Documentation/ABI/testing/configfs-usb-gadget-uvc (revision 2eff01ee2881becc9daaa0d53477ec202136b1f4)
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/framebased
346Date:           Sept 2024
347KernelVersion:  5.15
348Description:    Framebased format descriptors
349
350What:           /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased/name
351Date:           Sept 2024
352KernelVersion:  5.15
353Description:    Specific framebased format descriptors
354
355                ==================      =======================================
356                bFormatIndex            unique id for this format descriptor;
357                                        only defined after parent header is
358                                        linked into the streaming class;
359                                        read-only
360                bmaControls             this format's data for bmaControls in
361                                        the streaming header
362                bmInterlaceFlags        specifies interlace information,
363                                        read-only
364                bAspectRatioY           the X dimension of the picture aspect
365                                        ratio, read-only
366                bAspectRatioX           the Y dimension of the picture aspect
367                                        ratio, read-only
368                bDefaultFrameIndex      optimum frame index for this stream
369                bBitsPerPixel           number of bits per pixel used to
370                                        specify color in the decoded video
371                                        frame
372                guidFormat              globally unique id used to identify
373                                        stream-encoding format
374                ==================      =======================================
375
376What:           /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased/name/name
377Date:           Sept 2024
378KernelVersion:  5.15
379Description:    Specific framebased frame descriptors
380
381                =========================  =====================================
382                bFrameIndex                unique id for this framedescriptor;
383                                           only defined after parent format is
384                                           linked into the streaming header;
385                                           read-only
386                dwFrameInterval            indicates how frame interval can be
387                                           programmed; a number of values
388                                           separated by newline can be specified
389                dwDefaultFrameInterval     the frame interval the device would
390                                           like to use as default
391                dwBytesPerLine             Specifies the number of bytes per line
392                                           of video for packed fixed frame size
393                                           formats, allowing the receiver to
394                                           perform stride alignment of the video.
395                                           If the bVariableSize value (above) is
396                                           TRUE (1), or if the format does not
397                                           permit such alignment, this value shall
398                                           be set to zero (0).
399                dwMaxBitRate               the maximum bit rate at the shortest
400                                           frame interval in bps
401                dwMinBitRate               the minimum bit rate at the longest
402                                           frame interval in bps
403                wHeight                    height of decoded bitmap frame in px
404                wWidth                     width of decoded bitmam frame in px
405                bmCapabilities             still image support, fixed frame-rate
406                                           support
407                =========================  =====================================
408
409What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header
410Date:		Dec 2014
411KernelVersion:	4.0
412Description:	Streaming header descriptors
413
414What:		/config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
415Date:		Dec 2014
416KernelVersion:	4.0
417Description:	Specific streaming header descriptors
418
419		All attributes read only:
420
421		====================	=====================================
422		bTriggerUsage		how the host software will respond to
423					a hardware trigger interrupt event
424		bTriggerSupport		flag specifying if hardware
425					triggering is supported
426		bStillCaptureMethod	method of still image capture
427					supported
428		bTerminalLink		id of the output terminal to which
429					the video endpoint of this interface
430					is connected
431		bmInfo			capabilities of this video streaming
432					interface
433		====================	=====================================
434
435What:		/sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name
436Date:		May 2018
437KernelVersion:	4.19
438Description:	UVC configfs function instance name
439