diff options
Diffstat (limited to 'en/devices/accessories/headset/usb-adapter.html')
-rw-r--r-- | en/devices/accessories/headset/usb-adapter.html | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/en/devices/accessories/headset/usb-adapter.html b/en/devices/accessories/headset/usb-adapter.html new file mode 100644 index 00000000..4b70bc1d --- /dev/null +++ b/en/devices/accessories/headset/usb-adapter.html @@ -0,0 +1,112 @@ +<html devsite> + <head> + <title>USB-C-to-Analog Audio Adapter</title> + <meta name="project_path" value="/_project.yaml" /> + <meta name="book_path" value="/_book.yaml" /> + </head> + <body> + <!-- + Copyright 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> + + + +<p> +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 +<a href="/devices/accessories/headset/plug-headset-spec.html">3.5 mm headsets</a> +into devices that only have a +<a href="/devices/accessories/headset/usb-device">USB-C port</a>.</p> +<p> +This documentation specifies the minimum requirements: accessory manufacturers +are encouraged to add features while keeping these requirements in mind. +</p> + +<h2 id="adapter-type">Adapter type</h2> +<p> +Only digital-to-analog adapters are allowed. Analog-only adapters following +<a href="http://www.usb.org/">USB.org's</a> "USB Type-C Cable and Connector +Specification, Release 1.2, Appendix A" are not supported. +</p> +<h2 id="functional-overview">Functional overview</h2> +<p> +The adapter allows users to plug their existing 3.5mm accessories into devices +with USB-C ports. To do this, the adapter supports: +</p> +<ul> + <li>Stereo analog devices with and without microphones</li> + <li>Digital to analog conversion of 2 output channels</li> + <li>Analog to digital conversion of 1 input channel</li> + <li>Detection of analog device insertion</li> + <li>Detection of headset microphone</li> + <li>Detection of output impedance</li> + <li>Translation of headset button events to HID events</li> +</ul> + +<h2 id="analog-interface">Analog interface</h2> +<p> +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: +</p> + +<ul> + <li><strong>Headphones</strong>. Low impedance transducers, < 1 kiloohm, no + microphone: 0x0302</li> + <li><strong>Headset</strong>. Low impedance transducers with microphone: 0x0402</li> + <li><strong>Line in</strong>. High impedance input: 0x603</li> + <li><strong>Line out</strong>. High impedance output: 0x604</li> + <li><strong>Line in and Line out</strong> or <strong>Line in and Mic</strong>: + 0x400</li> +</ul> + +<h2 id="button-functions">Button functions</h2> +<p> +The adapter shall convert button events received from the analog interface and +conforming to the Android +<a href="/devices/accessories/headset/plug-headset-spec">analog headset +specification</a> to the following HID events: </p> +<table> + <tr> + <th>Function</th> + <th>Mappings</th> + </tr> + <tr> + <td>A</td> + <td>HID usage page: 0x0C<br> + HID usage: 0x0CD </td> + </tr> + <tr> + <td>B </td> + <td>HID usage page: 0x0C<br> + HID usage: 0x0E9</td> + </tr> + <tr> + <td>C</td> + <td>HID usage page: 0x0C<br> + HID usage: 0x0EA</td> + </tr> + <tr> + <td>D </td> + <td>HID usage page: 0x0C<br> + HID usage: 0x0CF</td> + </tr> +</table> + + </body></html> + + |