aboutsummaryrefslogtreecommitdiff
path: root/en/devices/accessories/headset/usb-adapter.html
diff options
context:
space:
mode:
Diffstat (limited to 'en/devices/accessories/headset/usb-adapter.html')
-rw-r--r--en/devices/accessories/headset/usb-adapter.html112
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, &lt; 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>
+
+