While some new Android phones are being produced without a 3.5 mm jack, users may still own 3.5 mm headsets that they want to use with those devices. To facilitate that, this article specifies a USB-C-to-analog audio adapter spec to plug 3.5 mm headsets into devices that only have a USB-C port.
This documentation specifies the minimum requirements: accessory manufacturers are encouraged to add features while keeping these requirements in mind.
Adapter type
Only digital-to-analog adapters are allowed. Analog-only adapters following USB.org's "USB Type-C Cable and Connector Specification, Release 1.2, Appendix A" are not supported.
Functional overview
The adapter allows users to plug their existing 3.5mm accessories into devices with USB-C ports. To do this, the adapter supports:
- Stereo analog devices with and without microphones
 - Digital to analog conversion of 2 output channels
 - Analog to digital conversion of 1 input channel
 - Detection of analog device insertion
 - Detection of headset microphone
 - Detection of output impedance
 - Translation of headset button events to HID events
 
Analog interface
The adapter shall not present any UAC interface, playback, or capture endpoints to the USB host until a device is inserted and properly identified. Depending on the type of device detected, the following UAC terminal types must be reported:
- Headphones. Low impedance transducers, < 1 kiloohm, no microphone: 0x0302
 - Headset. Low impedance transducers with microphone: 0x0402
 - Line in. High impedance input: 0x603
 - Line out. High impedance output: 0x604
 - Line in and Line out or Line in and Mic: 0x400
 
Button functions
The adapter shall convert button events received from the analog interface and conforming to the Android analog headset specification to the following HID events:
| Function | Mappings | 
|---|---|
| A | HID usage page: 0x0C HID usage: 0x0CD  | 
  
| B | HID usage page: 0x0C HID usage: 0x0E9  | 
  
| C | HID usage page: 0x0C HID usage: 0x0EA  | 
  
| D | HID usage page: 0x0C HID usage: 0x0CF  |