@@ -16,10 +16,280 @@ diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driv
1616index ea57491c3e84..d2026f6c339c 100644
1717--- a/drivers/media/usb/uvc/uvc_driver.c
1818+++ b/drivers/media/usb/uvc/uvc_driver.c
19- @@ -2775,6 +2775,276 @@ static struct usb_device_id uvc_ids[] = {
19+ @@ -2775,6 +2775,546 @@ static struct usb_device_id uvc_ids[] = {
2020 .bInterfaceSubClass = 1,
2121 .bInterfaceProtocol = 0,
2222 .driver_info = UVC_QUIRK_FORCE_Y8 },
23+ + /* Intel SR306 depth camera */
24+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
25+ + | USB_DEVICE_ID_MATCH_INT_INFO,
26+ + .idVendor = 0x8086,
27+ + .idProduct = 0x0aa3,
28+ + .bInterfaceClass = USB_CLASS_VIDEO,
29+ + .bInterfaceSubClass = 1,
30+ + .bInterfaceProtocol = 0,
31+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
32+ + /* Intel SR300 depth camera */
33+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
34+ + | USB_DEVICE_ID_MATCH_INT_INFO,
35+ + .idVendor = 0x8086,
36+ + .idProduct = 0x0aa5,
37+ + .bInterfaceClass = USB_CLASS_VIDEO,
38+ + .bInterfaceSubClass = 1,
39+ + .bInterfaceProtocol = 0,
40+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
41+ + /* Intel D400/PSR depth camera*/
42+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
43+ + | USB_DEVICE_ID_MATCH_INT_INFO,
44+ + .idVendor = 0x8086,
45+ + .idProduct = 0x0ad1,
46+ + .bInterfaceClass = USB_CLASS_VIDEO,
47+ + .bInterfaceSubClass = 1,
48+ + .bInterfaceProtocol = 0,
49+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
50+ + /* Intel D410/ASR depth camera */
51+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
52+ + | USB_DEVICE_ID_MATCH_INT_INFO,
53+ + .idVendor = 0x8086,
54+ + .idProduct = 0x0ad2,
55+ + .bInterfaceClass = USB_CLASS_VIDEO,
56+ + .bInterfaceSubClass = 1,
57+ + .bInterfaceProtocol = 0,
58+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
59+ + /* Intel D415/ASRC depth camera */
60+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
61+ + | USB_DEVICE_ID_MATCH_INT_INFO,
62+ + .idVendor = 0x8086,
63+ + .idProduct = 0x0ad3,
64+ + .bInterfaceClass = USB_CLASS_VIDEO,
65+ + .bInterfaceSubClass = 1,
66+ + .bInterfaceProtocol = 0,
67+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
68+ + /* Intel D430/AWG depth camera */
69+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
70+ + | USB_DEVICE_ID_MATCH_INT_INFO,
71+ + .idVendor = 0x8086,
72+ + .idProduct = 0x0ad4,
73+ + .bInterfaceClass = USB_CLASS_VIDEO,
74+ + .bInterfaceSubClass = 1,
75+ + .bInterfaceProtocol = 0,
76+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
77+ + /* Intel D450/AWGT depth camera */
78+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
79+ + | USB_DEVICE_ID_MATCH_INT_INFO,
80+ + .idVendor = 0x8086,
81+ + .idProduct = 0x0ad5,
82+ + .bInterfaceClass = USB_CLASS_VIDEO,
83+ + .bInterfaceSubClass = 1,
84+ + .bInterfaceProtocol = 0,
85+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
86+ + /* Intel D400 IMU Module */
87+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
88+ + | USB_DEVICE_ID_MATCH_INT_INFO,
89+ + .idVendor = 0x8086,
90+ + .idProduct = 0x0af2,
91+ + .bInterfaceClass = USB_CLASS_VIDEO,
92+ + .bInterfaceSubClass = 1,
93+ + .bInterfaceProtocol = 0,
94+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
95+ + /* Intel D420/PWG depth camera */
96+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
97+ + | USB_DEVICE_ID_MATCH_INT_INFO,
98+ + .idVendor = 0x8086,
99+ + .idProduct = 0x0af6,
100+ + .bInterfaceClass = USB_CLASS_VIDEO,
101+ + .bInterfaceSubClass = 1,
102+ + .bInterfaceProtocol = 0,
103+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
104+ + /* Intel D420_MM/PWGT depth camera */
105+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
106+ + | USB_DEVICE_ID_MATCH_INT_INFO,
107+ + .idVendor = 0x8086,
108+ + .idProduct = 0x0afe,
109+ + .bInterfaceClass = USB_CLASS_VIDEO,
110+ + .bInterfaceSubClass = 1,
111+ + .bInterfaceProtocol = 0,
112+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
113+ + /* Intel D410_MM/ASRT depth camera */
114+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
115+ + | USB_DEVICE_ID_MATCH_INT_INFO,
116+ + .idVendor = 0x8086,
117+ + .idProduct = 0x0aff,
118+ + .bInterfaceClass = USB_CLASS_VIDEO,
119+ + .bInterfaceSubClass = 1,
120+ + .bInterfaceProtocol = 0,
121+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
122+ + /* Intel D400_MM/PSRT depth camera */
123+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
124+ + | USB_DEVICE_ID_MATCH_INT_INFO,
125+ + .idVendor = 0x8086,
126+ + .idProduct = 0x0b00,
127+ + .bInterfaceClass = USB_CLASS_VIDEO,
128+ + .bInterfaceSubClass = 1,
129+ + .bInterfaceProtocol = 0,
130+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
131+ + /* Intel D430_MM/AWGCT depth camera */
132+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
133+ + | USB_DEVICE_ID_MATCH_INT_INFO,
134+ + .idVendor = 0x8086,
135+ + .idProduct = 0x0b01,
136+ + .bInterfaceClass = USB_CLASS_VIDEO,
137+ + .bInterfaceSubClass = 1,
138+ + .bInterfaceProtocol = 0,
139+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
140+ + /* Intel D460/DS5U depth camera */
141+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
142+ + | USB_DEVICE_ID_MATCH_INT_INFO,
143+ + .idVendor = 0x8086,
144+ + .idProduct = 0x0b03,
145+ + .bInterfaceClass = USB_CLASS_VIDEO,
146+ + .bInterfaceSubClass = 1,
147+ + .bInterfaceProtocol = 0,
148+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
149+ + /* Intel D435/AWGC depth camera */
150+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
151+ + | USB_DEVICE_ID_MATCH_INT_INFO,
152+ + .idVendor = 0x8086,
153+ + .idProduct = 0x0b07,
154+ + .bInterfaceClass = USB_CLASS_VIDEO,
155+ + .bInterfaceSubClass = 1,
156+ + .bInterfaceProtocol = 0,
157+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
158+ + /* Intel D405 S depth camera */
159+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
160+ + | USB_DEVICE_ID_MATCH_INT_INFO,
161+ + .idVendor = 0x8086,
162+ + .idProduct = 0x0b0c,
163+ + .bInterfaceClass = USB_CLASS_VIDEO,
164+ + .bInterfaceSubClass = 1,
165+ + .bInterfaceProtocol = 0,
166+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
167+ + /* Intel L500 depth camera */
168+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
169+ + | USB_DEVICE_ID_MATCH_INT_INFO,
170+ + .idVendor = 0x8086,
171+ + .idProduct = 0x0b0d,
172+ + .bInterfaceClass = USB_CLASS_VIDEO,
173+ + .bInterfaceSubClass = 1,
174+ + .bInterfaceProtocol = 0,
175+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
176+ + /* Intel D410/USB2 Depth camera */
177+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
178+ + | USB_DEVICE_ID_MATCH_INT_INFO,
179+ + .idVendor = 0x8086,
180+ + .idProduct = 0x0b15,
181+ + .bInterfaceClass = USB_CLASS_VIDEO,
182+ + .bInterfaceSubClass = 1,
183+ + .bInterfaceProtocol = 0,
184+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
185+ + /* Intel D415/USB2 Depth camera */
186+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
187+ + | USB_DEVICE_ID_MATCH_INT_INFO,
188+ + .idVendor = 0x8086,
189+ + .idProduct = 0x0b16,
190+ + .bInterfaceClass = USB_CLASS_VIDEO,
191+ + .bInterfaceSubClass = 1,
192+ + .bInterfaceProtocol = 0,
193+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
194+ + /* Intel D435/USB2 Depth camera */
195+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
196+ + | USB_DEVICE_ID_MATCH_INT_INFO,
197+ + .idVendor = 0x8086,
198+ + .idProduct = 0x0b17,
199+ + .bInterfaceClass = USB_CLASS_VIDEO,
200+ + .bInterfaceSubClass = 1,
201+ + .bInterfaceProtocol = 0,
202+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
203+ + /* Intel D435i depth camera */
204+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
205+ + | USB_DEVICE_ID_MATCH_INT_INFO,
206+ + .idVendor = 0x8086,
207+ + .idProduct = 0x0b3a,
208+ + .bInterfaceClass = USB_CLASS_VIDEO,
209+ + .bInterfaceSubClass = 1,
210+ + .bInterfaceProtocol = 0,
211+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
212+ + /* Intel L515 Pre-PRQ*/
213+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
214+ + | USB_DEVICE_ID_MATCH_INT_INFO,
215+ + .idVendor = 0x8086,
216+ + .idProduct = 0x0b3d,
217+ + .bInterfaceClass = USB_CLASS_VIDEO,
218+ + .bInterfaceSubClass = 1,
219+ + .bInterfaceProtocol = 0,
220+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
221+ + /* Intel SR305 Depth Camera*/
222+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
223+ + | USB_DEVICE_ID_MATCH_INT_INFO,
224+ + .idVendor = 0x8086,
225+ + .idProduct = 0x0b48,
226+ + .bInterfaceClass = USB_CLASS_VIDEO,
227+ + .bInterfaceSubClass = 1,
228+ + .bInterfaceProtocol = 0,
229+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
230+ + /* Intel D416 Depth Camera */
231+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
232+ + | USB_DEVICE_ID_MATCH_INT_INFO,
233+ + .idVendor = 0x8086,
234+ + .idProduct = 0x0b49,
235+ + .bInterfaceClass = USB_CLASS_VIDEO,
236+ + .bInterfaceSubClass = 1,
237+ + .bInterfaceProtocol = 0,
238+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
239+ + /* Intel D430i depth camera */
240+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
241+ + | USB_DEVICE_ID_MATCH_INT_INFO,
242+ + .idVendor = 0x8086,
243+ + .idProduct = 0x0b4b,
244+ + .bInterfaceClass = USB_CLASS_VIDEO,
245+ + .bInterfaceSubClass = 1,
246+ + .bInterfaceProtocol = 0,
247+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
248+ + /* Intel D465 */
249+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
250+ + | USB_DEVICE_ID_MATCH_INT_INFO,
251+ + .idVendor = 0x8086,
252+ + .idProduct = 0x0b4d,
253+ + .bInterfaceClass = USB_CLASS_VIDEO,
254+ + .bInterfaceSubClass = 1,
255+ + .bInterfaceProtocol = 0,
256+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
257+ + /* Intel D405 */
258+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
259+ + | USB_DEVICE_ID_MATCH_INT_INFO,
260+ + .idVendor = 0x8086,
261+ + .idProduct = 0x0b5b,
262+ + .bInterfaceClass = USB_CLASS_VIDEO,
263+ + .bInterfaceSubClass = 1,
264+ + .bInterfaceProtocol = 0,
265+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
266+ + /* Intel D455 */
267+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
268+ + | USB_DEVICE_ID_MATCH_INT_INFO,
269+ + .idVendor = 0x8086,
270+ + .idProduct = 0x0b5c,
271+ + .bInterfaceClass = USB_CLASS_VIDEO,
272+ + .bInterfaceSubClass = 1,
273+ + .bInterfaceProtocol = 0,
274+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
275+ + /* Intel L515 */
276+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
277+ + | USB_DEVICE_ID_MATCH_INT_INFO,
278+ + .idVendor = 0x8086,
279+ + .idProduct = 0x0b64,
280+ + .bInterfaceClass = USB_CLASS_VIDEO,
281+ + .bInterfaceSubClass = 1,
282+ + .bInterfaceProtocol = 0,
283+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
284+ + /* Intel L535 */
285+ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
286+ + | USB_DEVICE_ID_MATCH_INT_INFO,
287+ + .idVendor = 0x8086,
288+ + .idProduct = 0x0b68,
289+ + .bInterfaceClass = USB_CLASS_VIDEO,
290+ + .bInterfaceSubClass = 1,
291+ + .bInterfaceProtocol = 0,
292+ + .driver_info = UVC_QUIRK_APPEND_UVC_HEADER },
23293+ /* Realsense SR306 depth camera */
24294+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
25295+ | USB_DEVICE_ID_MATCH_INT_INFO,
0 commit comments