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