mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-11 19:34:17 +00:00
Added missing Audio class control request definitions. Added support for the Audio class GET STATUS request so that it is correctly ACKed when sent by the host.
401 lines
15 KiB
Plaintext
401 lines
15 KiB
Plaintext
1 .file "ConfigDescriptor.c"
|
|
2 __SREG__ = 0x3f
|
|
3 __SP_H__ = 0x3e
|
|
4 __SP_L__ = 0x3d
|
|
5 __CCP__ = 0x34
|
|
6 __tmp_reg__ = 0
|
|
7 __zero_reg__ = 1
|
|
15 .Ltext0:
|
|
16 .section .text.DComp_NextAudioControlInterface,"ax",@progbits
|
|
17 .global DComp_NextAudioControlInterface
|
|
19 DComp_NextAudioControlInterface:
|
|
20 .LFB132:
|
|
21 .LSM0:
|
|
22 .LVL0:
|
|
23 /* prologue: function */
|
|
24 /* frame size = 0 */
|
|
25 /* stack size = 0 */
|
|
26 .L__stack_usage = 0
|
|
27 0000 FC01 movw r30,r24
|
|
28 .LVL1:
|
|
29 .LSM1:
|
|
30 0002 8181 ldd r24,Z+1
|
|
31 .LVL2:
|
|
32 0004 8430 cpi r24,lo8(4)
|
|
33 0006 01F4 brne .L5
|
|
34 .LVL3:
|
|
35 .LBB2:
|
|
36 .LSM2:
|
|
37 0008 8581 ldd r24,Z+5
|
|
38 000a 8130 cpi r24,lo8(1)
|
|
39 000c 01F4 brne .L5
|
|
40 .LSM3:
|
|
41 000e 8681 ldd r24,Z+6
|
|
42 0010 8130 cpi r24,lo8(1)
|
|
43 0012 01F4 brne .L5
|
|
44 .LSM4:
|
|
45 0014 8781 ldd r24,Z+7
|
|
46 0016 8823 tst r24
|
|
47 0018 01F0 breq .L6
|
|
48 .LVL4:
|
|
49 .L5:
|
|
50 .LSM5:
|
|
51 001a 82E0 ldi r24,lo8(2)
|
|
52 001c 0895 ret
|
|
53 .LVL5:
|
|
54 .L6:
|
|
55 .LSM6:
|
|
56 001e 80E0 ldi r24,lo8(0)
|
|
57 .LBE2:
|
|
58 .LSM7:
|
|
59 0020 0895 ret
|
|
60 .LFE132:
|
|
62 .section .text.DComp_NextAudioStreamInterface,"ax",@progbits
|
|
63 .global DComp_NextAudioStreamInterface
|
|
65 DComp_NextAudioStreamInterface:
|
|
66 .LFB133:
|
|
67 .LSM8:
|
|
68 .LVL6:
|
|
69 /* prologue: function */
|
|
70 /* frame size = 0 */
|
|
71 /* stack size = 0 */
|
|
72 .L__stack_usage = 0
|
|
73 0000 FC01 movw r30,r24
|
|
74 .LVL7:
|
|
75 .LSM9:
|
|
76 0002 8181 ldd r24,Z+1
|
|
77 .LVL8:
|
|
78 0004 8430 cpi r24,lo8(4)
|
|
79 0006 01F4 brne .L11
|
|
80 .LVL9:
|
|
81 .LBB3:
|
|
82 .LSM10:
|
|
83 0008 8581 ldd r24,Z+5
|
|
84 000a 8130 cpi r24,lo8(1)
|
|
85 000c 01F4 brne .L11
|
|
86 .LSM11:
|
|
87 000e 8681 ldd r24,Z+6
|
|
88 0010 8230 cpi r24,lo8(2)
|
|
89 0012 01F4 brne .L11
|
|
90 .LSM12:
|
|
91 0014 8781 ldd r24,Z+7
|
|
92 0016 8823 tst r24
|
|
93 0018 01F0 breq .L12
|
|
94 .LVL10:
|
|
95 .L11:
|
|
96 .LSM13:
|
|
97 001a 82E0 ldi r24,lo8(2)
|
|
98 001c 0895 ret
|
|
99 .LVL11:
|
|
100 .L12:
|
|
101 .LSM14:
|
|
102 001e 80E0 ldi r24,lo8(0)
|
|
103 .LBE3:
|
|
104 .LSM15:
|
|
105 0020 0895 ret
|
|
106 .LFE133:
|
|
108 .section .text.DComp_NextAudioInterfaceDataEndpoint,"ax",@progbits
|
|
109 .global DComp_NextAudioInterfaceDataEndpoint
|
|
111 DComp_NextAudioInterfaceDataEndpoint:
|
|
112 .LFB134:
|
|
113 .LSM16:
|
|
114 .LVL12:
|
|
115 /* prologue: function */
|
|
116 /* frame size = 0 */
|
|
117 /* stack size = 0 */
|
|
118 .L__stack_usage = 0
|
|
119 0000 FC01 movw r30,r24
|
|
120 .LVL13:
|
|
121 .LSM17:
|
|
122 0002 8181 ldd r24,Z+1
|
|
123 .LVL14:
|
|
124 0004 8530 cpi r24,lo8(5)
|
|
125 0006 01F4 brne .L14
|
|
126 .LVL15:
|
|
127 .LBB4:
|
|
128 .LSM18:
|
|
129 0008 8381 ldd r24,Z+3
|
|
130 000a 8370 andi r24,lo8(3)
|
|
131 000c 8130 cpi r24,lo8(1)
|
|
132 000e 01F4 brne .L18
|
|
133 0010 00C0 rjmp .L16
|
|
134 .LVL16:
|
|
135 .L14:
|
|
136 .LBE4:
|
|
137 .LSM19:
|
|
138 0012 8430 cpi r24,lo8(4)
|
|
139 0014 01F0 breq .L17
|
|
140 .L18:
|
|
141 .LSM20:
|
|
142 0016 82E0 ldi r24,lo8(2)
|
|
143 0018 0895 ret
|
|
144 .LVL17:
|
|
145 .L16:
|
|
146 .LBB5:
|
|
147 .LSM21:
|
|
148 001a 80E0 ldi r24,lo8(0)
|
|
149 001c 0895 ret
|
|
150 .LVL18:
|
|
151 .L17:
|
|
152 .LBE5:
|
|
153 .LSM22:
|
|
154 001e 81E0 ldi r24,lo8(1)
|
|
155 .LSM23:
|
|
156 0020 0895 ret
|
|
157 .LFE134:
|
|
159 .section .text.ProcessConfigurationDescriptor,"ax",@progbits
|
|
160 .global ProcessConfigurationDescriptor
|
|
162 ProcessConfigurationDescriptor:
|
|
163 .LFB131:
|
|
164 .LSM24:
|
|
165 0000 AF92 push r10
|
|
166 0002 BF92 push r11
|
|
167 0004 CF92 push r12
|
|
168 0006 DF92 push r13
|
|
169 0008 EF92 push r14
|
|
170 000a FF92 push r15
|
|
171 000c 0F93 push r16
|
|
172 000e 1F93 push r17
|
|
173 0010 DF93 push r29
|
|
174 0012 CF93 push r28
|
|
175 0014 CDB7 in r28,__SP_L__
|
|
176 0016 DEB7 in r29,__SP_H__
|
|
177 0018 C450 subi r28,lo8(-(-516))
|
|
178 001a D240 sbci r29,hi8(-(-516))
|
|
179 001c 0FB6 in __tmp_reg__,__SREG__
|
|
180 001e F894 cli
|
|
181 0020 DEBF out __SP_H__,r29
|
|
182 0022 0FBE out __SREG__,__tmp_reg__
|
|
183 0024 CDBF out __SP_L__,r28
|
|
184 /* prologue: function */
|
|
185 /* frame size = 516 */
|
|
186 /* stack size = 526 */
|
|
187 .L__stack_usage = 526
|
|
188 .LSM25:
|
|
189 0026 AE01 movw r20,r28
|
|
190 0028 4B5F subi r20,lo8(-(5))
|
|
191 002a 5F4F sbci r21,hi8(-(5))
|
|
192 002c 5A83 std Y+2,r21
|
|
193 002e 4983 std Y+1,r20
|
|
194 .LVL19:
|
|
195 .LSM26:
|
|
196 0030 23E0 ldi r18,lo8(3)
|
|
197 0032 E22E mov r14,r18
|
|
198 0034 F12C mov r15,__zero_reg__
|
|
199 0036 EC0E add r14,r28
|
|
200 0038 FD1E adc r15,r29
|
|
201 003a 81E0 ldi r24,lo8(1)
|
|
202 003c B701 movw r22,r14
|
|
203 003e 20E0 ldi r18,lo8(512)
|
|
204 0040 32E0 ldi r19,hi8(512)
|
|
205 0042 0E94 0000 call USB_Host_GetDeviceConfigDescriptor
|
|
206 0046 8530 cpi r24,lo8(5)
|
|
207 0048 01F4 brne .+2
|
|
208 004a 00C0 rjmp .L31
|
|
209 004c 8630 cpi r24,lo8(6)
|
|
210 004e 01F0 breq .L23
|
|
211 0050 8823 tst r24
|
|
212 0052 01F4 brne .L34
|
|
213 0054 00E0 ldi r16,lo8(0)
|
|
214 0056 10E0 ldi r17,hi8(0)
|
|
215 0058 CC24 clr r12
|
|
216 005a DD24 clr r13
|
|
217 005c 5701 movw r10,r14
|
|
218 005e 7E01 movw r14,r28
|
|
219 0060 0894 sec
|
|
220 0062 E11C adc r14,__zero_reg__
|
|
221 0064 F11C adc r15,__zero_reg__
|
|
222 0066 00C0 rjmp .L24
|
|
223 .L23:
|
|
224 .LSM27:
|
|
225 0068 83E0 ldi r24,lo8(3)
|
|
226 006a 00C0 rjmp .L22
|
|
227 .L34:
|
|
228 .LSM28:
|
|
229 006c 81E0 ldi r24,lo8(1)
|
|
230 006e 00C0 rjmp .L22
|
|
231 .LVL20:
|
|
232 .L30:
|
|
233 .LSM29:
|
|
234 0070 9C01 movw r18,r24
|
|
235 0072 032F mov r16,r19
|
|
236 0074 182F mov r17,r24
|
|
237 .LVL21:
|
|
238 .L24:
|
|
239 .LBB6:
|
|
240 .LSM30:
|
|
241 0076 C114 cp r12,__zero_reg__
|
|
242 0078 D104 cpc r13,__zero_reg__
|
|
243 007a 01F0 breq .L25
|
|
244 .LSM31:
|
|
245 007c C501 movw r24,r10
|
|
246 007e B701 movw r22,r14
|
|
247 0080 40E0 ldi r20,lo8(gs(DComp_NextAudioInterfaceDataEndpoint))
|
|
248 0082 50E0 ldi r21,hi8(gs(DComp_NextAudioInterfaceDataEndpoint))
|
|
249 0084 0E94 0000 call USB_GetNextDescriptorComp
|
|
250 .LSM32:
|
|
251 0088 8823 tst r24
|
|
252 008a 01F4 brne .L26
|
|
253 008c 00C0 rjmp .L36
|
|
254 .L25:
|
|
255 .LSM33:
|
|
256 008e C501 movw r24,r10
|
|
257 0090 B701 movw r22,r14
|
|
258 0092 40E0 ldi r20,lo8(gs(DComp_NextAudioControlInterface))
|
|
259 0094 50E0 ldi r21,hi8(gs(DComp_NextAudioControlInterface))
|
|
260 0096 0E94 0000 call USB_GetNextDescriptorComp
|
|
261 009a 8823 tst r24
|
|
262 009c 01F4 brne .L33
|
|
263 .LSM34:
|
|
264 009e C980 ldd r12,Y+1
|
|
265 00a0 DA80 ldd r13,Y+2
|
|
266 .LVL22:
|
|
267 .L26:
|
|
268 .LSM35:
|
|
269 00a2 C501 movw r24,r10
|
|
270 00a4 B701 movw r22,r14
|
|
271 00a6 40E0 ldi r20,lo8(gs(DComp_NextAudioStreamInterface))
|
|
272 00a8 50E0 ldi r21,hi8(gs(DComp_NextAudioStreamInterface))
|
|
273 00aa 0E94 0000 call USB_GetNextDescriptorComp
|
|
274 00ae 8823 tst r24
|
|
275 00b0 01F0 breq .L28
|
|
276 .LSM36:
|
|
277 00b2 C501 movw r24,r10
|
|
278 00b4 B701 movw r22,r14
|
|
279 00b6 40E0 ldi r20,lo8(gs(DComp_NextAudioControlInterface))
|
|
280 00b8 50E0 ldi r21,hi8(gs(DComp_NextAudioControlInterface))
|
|
281 00ba 0E94 0000 call USB_GetNextDescriptorComp
|
|
282 00be 8823 tst r24
|
|
283 00c0 01F4 brne .L33
|
|
284 .LSM37:
|
|
285 00c2 C980 ldd r12,Y+1
|
|
286 00c4 DA80 ldd r13,Y+2
|
|
287 .LVL23:
|
|
288 .L28:
|
|
289 .LSM38:
|
|
290 00c6 0981 ldd r16,Y+1
|
|
291 00c8 1A81 ldd r17,Y+2
|
|
292 .LVL24:
|
|
293 .LSM39:
|
|
294 00ca 00C0 rjmp .L29
|
|
295 .LVL25:
|
|
296 .L36:
|
|
297 .LSM40:
|
|
298 00cc E981 ldd r30,Y+1
|
|
299 00ce FA81 ldd r31,Y+2
|
|
300 .LVL26:
|
|
301 .LSM41:
|
|
302 00d0 8281 ldd r24,Z+2
|
|
303 00d2 87FF sbrs r24,7
|
|
304 00d4 00C0 rjmp .L29
|
|
305 .LSM42:
|
|
306 00d6 902F mov r25,r16
|
|
307 00d8 812F mov r24,r17
|
|
308 .LVL27:
|
|
309 .LBE6:
|
|
310 .LSM43:
|
|
311 00da 3097 sbiw r30,0
|
|
312 00dc 01F0 breq .L30
|
|
313 .LSM44:
|
|
314 00de D801 movw r26,r16
|
|
315 00e0 1296 adiw r26,2
|
|
316 00e2 8C91 ld r24,X
|
|
317 00e4 1297 sbiw r26,2
|
|
318 00e6 8093 0000 sts StreamingInterfaceIndex,r24
|
|
319 .LSM45:
|
|
320 00ea 1396 adiw r26,3
|
|
321 00ec 8C91 ld r24,X
|
|
322 00ee 8093 0000 sts StreamingInterfaceAltSetting,r24
|
|
323 .LSM46:
|
|
324 00f2 2281 ldd r18,Z+2
|
|
325 00f4 2093 0000 sts StreamingEndpointAddress,r18
|
|
326 .LSM47:
|
|
327 00f8 0481 ldd r16,Z+4
|
|
328 00fa 1581 ldd r17,Z+5
|
|
329 .LVL28:
|
|
330 00fc 81E0 ldi r24,lo8(1)
|
|
331 00fe 61E0 ldi r22,lo8(1)
|
|
332 0100 40E1 ldi r20,lo8(16)
|
|
333 0102 94E0 ldi r25,lo8(4)
|
|
334 0104 E92E mov r14,r25
|
|
335 .LVL29:
|
|
336 0106 0E94 0000 call Pipe_ConfigurePipe
|
|
337 .LVL30:
|
|
338 .LSM48:
|
|
339 010a 80E0 ldi r24,lo8(0)
|
|
340 010c 00C0 rjmp .L22
|
|
341 .LVL31:
|
|
342 .L31:
|
|
343 .LSM49:
|
|
344 010e 82E0 ldi r24,lo8(2)
|
|
345 0110 00C0 rjmp .L22
|
|
346 .LVL32:
|
|
347 .L33:
|
|
348 .LBB7:
|
|
349 .LSM50:
|
|
350 0112 84E0 ldi r24,lo8(4)
|
|
351 .L22:
|
|
352 /* epilogue start */
|
|
353 .LBE7:
|
|
354 .LSM51:
|
|
355 0114 CC5F subi r28,lo8(-(516))
|
|
356 0116 DD4F sbci r29,hi8(-(516))
|
|
357 0118 0FB6 in __tmp_reg__,__SREG__
|
|
358 011a F894 cli
|
|
359 011c DEBF out __SP_H__,r29
|
|
360 011e 0FBE out __SREG__,__tmp_reg__
|
|
361 0120 CDBF out __SP_L__,r28
|
|
362 0122 CF91 pop r28
|
|
363 0124 DF91 pop r29
|
|
364 0126 1F91 pop r17
|
|
365 0128 0F91 pop r16
|
|
366 012a FF90 pop r15
|
|
367 012c EF90 pop r14
|
|
368 012e DF90 pop r13
|
|
369 0130 CF90 pop r12
|
|
370 0132 BF90 pop r11
|
|
371 0134 AF90 pop r10
|
|
372 0136 0895 ret
|
|
373 .L29:
|
|
374 .LVL33:
|
|
375 .LSM52:
|
|
376 0138 902F mov r25,r16
|
|
377 013a 812F mov r24,r17
|
|
378 013c 00C0 rjmp .L30
|
|
379 .LFE131:
|
|
381 .global StreamingInterfaceIndex
|
|
382 .global StreamingInterfaceIndex
|
|
383 .section .bss
|
|
386 StreamingInterfaceIndex:
|
|
387 0000 00 .skip 1,0
|
|
388 .global StreamingInterfaceAltSetting
|
|
389 .global StreamingInterfaceAltSetting
|
|
392 StreamingInterfaceAltSetting:
|
|
393 0001 00 .skip 1,0
|
|
394 .global StreamingEndpointAddress
|
|
395 .global StreamingEndpointAddress
|
|
398 StreamingEndpointAddress:
|
|
399 0002 00 .skip 1,0
|
|
448 .Letext0:
|
|
DEFINED SYMBOLS
|
|
*ABS*:00000000 ConfigDescriptor.c
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:2 *ABS*:0000003f __SREG__
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:3 *ABS*:0000003e __SP_H__
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:4 *ABS*:0000003d __SP_L__
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:5 *ABS*:00000034 __CCP__
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:6 *ABS*:00000000 __tmp_reg__
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:7 *ABS*:00000001 __zero_reg__
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:19 .text.DComp_NextAudioControlInterface:00000000 DComp_NextAudioControlInterface
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:65 .text.DComp_NextAudioStreamInterface:00000000 DComp_NextAudioStreamInterface
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:111 .text.DComp_NextAudioInterfaceDataEndpoint:00000000 DComp_NextAudioInterfaceDataEndpoint
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:162 .text.ProcessConfigurationDescriptor:00000000 ProcessConfigurationDescriptor
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:386 .bss:00000000 StreamingInterfaceIndex
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:392 .bss:00000001 StreamingInterfaceAltSetting
|
|
C:\Users\Dean\AppData\Local\Temp\cc2CU2Sj.s:398 .bss:00000002 StreamingEndpointAddress
|
|
|
|
UNDEFINED SYMBOLS
|
|
USB_Host_GetDeviceConfigDescriptor
|
|
USB_GetNextDescriptorComp
|
|
Pipe_ConfigurePipe
|
|
__do_clear_bss
|