blob: 7e441e28e44034099f44f94d415012f8f1684a4d [file] [log] [blame]
page.title=3.5 mm Headset Jack: Device Specification
@jd:body
<!--
Copyright 2015 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.
-->
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol id="auto-toc">
</ol>
</div>
</div>
<p>To achieve compatibility with the <a href="plug-headset-spec.html">3.5 mm plug
headset specification</a>, devices that include a 4 conductor 3.5 mm audio jack
must meet the following specifications. For Android compatibility requirements,
refer to the <em>Analog audio ports</em> section of the <a
href="{@docRoot}compatibility/android-cdd.html#7_8_audio">Android CDD</a>.</p>
<h2 id="headset_jack_functions">Functions</h2>
<table>
<tr>
<th>Function</th>
<th>Device Support</th>
</tr>
<tr>
<td>Stereo Audio Out</td>
<td>Required</td>
</tr>
<tr>
<td>Audio in (Mic)</td>
<td>Required</td>
</tr>
<tr>
<td>Ground</td>
<td>Required</td>
</tr>
</table>
<h2 id="software_mapping">Software mapping</h2>
<table>
<tr>
<th style="width:33%">Function</th>
<th style="width:33%">Device Support</th>
<th style="width:33%">Description</th>
</tr>
<tr>
<td>Function A control event</td>
<td>Required</td>
<td>Input event: <code>KEY_MEDIA</code>
<p>Android key: <code>KEYCODE_HEADSETHOOK<code></p></td>
</tr>
<tr>
<td>Function D control event</td>
<td>Required</td>
<td>Input event: <code>KEY_VOICECOMMAND</code>
<p>Android key: <code>KEYCODE_VOICE_ASSIST</code></p></td>
</tr>
<tr>
<td>Function B control event</td>
<td>Required</td>
<td>Input event: <code>KEY_VOLUMEUP</code>
<p>Android key: <code>VOLUME_UP</code></p></td>
</tr>
<tr>
<td>Function C control event</td>
<td>Required</td>
<td>Input event: <code>KEY_VOLUMEDOWN</code>
<p>Android key: <code>VOLUME_DOWN</code></p></td>
</tr>
<tr>
<td>Headset insertion detection</td>
<td>Required</td>
<td>Input event: <code>SW_JACK_PHYSICAL_INSERT 7</code></td>
</tr>
<tr>
<td rowspan="2">Headset type detection</td>
<td>Mic</td>
<td>Input event: <code>SW_MICROPHONE_INSERT 4</code></td>
</tr>
<tr>
<td>No Mic</td>
<td>Input event: <code>SW_HEADPHONE_INSERT 2</code></td>
</tr>
<tr>
<td rowspan="2">Headset speaker impedance</td>
<td>Required Headphone (low)</td>
<td>Failure mode is to indicate headphones so limitation would be on</td>
</tr>
<tr>
<td>Required Line In (high)</td>
<td>Input event: <code>SW_LINEOUT_INSERT 6</code></td>
</tr>
</table>
<h2 id="mechanical11">Mechanical</h2>
<table>
<tr>
<th style="width:33%">Function</th>
<th style="width:33%">Device Support</th>
<th style="width:33%">Description</th>
</tr>
<tr>
<td>4 conductor 3.5 mm jack</td>
<td>Required</td>
<td></td>
</tr>
<tr>
<td>CTIA pinout order (LRGM)</td>
<td>Required</td>
<td>3 Pin & Mono Plug Compatible</td>
</tr>
<tr>
<td>OMTP pinout order (LRMG)</td>
<td>Optional but strongly recommended</td>
<td></td>
</tr>
<tr>
<td>Headset detect sequence</td>
<td>Required</td>
<td>Plug insert notification must be triggered only after all contacts on
plug are touching their relevant segments (this prevents unreliable headset
detection due to slow insertion.</td>
</tr>
</table>
<h2 id="electrical12">Electrical</h2>
<h3 id="general">General</h3>
<table>
<tr>
<th style="width:33%">Function</th>
<th style="width:33%">Device Support</th>
<th style="width:33%">Notes</th>
</tr>
<tr>
<td>Maximum output voltage drive</td>
<td>150mV</td>
<td>&gt;= 150mV on 32 ohm
<p>Test conditions: EN50332-2</p></td>
</tr>
<tr>
<td>Mic bias resistance</td>
<td>Required</td>
<td>Flexible on detection method used and microphone bias resistor
selection. Require that all button resistance value ranges specified below
be detected and related to their respective function</td>
</tr>
<tr>
<td>Mic bias voltage</td>
<td>1.8V - 2.9V</td>
<td>To guarantee compatibility to common microphone capsules.</td>
</tr>
</table>
<h3 id="function_impedance_and_threshold_detection">Function impedance and
threshold detection</h3>
<p>Devices must detect the following resistor ladder on the accessories. The
accessories will be tested to the standardized circuit diagram in the diagram
illustrated earlier (Reference Headset Test Circuit) where the total impedance
is measured from MIC terminal to GND when a button is pressed with 2.2V mic
bias applied through 2.2 kOhm resistor. This is the same effective resistance
as the button detection circuit with the microphone in parallel with the button
resistor.</p>
<table>
<tr>
<th style="width:40%">Button Impedance Level</th>
<th style="width:20%">Device Support</th>
<th style="width:40%">Notes</th>
</tr>
<tr>
<td>70 ohm or less</td>
<td>Required</td>
<td>[Function A]</td>
</tr>
<tr>
<td>110 - 180 ohm</td>
<td>Required</td>
<td>[Function D]</td>
</tr>
<tr>
<td>210 - 290 ohm</td>
<td>Required</td>
<td>[Function B]</td>
</tr>
<tr>
<td>360 - 680 ohm</td>
<td>Required</td>
<td>[Function C]</td>
</tr>
</table>
<table>
<tr>
<th style="width:40%">Headset Speaker Impedance Level</th>
<th style="width:20%">Device Support</th>
<th style="width:40%">Notes</th>
</tr>
<tr>
<td>Low Threshold Detection</td>
<td>Required</td>
<td>Headphone (low) &lt; 1 Kohm</td>
</tr>
<tr>
<td>High Threshold Detection</td>
<td>Required</td>
<td>Line In (high) &gt; 5 Kohm</td>
</tr>
</table>
<table>
<tr>
<th style="width:40%">4-Segment Plug Detection Resistance (between 3rd and 4th segment)</th>
<th style="width:20%">Device Support</th>
<th style="width:40%">Notes</th>
</tr>
<tr>
<td>4-Segment Plug Threshold</td>
<td>Required</td>
<td>Resistance &gt;= 100 ohms</td>
</tr>
<tr>
<td>3-Segment Plug Threshold</td>
<td>Required</td>
<td>Resistance &lt; 100 ohms</td>
</tr>
</table>