1 /*
2  * Copyright (c) 2023 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_USB_AUDIO_H
8 #define ZEPHYR_INCLUDE_DT_BINDINGS_USB_AUDIO_H
9 
10 /* USB Device Class Definition for Audio Devices Release 2.0 May 31, 2006
11  * A.7 Audio Function Category Codes
12  */
13 #define AUDIO_FUNCTION_SUBCLASS_UNDEFINED	0x00
14 #define AUDIO_FUNCTION_DESKTOP_SPEAKER		0x01
15 #define AUDIO_FUNCTION_HOME_THEATER		0x02
16 #define AUDIO_FUNCTION_MICROPHONE		0x03
17 #define AUDIO_FUNCTION_HEADSET			0x04
18 #define AUDIO_FUNCTION_TELEPHONE		0x05
19 #define AUDIO_FUNCTION_CONVERTER		0x06
20 #define AUDIO_FUNCTION_VOICE_SOUND_RECORDER	0x07
21 #define AUDIO_FUNCTION_IO_BOX			0x08
22 #define AUDIO_FUNCTION_MUSICAL_INSTRUMENT	0x09
23 #define AUDIO_FUNCTION_PRO_AUDIO		0x0A
24 #define AUDIO_FUNCTION_AUDIO_VIDEO		0x0B
25 #define AUDIO_FUNCTION_CONTROL_PANEL		0x0C
26 #define AUDIO_FUNCTION_OTHER			0xFF
27 
28 
29 /* USB Device Class Definition for Terminal Types
30  * Both "Universal Serial Bus Device Class Definition for Terminal Types"
31  * Release 2.0 May 31, 2006 and Release 3.0 September 22, 2016 contain exactly
32  * the same terminal types and values.
33  */
34 
35 /* 2.1 USB Terminal Types */
36 #define USB_TERMINAL_UNDEFINED					0x0100
37 #define USB_TERMINAL_STREAMING					0x0101
38 #define USB_TERMINAL_VENDOR_SPECIFIC				0x01FF
39 
40 /* 2.2 Input Terminal Types */
41 #define INPUT_TERMINAL_UNDEFINED				0x0200
42 #define INPUT_TERMINAL_MICROPHONE				0x0201
43 #define INPUT_TERMINAL_DESKTOP_MICROPHONE			0x0202
44 #define INPUT_TERMINAL_PERSONAL_MICROPHONE			0x0203
45 #define INPUT_TERMINAL_OMNI_DIRECTIONAL_MICROPHONE		0x0204
46 #define INPUT_TERMINAL_MICROPHONE_ARRAY				0x0205
47 #define INPUT_TERMINAL_PROCESSING_MICROPHONE_ARRAY		0x0206
48 
49 /* 2.3 Output Terminal Types */
50 #define OUTPUT_TERMINAL_UNDEFINED				0x0300
51 #define OUTPUT_TERMINAL_SPEAKER					0x0301
52 #define OUTPUT_TERMINAL_HEADPHONES				0x0302
53 #define OUTPUT_TERMINAL_HEAD_MOUNTED_DISPLAY_AUDIO		0x0303
54 #define OUTPUT_TERMINAL_DESKTOP_SPEAKER				0x0304
55 #define OUTPUT_TERMINAL_ROOM_SPEAKER				0x0305
56 #define OUTPUT_TERMINAL_COMMUNICATION_SPEAKER			0x0306
57 #define OUTPUT_TERMINAL_LOW_FREQUENCY_EFFECTS_SPEAKER		0x0307
58 
59 /* 2.4 Bi-directional Terminal Types */
60 #define BIDIRECTIONAL_TERMINAL_UNDEFINED			0x0400
61 #define BIDIRECTIONAL_TERMINAL_HANDSET				0x0401
62 #define BIDIRECTIONAL_TERMINAL_HEADSET				0x0402
63 #define BIDIRECTIONAL_TERMINAL_SPEAKERPHONE_NO_ECHO_REDUCTION	0x0403
64 #define BIDIRECTIONAL_TERMINAL_ECHO_SUPPRESSING_SPEAKERPHONE	0x0404
65 #define BIDIRECTIONAL_TERMINAL_ECHO_CANCELLING_SPEAKERPHONE	0x0405
66 
67 /* 2.5 Telephony Terminal Types */
68 #define TELEPHONY_TERMINAL_UNDEFINED				0x0500
69 #define TELEPHONY_TERMINAL_PHONE_LINE				0x0501
70 #define TELEPHONY_TERMINAL_TELEPHONE				0x0502
71 #define TELEPHONY_TERMINAL_DOWN_LINE_PHONE			0x0503
72 
73 /* 2.6 External Terminal Types */
74 #define EXTERNAL_TERMINAL_UNDEFINED				0x0600
75 #define EXTERNAL_TERMINAL_ANALOG_CONNECTOR			0x0601
76 #define EXTERNAL_TERMINAL_DIGITAL_AUDIO_INTERFACE		0x0602
77 #define EXTERNAL_TERMINAL_LINE_CONNECTOR			0x0603
78 #define EXTERNAL_TERMINAL_LEGACY_AUDIO_CONNECTOR		0x0604
79 #define EXTERNAL_TERMINAL_SPDIF_INTERFACE			0x0605
80 #define EXTERNAL_TERMINAL_1394_DA_STREAM			0x0606
81 #define EXTERNAL_TERMINAL_1394_DV_STREAM_SOUNDTRACK		0x0607
82 #define EXTERNAL_TERMINAL_ADAT_LIGHTPIPE			0x0608
83 #define EXTERNAL_TERMINAL_TDIF					0x0609
84 #define EXTERNAL_TERMINAL_MADI					0x060A
85 
86 /* 2.7 Embedded Function Terminal Types */
87 #define EMBEDDED_TERMINAL_UNDEFINED				0x0700
88 #define EMBEDDED_TERMINAL_LEVEL_CALIBRATION_NOISE_SOURCE	0x0701
89 #define EMBEDDED_TERMINAL_EQUALIZATION_NOISE			0x0702
90 #define EMBEDDED_TERMINAL_CD_PLAYER				0x0703
91 #define EMBEDDED_TERMINAL_DAT					0x0704
92 #define EMBEDDED_TERMINAL_DCC					0x0705
93 #define EMBEDDED_TERMINAL_COMPRESSED_AUDIO_PLAYER		0x0706
94 #define EMBEDDED_TERMINAL_ANALOG_TAPE				0x0707
95 #define EMBEDDED_TERMINAL_PHONOGRAPH				0x0708
96 #define EMBEDDED_TERMINAL_VCR_AUDIO				0x0709
97 #define EMBEDDED_TERMINAL_VIDEO_DISC_AUDIO			0x070A
98 #define EMBEDDED_TERMINAL_DVD_AUDIO				0x070B
99 #define EMBEDDED_TERMINAL_TV_TUNER_AUDIO			0x070C
100 #define EMBEDDED_TERMINAL_SATELLITE_RECEIVER_AUDIO		0x070D
101 #define EMBEDDED_TERMINAL_CABLE_TUNER_AUDIO			0x070E
102 #define EMBEDDED_TERMINAL_DSS_AUDIO				0x070F
103 #define EMBEDDED_TERMINAL_RADIO_RECEIVER			0x0710
104 #define EMBEDDED_TERMINAL_RADIO_TRANSMITTER			0x0711
105 #define EMBEDDED_TERMINAL_MULTI_TRACK_RECORDER			0x0712
106 #define EMBEDDED_TERMINAL_SYNTHESIZER				0x0713
107 #define EMBEDDED_TERMINAL_PIANO					0x0714
108 #define EMBEDDED_TERMINAL_GUITAR				0x0715
109 #define EMBEDDED_TERMINAL_DRUMS_RHYTHM				0x0716
110 #define EMBEDDED_TERMINAL_OTHER_MUSICAL_INSTRUMENT		0x0717
111 
112 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_USB_AUDIO_H */
113