<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>M.2 on KnightLi Blog</title>
        <link>https://www.knightli.com/en/tags/m.2/</link>
        <description>Recent content in M.2 on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Wed, 15 Apr 2026 08:00:00 +0800</lastBuildDate><atom:link href="https://www.knightli.com/en/tags/m.2/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>M.2 Key E, Key B, and Key M Pinout Notes</title>
        <link>https://www.knightli.com/en/2026/04/15/m2-pinout-descriptions/</link>
        <pubDate>Wed, 15 Apr 2026 08:00:00 +0800</pubDate>
        
        <guid>https://www.knightli.com/en/2026/04/15/m2-pinout-descriptions/</guid>
        <description>&lt;p&gt;This article mainly covers three M.2 interfaces that are very common in embedded systems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Socket 1 - Key E&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Socket 2 - Key B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Socket 3 - Key M&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The original document is based on &lt;strong&gt;PCI Express M.2 Specification Revision 3.0, Version 1.2&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;01-socket-1---key-e&#34;&gt;01 Socket 1 - Key E
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Key E&lt;/code&gt; is commonly used for connectivity modules such as Wi-Fi / Bluetooth expansion cards. The original text notes that these cards usually connect over &lt;code&gt;PCIe&lt;/code&gt; and &lt;code&gt;USB&lt;/code&gt;, while support for other buses such as &lt;code&gt;SDIO&lt;/code&gt; and &lt;code&gt;I2S&lt;/code&gt; depends on whether the COM supports them.&lt;/p&gt;
&lt;h3 id=&#34;pinout-description&#34;&gt;Pinout Description
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Left Pin&lt;/th&gt;
      &lt;th&gt;Left Signal&lt;/th&gt;
      &lt;th&gt;Right Signal&lt;/th&gt;
      &lt;th&gt;Right Pin&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;&lt;td&gt;74&lt;/td&gt;&lt;td&gt;3.3V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;75&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;3.3V&lt;/td&gt;&lt;td&gt;RESERVED/REFCLKn1&lt;/td&gt;&lt;td&gt;73&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;70&lt;/td&gt;&lt;td&gt;UIM_POWER_SRC/GPIO_1/PEWAKE1#&lt;/td&gt;&lt;td&gt;RESERVED/REFCLKp1&lt;/td&gt;&lt;td&gt;71&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;68&lt;/td&gt;&lt;td&gt;UIM_POWER_SNK/CLKREQ1#&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;69&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;66&lt;/td&gt;&lt;td&gt;UIM_SWP/PERST1#&lt;/td&gt;&lt;td&gt;RESERVED/PERn1&lt;/td&gt;&lt;td&gt;67&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;64&lt;/td&gt;&lt;td&gt;RESERVED&lt;/td&gt;&lt;td&gt;RESERVED/PERp1&lt;/td&gt;&lt;td&gt;65&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;62&lt;/td&gt;&lt;td&gt;ALERT# (I)(0/1.8 V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;63&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;60&lt;/td&gt;&lt;td&gt;I2C_CLK (O)(0/1.8 V)&lt;/td&gt;&lt;td&gt;RESERVED/PETn1&lt;/td&gt;&lt;td&gt;61&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;58&lt;/td&gt;&lt;td&gt;I2C_DATA (I/O)(0/1.8 V)&lt;/td&gt;&lt;td&gt;RESERVED/PETp1&lt;/td&gt;&lt;td&gt;59&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;W_DISABLE1# (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;57&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;W_DISABLE2# (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;PEWAKE0# (I/O)(0/3.3V)&lt;/td&gt;&lt;td&gt;55&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;PERST0# (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;CLKREQ0# (I/O)(0/3.3V)&lt;/td&gt;&lt;td&gt;53&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;SUSCLK(32kHz) (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;51&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;48&lt;/td&gt;&lt;td&gt;COEX_TXD (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;REFCLKn0&lt;/td&gt;&lt;td&gt;49&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;COEX_RXD (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;REFCLKp0&lt;/td&gt;&lt;td&gt;47&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;44&lt;/td&gt;&lt;td&gt;COEX3 (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;45&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;42&lt;/td&gt;&lt;td&gt;VENDOR DEFINED&lt;/td&gt;&lt;td&gt;PERn0&lt;/td&gt;&lt;td&gt;43&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;VENDOR DEFINED&lt;/td&gt;&lt;td&gt;PERp0&lt;/td&gt;&lt;td&gt;41&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;38&lt;/td&gt;&lt;td&gt;VENDOR DEFINED&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;39&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;UART RTS (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;PETn0&lt;/td&gt;&lt;td&gt;37&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;UART CTS (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;PETp0&lt;/td&gt;&lt;td&gt;35&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;32&lt;/td&gt;&lt;td&gt;UART TXD (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;33&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key E&lt;/td&gt;&lt;td&gt;SDIO RESET#/TX_BLANKING (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;23&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;UART RXD (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;SDIO WAKE# (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;21&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;UART WAKE# (I)(0/3.3V)&lt;/td&gt;&lt;td&gt;SDIO DATA3(I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;19&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;SDIO DATA2(I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;17&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;LED_2# (I)(OD)&lt;/td&gt;&lt;td&gt;SDIO DATA1(I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;PCM_OUT/I2S SD_OUT (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;SDIO DATA0(I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;PCM_IN/I2S SD_IN (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;SDIO CMD(I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;PCM_SYNC/I2S WS (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;SDIO CLK/SYSCLK (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;PCM_CLK/I2S SCK (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;LED_1# (I)(OD)&lt;/td&gt;&lt;td&gt;USB_D-&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;3.3V&lt;/td&gt;&lt;td&gt;USB_D+&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3.3V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;notes&#34;&gt;Notes
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;M.2 Socket 1 - Key E&lt;/code&gt; is commonly used for connectivity applications such as Wi-Fi / Bluetooth modules.&lt;/li&gt;
&lt;li&gt;The AC coupling capacitors for &lt;code&gt;PCIe_TX+/-&lt;/code&gt; are placed on the COM side, while the AC coupling capacitors for &lt;code&gt;PCIe_RX+/-&lt;/code&gt; are placed on the M.2 add-in card side, so the carrier board does not need to add those AC coupling capacitors again.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLKREQ#&lt;/code&gt; is used to enable the PCIe reference clock and should be connected to the output enable pin of the PCIe clock buffer.&lt;/li&gt;
&lt;li&gt;Since &lt;code&gt;CLKREQ#&lt;/code&gt; is an active-low open-drain signal driven by the M.2 add-in card, the carrier board side needs a pull-up resistor.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;02-socket-2---key-b&#34;&gt;02 Socket 2 - Key B
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Key B&lt;/code&gt; is common on SATA and PCIe SSDs, as well as some WWAN modules. One key feature of this socket is the set of four configuration pins, &lt;code&gt;CONFIG_0&lt;/code&gt; through &lt;code&gt;CONFIG_3&lt;/code&gt;, which let the system identify which host interface the card expects to use.&lt;/p&gt;
&lt;h3 id=&#34;pinout-description-1&#34;&gt;Pinout Description
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Left Pin&lt;/th&gt;
      &lt;th&gt;Left Signal&lt;/th&gt;
      &lt;th&gt;Right Signal&lt;/th&gt;
      &lt;th&gt;Right Pin&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;&lt;td&gt;74&lt;/td&gt;&lt;td&gt;3.3 V/VBAT&lt;/td&gt;&lt;td&gt;CONFIG_2&lt;/td&gt;&lt;td&gt;75&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;3.3 V/VBAT&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;73&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;70&lt;/td&gt;&lt;td&gt;3.3 V/VBAT&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;71&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;68&lt;/td&gt;&lt;td&gt;SUSCLK(32kHz) (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;CONFIG_1&lt;/td&gt;&lt;td&gt;69&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;66&lt;/td&gt;&lt;td&gt;SIM DETECT (O)&lt;/td&gt;&lt;td&gt;RESET# (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;67&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;64&lt;/td&gt;&lt;td&gt;COEX_RXD (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;ANTCTL3 (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;65&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;62&lt;/td&gt;&lt;td&gt;COEX_TXD (O)(0/1.8V)&lt;/td&gt;&lt;td&gt;ANTCTL2 (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;63&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;60&lt;/td&gt;&lt;td&gt;COEX3 (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;ANTCTL1 (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;61&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;58&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;ANTCTL0 (I)(0/1.8V)&lt;/td&gt;&lt;td&gt;59&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;57&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;PEWAKE# (I/O)(0/3.3V)&lt;/td&gt;&lt;td&gt;REFCLKp&lt;/td&gt;&lt;td&gt;55&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;CLKREQ# (I/O)(0/3.3V)&lt;/td&gt;&lt;td&gt;REFCLKn&lt;/td&gt;&lt;td&gt;53&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;PERST# (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;51&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;48&lt;/td&gt;&lt;td&gt;GPIO_4 (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;PETp0/SATA-A+&lt;/td&gt;&lt;td&gt;49&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;GPIO_3 (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;PETn0/SATA-A-&lt;/td&gt;&lt;td&gt;47&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;44&lt;/td&gt;&lt;td&gt;GPIO_2 (I/O)/ALERT# (I)/(0/1.8V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;45&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;42&lt;/td&gt;&lt;td&gt;GPIO_1 (I/O)/SMB_DATA (I/O)/(0/1.8V)&lt;/td&gt;&lt;td&gt;PERp0/SATA-B-&lt;/td&gt;&lt;td&gt;43&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;GPIO_0 (I/O)/SMB_CLK (I/O)/(0/1.8V)&lt;/td&gt;&lt;td&gt;PERn0/SATA-B+&lt;/td&gt;&lt;td&gt;41&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;38&lt;/td&gt;&lt;td&gt;DEVSLP (O)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;39&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;UIM-PWR (I)&lt;/td&gt;&lt;td&gt;PETp1/USB3.1-Tx+/SSIC-TxP&lt;/td&gt;&lt;td&gt;37&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;UIM-DATA (I/O)&lt;/td&gt;&lt;td&gt;PETn1/USB3.1-Tx-/SSIC-TxN&lt;/td&gt;&lt;td&gt;35&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;32&lt;/td&gt;&lt;td&gt;UIM-CLK (I)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;33&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;UIM-RESET (I)&lt;/td&gt;&lt;td&gt;PERp1/USB3.1-Rx+/SSIC-RxP&lt;/td&gt;&lt;td&gt;31&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;28&lt;/td&gt;&lt;td&gt;GPIO_8 (I/O) (0/1.8V)&lt;/td&gt;&lt;td&gt;PERn1/USB3.1-Rx-/SSIC-RxN&lt;/td&gt;&lt;td&gt;29&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;GPIO_10 (I/O) (0/1.8V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;27&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;GPIO_7 (I/O) (0/1.8V)&lt;/td&gt;&lt;td&gt;DPR (O) (0/1.8V)&lt;/td&gt;&lt;td&gt;25&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;GPIO_6 (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;GPIO_11 (I/O) (0/1.8V)&lt;/td&gt;&lt;td&gt;23&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;GPIO_5 (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;CONFIG_0&lt;/td&gt;&lt;td&gt;21&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key B&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;GPIO_9/DAS/DSS (I/O)/LED_1# (I)(0/3.3V)&lt;/td&gt;&lt;td&gt;USB_D-&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;W_DISABLE1# (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;USB_D+&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;FULL_CARD_POWER_OFF# (O)(0/1.8V or 3.3V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;CONFIG_3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;host-interface-configuration&#34;&gt;Host Interface Configuration
&lt;/h3&gt;&lt;p&gt;The original text explains that the system should read the four &lt;code&gt;CONFIG_X&lt;/code&gt; pins to determine the selected pinout / host interface for the installed card. Even when the M.2 card is not powered yet, the system should still pull these configuration pins up to the appropriate rail so their state can be read.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;CONFIG_0 (Pin 21)&lt;/th&gt;
          &lt;th&gt;CONFIG_1 (Pin 69)&lt;/th&gt;
          &lt;th&gt;CONFIG_2 (Pin 75)&lt;/th&gt;
          &lt;th&gt;CONFIG_3 (Pin 1)&lt;/th&gt;
          &lt;th&gt;Host Interface&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;SSD - SATA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;SSD - PCIe&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe (Port Configuration 0*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe (Port Configuration 1*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe, USB3.1 Gen1 (Port Configuration 0*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe, USB3.1 Gen1 (Port Configuration 1*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe, USB3.1 Gen1 (Port Configuration 2*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe, USB3.1 Gen1 (Port Configuration 3*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;WWAN - SSIC (Port Configuration 0*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;WWAN - SSIC (Port Configuration 1*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;WWAN - SSIC (Port Configuration 2*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;WWAN - SSIC (Port Configuration 3*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe (Port Configuration 2*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe (Port Configuration 3*)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;0&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;WWAN - PCIe, USB3.1 Gen1 (vendor defined)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;No Add-in Card Present&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Note: for the details of each &lt;code&gt;Port Configuration&lt;/code&gt;, the original text suggests referring back to the PCI Express M.2 Specification.&lt;/p&gt;
&lt;h3 id=&#34;notes-1&#34;&gt;Notes
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Socket 2 - Key B&lt;/code&gt; is commonly used for &lt;code&gt;PCIe&lt;/code&gt; or &lt;code&gt;SATA&lt;/code&gt; storage devices.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CONFIG_1&lt;/code&gt; can be used to switch the host interface:&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CONFIG_1 = Low&lt;/code&gt; enables &lt;code&gt;SATA&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CONFIG_1 = High&lt;/code&gt; enables &lt;code&gt;PCIe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The second PCIe lane can support &lt;code&gt;PCIe x2&lt;/code&gt; devices such as Intel Optane. To actually run at &lt;code&gt;x2&lt;/code&gt;, the host PCIe lanes must also be configured as a &lt;code&gt;PCIe x2 link&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;When &lt;code&gt;PCIe&lt;/code&gt; mode is enabled, the M.2 add-in card does not connect &lt;code&gt;CONFIG_1&lt;/code&gt;, so the carrier board side needs a pull-up resistor.&lt;/li&gt;
&lt;li&gt;If this M.2 socket is used with a &lt;code&gt;SATA&lt;/code&gt; storage device, &lt;code&gt;Pin 43&lt;/code&gt; should connect to the negative side of the &lt;code&gt;SATA Rx&lt;/code&gt; differential pair.&lt;/li&gt;
&lt;li&gt;If this M.2 socket is used with a &lt;code&gt;PCIe&lt;/code&gt; storage device, &lt;code&gt;Pin 43&lt;/code&gt; should connect to the positive side of the &lt;code&gt;PCIe Rx&lt;/code&gt; differential pair.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;03-socket-3---key-m&#34;&gt;03 Socket 3 - Key M
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Key M&lt;/code&gt; is commonly used for &lt;code&gt;PCIe&lt;/code&gt; or &lt;code&gt;SATA&lt;/code&gt; storage devices, especially higher-bandwidth SSDs. Similar to &lt;code&gt;Key B&lt;/code&gt;, it also has a signal used to select the host interface, but here that signal is &lt;code&gt;PEDET&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;pinout-description-2&#34;&gt;Pinout Description
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Left Pin&lt;/th&gt;
      &lt;th&gt;Left Signal&lt;/th&gt;
      &lt;th&gt;Right Signal&lt;/th&gt;
      &lt;th&gt;Right Pin&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;&lt;td&gt;74&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;75&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;73&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;70&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;71&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;68&lt;/td&gt;&lt;td&gt;SUSCLK (O)(0/3.3V)&lt;/td&gt;&lt;td&gt;PEDET&lt;/td&gt;&lt;td&gt;69&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;67&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;td colspan=&#34;2&#34;&gt;Key M&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;58&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;57&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;REFCLKp&lt;/td&gt;&lt;td&gt;55&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;PEWAKE# (I/O)(0/3.3V) or NC&lt;/td&gt;&lt;td&gt;REFCLKn&lt;/td&gt;&lt;td&gt;53&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;CLKREQ# (I/O)(0/3.3V) or NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;51&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;PERST# (O)(0/3.3V) or NC&lt;/td&gt;&lt;td&gt;PETp0/SATA-A+&lt;/td&gt;&lt;td&gt;49&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;48&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PETn0/SATA-A-&lt;/td&gt;&lt;td&gt;47&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;45&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;44&lt;/td&gt;&lt;td&gt;ALERT# (I) (0/1.8V)&lt;/td&gt;&lt;td&gt;PERp0/SATA-B-&lt;/td&gt;&lt;td&gt;43&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;42&lt;/td&gt;&lt;td&gt;SMB_DATA (I/O) (0/1.8V)&lt;/td&gt;&lt;td&gt;PERn0/SATA-B+&lt;/td&gt;&lt;td&gt;41&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;SMB_CLK (I/O)(0/1.8V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;39&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;38&lt;/td&gt;&lt;td&gt;DEVSLP (O)&lt;/td&gt;&lt;td&gt;PETp1&lt;/td&gt;&lt;td&gt;37&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PETn1&lt;/td&gt;&lt;td&gt;35&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;33&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;32&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PERp1&lt;/td&gt;&lt;td&gt;31&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PERn1&lt;/td&gt;&lt;td&gt;29&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;28&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;27&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PETp2&lt;/td&gt;&lt;td&gt;25&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PETn2&lt;/td&gt;&lt;td&gt;23&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;21&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PERp2&lt;/td&gt;&lt;td&gt;19&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;PERn2&lt;/td&gt;&lt;td&gt;17&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;PETp3&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;PETn3&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;DAS/DSS (I/O)/LED_1# (I)(0/3.3V)&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PERp3&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;NC&lt;/td&gt;&lt;td&gt;PERn3&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3.3 V&lt;/td&gt;&lt;td&gt;GND&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;notes-2&#34;&gt;Notes
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Socket 3 - Key M&lt;/code&gt; is commonly used for &lt;code&gt;PCIe&lt;/code&gt; or &lt;code&gt;SATA&lt;/code&gt; storage devices.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PEDET&lt;/code&gt; is used to select the host interface, and the M.2 card indicates the mode by how it is wired:&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PEDET = Low&lt;/code&gt; means &lt;code&gt;SATA&lt;/code&gt; is enabled, which is done by connecting &lt;code&gt;PEDET&lt;/code&gt; to &lt;code&gt;GND&lt;/code&gt; on the M.2 card&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PEDET = High&lt;/code&gt; means &lt;code&gt;PCIe&lt;/code&gt; is enabled, which is done by leaving &lt;code&gt;PEDET&lt;/code&gt; unconnected on the M.2 card&lt;/li&gt;
&lt;li&gt;For maximum bandwidth, all four PCIe lanes should be configured as an &lt;code&gt;x4 link&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;When &lt;code&gt;PCIe&lt;/code&gt; mode is enabled, the M.2 add-in card does not connect &lt;code&gt;PEDET&lt;/code&gt;, so the carrier board side needs a pull-up resistor.&lt;/li&gt;
&lt;li&gt;If this socket is used with a &lt;code&gt;SATA&lt;/code&gt; storage device, &lt;code&gt;Pin 43&lt;/code&gt; should connect to the negative side of the &lt;code&gt;SATA Rx&lt;/code&gt; differential pair.&lt;/li&gt;
&lt;li&gt;If this socket is used with a &lt;code&gt;PCIe&lt;/code&gt; storage device, &lt;code&gt;Pin 43&lt;/code&gt; should connect to the positive side of the &lt;code&gt;PCIe Rx&lt;/code&gt; differential pair.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;04-quick-summary&#34;&gt;04 Quick Summary
&lt;/h2&gt;&lt;p&gt;If you only want the quickest takeaways from this article, these are the main points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Key E&lt;/code&gt; is mainly aimed at connectivity modules such as Wi-Fi / Bluetooth.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Key B&lt;/code&gt; is common on SATA / PCIe SSDs and can also appear on WWAN modules.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Key M&lt;/code&gt; is mainly used for higher-bandwidth storage, especially PCIe SSDs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Key B&lt;/code&gt; uses &lt;code&gt;CONFIG_0 ~ CONFIG_3&lt;/code&gt; to identify the interface configuration.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Key M&lt;/code&gt; uses &lt;code&gt;PEDET&lt;/code&gt; to distinguish between &lt;code&gt;SATA&lt;/code&gt; and &lt;code&gt;PCIe&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Signals such as &lt;code&gt;CLKREQ#&lt;/code&gt;, &lt;code&gt;CONFIG_1&lt;/code&gt;, and &lt;code&gt;PEDET&lt;/code&gt; need pull-ups on the carrier board in some modes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you plan to design a carrier board or a socket interface around these definitions, it is still a good idea to compare this summary with the original source and the PCI Express M.2 specification, especially for &lt;code&gt;Port Configuration&lt;/code&gt;, PCIe lane mapping, and pins shared between SATA and PCIe.&lt;/p&gt;
&lt;h2 id=&#34;references&#34;&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Source material: &lt;a class=&#34;link&#34; href=&#34;https://wiki.congatec.com/wiki/M.2_Pinout_Descriptions_and_Reference_Designs_%28AN43%29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://wiki.congatec.com/wiki/M.2_Pinout_Descriptions_and_Reference_Designs_(AN43)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
