M.2 Pinout Descriptions and Reference Designs (AN43): Difference between revisions
Piotrkorsak (talk | contribs) mNo edit summary |
Eugenbeluga (talk | contribs) No edit summary |
||
| (8 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
==Preface== | ==Preface== | ||
This application note provides the pinout description, reference design and design notes for each of the three M. | This application note provides the pinout description, reference design and design notes for each of the three M.2 sockets commonly implemented on embedded systems: | ||
* Socket 1 - Key E | * Socket 1 - Key E | ||
| Line 9: | Line 9: | ||
==Introduction== | ==Introduction== | ||
This application note provides the pinout description, reference design, and design notes for three M. | This application note provides the pinout description, reference design, and design notes for three M.2 sockets and respective interfaces commonly used on embedded systems: | ||
*Socket 1 - Key E (Section [[Socket 1 - Key E]] of this application note) | *Socket 1 - Key E (Section [[M.2 Pinout Descriptions and Reference Designs (AN43)#Socket 1 - Key E|Socket 1 - Key E]] of this application note) | ||
*Socket 2 - Key B (Section [[Socket 2 - Key B]] of this application note) | *Socket 2 - Key B (Section [[M.2 Pinout Descriptions and Reference Designs (AN43)#Socket 2 - Key B|Socket 2 - Key B]] of this application note) | ||
*Socket 3 - Key M (Section [[Socket 3 - Key M]] of this application note) | *Socket 3 - Key M (Section [[M.2 Pinout Descriptions and Reference Designs (AN43)#Socket 3 - Key M|Socket 3 - Key M]] of this application note) | ||
Additional information is provided for sockets with configuration pins. | Additional information is provided for sockets with configuration pins. | ||
| Line 31: | Line 31: | ||
|3.3V | |3.3V | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |75 | ! style="background-color: #555555; color: #FFFFFF;" |75 | ||
|- | |- | ||
| Line 36: | Line 37: | ||
|3.3V | |3.3V | ||
|RESERVED/REFCLKn1 | |RESERVED/REFCLKn1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |73 | ! style="background-color: #555555; color: #FFFFFF;" |73 | ||
|- | |- | ||
| Line 41: | Line 43: | ||
|UIM_POWER_SRC/GPIO_1/PEWAKE1# | |UIM_POWER_SRC/GPIO_1/PEWAKE1# | ||
|RESERVED/REFCLKp1 | |RESERVED/REFCLKp1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |71 | ! style="background-color: #555555; color: #FFFFFF;" |71 | ||
|- | |- | ||
| Line 46: | Line 49: | ||
|UIM_POWER_SNK/CLKREQ1# | |UIM_POWER_SNK/CLKREQ1# | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |69 | ! style="background-color: #555555; color: #FFFFFF;" |69 | ||
|- | |- | ||
| Line 51: | Line 55: | ||
|UIM_SWP/PERST1# | |UIM_SWP/PERST1# | ||
|RESERVED/PERn1 | |RESERVED/PERn1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |67 | ! style="background-color: #555555; color: #FFFFFF;" |67 | ||
|- | |- | ||
| Line 56: | Line 61: | ||
|RESERVED | |RESERVED | ||
|RESERVED/PERp1 | |RESERVED/PERp1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |65 | ! style="background-color: #555555; color: #FFFFFF;" |65 | ||
|- | |- | ||
| Line 61: | Line 67: | ||
|ALERT# (I)(0/1.8 V) | |ALERT# (I)(0/1.8 V) | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |63 | ! style="background-color: #555555; color: #FFFFFF;" |63 | ||
|- | |- | ||
| Line 66: | Line 73: | ||
|I2C_CLK (O)(0/1.8 V) | |I2C_CLK (O)(0/1.8 V) | ||
|RESERVED/PETn1 | |RESERVED/PETn1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |61 | ! style="background-color: #555555; color: #FFFFFF;" |61 | ||
|- | |- | ||
| Line 71: | Line 79: | ||
|I2C_DATA (I/O)(0/1.8 V) | |I2C_DATA (I/O)(0/1.8 V) | ||
|RESERVED/PETp1 | |RESERVED/PETp1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |59 | ! style="background-color: #555555; color: #FFFFFF;" |59 | ||
|- | |- | ||
| Line 76: | Line 85: | ||
|W_DISABLE1# (O)(0/3.3V) | |W_DISABLE1# (O)(0/3.3V) | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |57 | ! style="background-color: #555555; color: #FFFFFF;" |57 | ||
|- | |- | ||
| Line 81: | Line 91: | ||
|W_DISABLE2# (O)(0/3.3V) | |W_DISABLE2# (O)(0/3.3V) | ||
|PEWAKE0# (I/O)(0/3.3V) | |PEWAKE0# (I/O)(0/3.3V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |55 | ! style="background-color: #555555; color: #FFFFFF;" |55 | ||
|- | |- | ||
| Line 86: | Line 97: | ||
|PERST0# (O)(0/3.3V) | |PERST0# (O)(0/3.3V) | ||
|CLKREQ0# (I/O)(0/3.3V) | |CLKREQ0# (I/O)(0/3.3V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |53 | ! style="background-color: #555555; color: #FFFFFF;" |53 | ||
|- | |- | ||
| Line 91: | Line 103: | ||
|SUSCLK(32kHz) (O)(0/3.3V) | |SUSCLK(32kHz) (O)(0/3.3V) | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |51 | ! style="background-color: #555555; color: #FFFFFF;" |51 | ||
|- | |- | ||
| Line 96: | Line 109: | ||
|COEX_TXD (O)(0/1.8V) | |COEX_TXD (O)(0/1.8V) | ||
|REFCLKn0 | |REFCLKn0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |49 | ! style="background-color: #555555; color: #FFFFFF;" |49 | ||
|- | |- | ||
| Line 101: | Line 115: | ||
|COEX_RXD (I)(0/1.8V) | |COEX_RXD (I)(0/1.8V) | ||
|REFCLKp0 | |REFCLKp0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |47 | ! style="background-color: #555555; color: #FFFFFF;" |47 | ||
|- | |- | ||
| Line 106: | Line 121: | ||
|COEX3 (I/O)(0/1.8V) | |COEX3 (I/O)(0/1.8V) | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |45 | ! style="background-color: #555555; color: #FFFFFF;" |45 | ||
|- | |- | ||
| Line 111: | Line 127: | ||
|VENDOR DEFINED | |VENDOR DEFINED | ||
|PERn0 | |PERn0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |43 | ! style="background-color: #555555; color: #FFFFFF;" |43 | ||
|- | |- | ||
| Line 116: | Line 133: | ||
|VENDOR DEFINED | |VENDOR DEFINED | ||
|PERp0 | |PERp0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |41 | ! style="background-color: #555555; color: #FFFFFF;" |41 | ||
|- | |- | ||
| Line 121: | Line 139: | ||
|VENDOR DEFINED | |VENDOR DEFINED | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |39 | ! style="background-color: #555555; color: #FFFFFF;" |39 | ||
|- | |- | ||
| Line 126: | Line 145: | ||
|UART RTS (O)(0/1.8V) | |UART RTS (O)(0/1.8V) | ||
|PETn0 | |PETn0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |37 | ! style="background-color: #555555; color: #FFFFFF;" |37 | ||
|- | |- | ||
| Line 131: | Line 151: | ||
|UART CTS (I)(0/1.8V) | |UART CTS (I)(0/1.8V) | ||
|PETp0 | |PETp0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |35 | ! style="background-color: #555555; color: #FFFFFF;" |35 | ||
|- | |- | ||
| Line 136: | Line 157: | ||
|UART TXD (O)(0/1.8V) | |UART TXD (O)(0/1.8V) | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |33 | ! style="background-color: #555555; color: #FFFFFF;" |33 | ||
|- | |- | ||
! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
! colspan=" | ! colspan="3" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
| | | | ||
|- | |- | ||
! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
! colspan=" | ! colspan="3" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
|- | |- | ||
! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
! colspan=" | ! colspan="3" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
|- | |- | ||
! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
! colspan=" | ! colspan="3" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
|- | |- | ||
! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ! colspan="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E | ||
|SDIO RESET#/TX_BLANKING (O)(0/1.8V) | |SDIO RESET#/TX_BLANKING (O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |23 | ! style="background-color: #555555; color: #FFFFFF;" |23 | ||
|- | |- | ||
| Line 158: | Line 181: | ||
|UART RXD (I)(0/1.8V) | |UART RXD (I)(0/1.8V) | ||
|SDIO WAKE# (I)(0/1.8V) | |SDIO WAKE# (I)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |21 | ! style="background-color: #555555; color: #FFFFFF;" |21 | ||
|- | |- | ||
| Line 163: | Line 187: | ||
|UART WAKE# (I)(0/3.3V) | |UART WAKE# (I)(0/3.3V) | ||
|SDIO DATA3(I/O)(0/1.8V) | |SDIO DATA3(I/O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |19 | ! style="background-color: #555555; color: #FFFFFF;" |19 | ||
|- | |- | ||
| Line 168: | Line 193: | ||
|GND | |GND | ||
|SDIO DATA2(I/O)(0/1.8V) | |SDIO DATA2(I/O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |17 | ! style="background-color: #555555; color: #FFFFFF;" |17 | ||
|- | |- | ||
| Line 173: | Line 199: | ||
|LED_2# (I)(OD) | |LED_2# (I)(OD) | ||
|SDIO DATA1(I/O)(0/1.8V) | |SDIO DATA1(I/O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |15 | ! style="background-color: #555555; color: #FFFFFF;" |15 | ||
|- | |- | ||
| Line 178: | Line 205: | ||
|PCM_OUT/I2S SD_OUT (O)(0/1.8V) | |PCM_OUT/I2S SD_OUT (O)(0/1.8V) | ||
|SDIO DATA0(I/O)(0/1.8V) | |SDIO DATA0(I/O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |13 | ! style="background-color: #555555; color: #FFFFFF;" |13 | ||
|- | |- | ||
| Line 183: | Line 211: | ||
|PCM_IN/I2S SD_IN (I)(0/1.8V) | |PCM_IN/I2S SD_IN (I)(0/1.8V) | ||
|SDIO CMD(I/O)(0/1.8V) | |SDIO CMD(I/O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |11 | ! style="background-color: #555555; color: #FFFFFF;" |11 | ||
|- | |- | ||
| Line 188: | Line 217: | ||
|PCM_SYNC/I2S WS (I/O)(0/1.8V) | |PCM_SYNC/I2S WS (I/O)(0/1.8V) | ||
|SDIO CLK/SYSCLK (O)(0/1.8V) | |SDIO CLK/SYSCLK (O)(0/1.8V) | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |9 | ! style="background-color: #555555; color: #FFFFFF;" |9 | ||
|- | |- | ||
| Line 193: | Line 223: | ||
|PCM_CLK/I2S SCK (I/O)(0/1.8V) | |PCM_CLK/I2S SCK (I/O)(0/1.8V) | ||
|GND | |GND | ||
| | |||
!style="background-color: #555555; color: #FFFFFF;" |7 | !style="background-color: #555555; color: #FFFFFF;" |7 | ||
|- | |- | ||
| Line 198: | Line 229: | ||
|LED_1# (I)(OD) | |LED_1# (I)(OD) | ||
|USB_D- | |USB_D- | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |5 | ! style="background-color: #555555; color: #FFFFFF;" |5 | ||
|- | |- | ||
| Line 203: | Line 235: | ||
|3.3V | |3.3V | ||
|USB_D+ | |USB_D+ | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |3 | ! style="background-color: #555555; color: #FFFFFF;" |3 | ||
|- | |- | ||
| Line 208: | Line 241: | ||
|3.3V | |3.3V | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |1 | ! style="background-color: #555555; color: #FFFFFF;" |1 | ||
|} | |} | ||
===Reference Design=== | ===Reference Design=== | ||
[[File:M.2 Pinout Descriptions and Reference Designs (001).png|none|thumb|600x600px|Figure 1: Socket 1 - Key E Reference Design]] | |||
===Design Notes=== | ===Design Notes=== | ||
| Line 525: | Line 559: | ||
'''Note:''' | '''Note:''' | ||
''''' | '''''Refer to the PCI Express M.2 Specification for different port configurations.''''' | ||
===Reference Design=== | ===Reference Design=== | ||
[[File:M.2 Pinout Descriptions and Reference Designs (002).png|none|thumb|630x630px|Figure 2: Socket 2 - Key B Reference Design]] | |||
===Design Notes=== | ===Design Notes=== | ||
| Line 736: | Line 770: | ||
===Reference Design=== | ===Reference Design=== | ||
[[File:M.2 Pinout Descriptions and Reference Designs (003).png|none|thumb|600x600px|Figure 3: Socket 3 - Key M Reference Design]] | |||
=== Design Notes === | === Design Notes === | ||
Latest revision as of 07:30, 4 September 2025
| Affected Products | All products |
|---|
Preface
This application note provides the pinout description, reference design and design notes for each of the three M.2 sockets commonly implemented on embedded systems:
- Socket 1 - Key E
- Socket 2 - Key B
- Socket 3 - Key M
Introduction
This application note provides the pinout description, reference design, and design notes for three M.2 sockets and respective interfaces commonly used on embedded systems:
- Socket 1 - Key E (Section Socket 1 - Key E of this application note)
- Socket 2 - Key B (Section Socket 2 - Key B of this application note)
- Socket 3 - Key M (Section Socket 3 - Key M of this application note)
Additional information is provided for sockets with configuration pins.
For information about less commonly used sockets and respective interfaces (e.g. SDIO, I2S, UART), refer to the PCI Express M.2 Specification available for purchases from PCI-SIG (https://pcisig.com).
Note:
The content of this application note is based on the PCI Express M.2 Specification Revision 3.0, Version 1.2.
Socket 1 - Key E
Pinout Description
| 74 | 3.3V | GND | 75 | ||
|---|---|---|---|---|---|
| 72 | 3.3V | RESERVED/REFCLKn1 | 73 | ||
| 70 | UIM_POWER_SRC/GPIO_1/PEWAKE1# | RESERVED/REFCLKp1 | 71 | ||
| 68 | UIM_POWER_SNK/CLKREQ1# | GND | 69 | ||
| 66 | UIM_SWP/PERST1# | RESERVED/PERn1 | 67 | ||
| 64 | RESERVED | RESERVED/PERp1 | 65 | ||
| 62 | ALERT# (I)(0/1.8 V) | GND | 63 | ||
| 60 | I2C_CLK (O)(0/1.8 V) | RESERVED/PETn1 | 61 | ||
| 58 | I2C_DATA (I/O)(0/1.8 V) | RESERVED/PETp1 | 59 | ||
| 56 | W_DISABLE1# (O)(0/3.3V) | GND | 57 | ||
| 54 | W_DISABLE2# (O)(0/3.3V) | PEWAKE0# (I/O)(0/3.3V) | 55 | ||
| 52 | PERST0# (O)(0/3.3V) | CLKREQ0# (I/O)(0/3.3V) | 53 | ||
| 50 | SUSCLK(32kHz) (O)(0/3.3V) | GND | 51 | ||
| 48 | COEX_TXD (O)(0/1.8V) | REFCLKn0 | 49 | ||
| 46 | COEX_RXD (I)(0/1.8V) | REFCLKp0 | 47 | ||
| 44 | COEX3 (I/O)(0/1.8V) | GND | 45 | ||
| 42 | VENDOR DEFINED | PERn0 | 43 | ||
| 40 | VENDOR DEFINED | PERp0 | 41 | ||
| 38 | VENDOR DEFINED | GND | 39 | ||
| 36 | UART RTS (O)(0/1.8V) | PETn0 | 37 | ||
| 34 | UART CTS (I)(0/1.8V) | PETp0 | 35 | ||
| 32 | UART TXD (O)(0/1.8V) | GND | 33 | ||
| Key E | Key E | ||||
| Key E | Key E | ||||
| Key E | Key E | ||||
| Key E | Key E | ||||
| Key E | SDIO RESET#/TX_BLANKING (O)(0/1.8V) | 23 | |||
| 22 | UART RXD (I)(0/1.8V) | SDIO WAKE# (I)(0/1.8V) | 21 | ||
| 20 | UART WAKE# (I)(0/3.3V) | SDIO DATA3(I/O)(0/1.8V) | 19 | ||
| 18 | GND | SDIO DATA2(I/O)(0/1.8V) | 17 | ||
| 16 | LED_2# (I)(OD) | SDIO DATA1(I/O)(0/1.8V) | 15 | ||
| 14 | PCM_OUT/I2S SD_OUT (O)(0/1.8V) | SDIO DATA0(I/O)(0/1.8V) | 13 | ||
| 12 | PCM_IN/I2S SD_IN (I)(0/1.8V) | SDIO CMD(I/O)(0/1.8V) | 11 | ||
| 10 | PCM_SYNC/I2S WS (I/O)(0/1.8V) | SDIO CLK/SYSCLK (O)(0/1.8V) | 9 | ||
| 8 | PCM_CLK/I2S SCK (I/O)(0/1.8V) | GND | 7 | ||
| 6 | LED_1# (I)(OD) | USB_D- | 5 | ||
| 4 | 3.3V | USB_D+ | 3 | ||
| 2 | 3.3V | GND | 1 | ||
Reference Design
Design Notes
The reference design above (Figure 1) shows an M.2 Socket 1 - Key E used for connectivity applications. M.2 WiFi/Bluetooth expansion cards are usually connected via PCIe and USB. Other buses (e.g. SDIO and I2S) may not be supported by the COM.
The AC coupling capacitors are placed on the COM for the PCIE_TX+/- signals and for the PCIE_RX+/- signals on the M.2 expansion card. Therefore, it is not required to place AC coupling capacitors on the carrier board.
The M.2 clock request signal (CLKREQ#) enables the PCIe reference clock and should be connected to the output enable pin of the PCIe clock buffer. As the CLKREQ# signal is an active low, open drain output of the M.2 expansion card, a pull-up resistor is required on the carrier board.
Socket 2 - Key B
Pinout Description
| 74 | 3.3 V/VBAT | CONFIG_2 | 75 |
|---|---|---|---|
| 72 | 3.3 V/VBAT | GND | 73 |
| 70 | 3.3 V/VBAT | GND | 71 |
| 68 | SUSCLK(32kHz) (O)(0/3.3V) | CONFIG_1 | 69 |
| 66 | SIM DETECT (O) | RESET# (O)(0/1.8V) | 67 |
| 64 | COEX_RXD (I)(0/1.8V) | ANTCTL3 (I)(0/1.8V) | 65 |
| 62 | COEX_TXD (O)(0/1.8V) | ANTCTL2 (I)(0/1.8V) | 63 |
| 60 | COEX3 (I/O)(0/1.8V) | ANTCTL1 (I)(0/1.8V) | 61 |
| 58 | NC | ANTCTL0 (I)(0/1.8V) | 59 |
| 56 | NC | GND | 57 |
| 54 | PEWAKE# (I/O)(0/3.3V) | REFCLKp | 55 |
| 52 | CLKREQ# (I/O)(0/3.3V) | REFCLKn | 53 |
| 50 | PERST# (O)(0/3.3V) | GND | 51 |
| 48 | GPIO_4 (I/O)(0/1.8V) | PETp0/SATA-A+ | 49 |
| 46 | GPIO_3 (I/O)(0/1.8V) | PETn0/SATA-A- | 47 |
| 44 | GPIO_2 (I/O)/ALERT# (I)/(0/1.8V) | GND | 45 |
| 42 | GPIO_1 (I/O)/SMB_DATA (I/O)/(0/1.8V) | PERp0/SATA-B- | 43 |
| 40 | GPIO_0 (I/O)/SMB_CLK (I/O)/(0/1.8V) | PERn0/SATA-B+ | 41 |
| 38 | DEVSLP (O) | GND | 39 |
| 36 | UIM-PWR (I) | PETp1/USB3.1-Tx+/SSIC-TxP | 37 |
| 34 | UIM-DATA (I/O) | PETn1/USB3.1-Tx-/SSIC-TxN | 35 |
| 32 | UIM-CLK (I) | GND | 33 |
| 30 | UIM-RESET (I) | PERp1/USB3.1-Rx+/SSIC-RxP | 31 |
| 28 | GPIO_8 (I/O) (0/1.8V) | PERn1/USB3.1-Rx-/SSIC-RxN | 29 |
| 26 | GPIO_10 (I/O) (0/1.8V) | GND | 27 |
| 24 | GPIO_7 (I/O) (0/1.8V) | DPR (O) (0/1.8V) | 25 |
| 22 | GPIO_6 (I/O)(0/1.8V) | GPIO_11 (I/O) (0/1.8V) | 23 |
| 20 | GPIO_5 (I/O)(0/1.8V) | CONFIG_0 | 21 |
| Key B | Key B | ||
| Key B | Key B | ||
| Key B | Key B | ||
| Key B | Key B | ||
| Key B | GND | 11 | |
| 10 | GPIO_9/DAS/DSS (I/O)/LED_1# (I)(0/3.3V) | USB_D- | 9 |
| 8 | W_DISABLE1# (O)(0/3.3V) | USB_D+ | 7 |
| 6 | FULL_CARD_POWER_OFF# (O)(0/1.8V or 3.3V) | GND | 5 |
| 4 | 3.3 V | GND | 3 |
| 2 | 3.3 V | CONFIG_3 | 1 |
Host Interface Configuration
The four CONFIG_X pins select the intended host interface. The system shall read all four configuration pins to identify the selected pinout configuration. The system shall pull-up these configuration pins to an appropriate power rail so the configuration pins can be read even if the M.2 expansion card is not powered.
The table below shows how the CONFIG_X pins are connected on the M.2 expansion card to select the required host interface:
| CONFIG_0
(Pin 21) |
CONFIG_1
(Pin 69) |
CONFIG_2
(Pin 75) |
CONFIG_3
(Pin 1) |
Host Interface |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | SSD - SATA |
| 0 | 1 | 0 | 0 | SSD - PCIe |
| 0 | 0 | 1 | 0 | WWAN – PCIe (Port Configuration 0*) |
| 0 | 1 | 1 | 0 | WWAN – PCIe (Port Configuration 1*) |
| 0 | 0 | 0 | 1 | WWAN – PCIe, USB3.1 Gen1 (Port Configuration 0*) |
| 0 | 1 | 0 | 1 | WWAN – PCIe, USB3.1 Gen1 (Port Configuration 1*) |
| 0 | 0 | 1 | 1 | WWAN – PCIe, USB3.1 Gen1 (Port Configuration 2*) |
| 0 | 1 | 1 | 1 | WWAN – PCIe, USB3.1 Gen1 (Port Configuration 3*) |
| 1 | 0 | 0 | 0 | WWAN – SSIC (Port Configuration 0*) |
| 1 | 1 | 0 | 0 | WWAN – SSIC (Port Configuration 1*) |
| 1 | 0 | 1 | 0 | WWAN – SSIC (Port Configuration 2*) |
| 1 | 1 | 1 | 0 | WWAN – SSIC (Port Configuration 3*) |
| 1 | 0 | 0 | 1 | WWAN – PCIe (Port Configuration 2*) |
| 1 | 1 | 0 | 1 | WWAN – PCIe (Port Configuration 3*) |
| 1 | 0 | 1 | 1 | WWAN – PCIe, USB3.1 Gen1 (vendor defined) |
| 1 | 1 | 1 | 1 | No Add-in Card Present |
Note:
Refer to the PCI Express M.2 Specification for different port configurations.
Reference Design
Design Notes
The reference design above (Figure 2) shows an M.2 Socket 2 - Key B used to connect PCIe or SATA based storage devices.
CONFIG_1 pin enables the appropriate host interface:
- CONFIG_1 low enables SATA
- CONFIG_1 high enables PCIe
The second PCIe lane enables support for PCIe x2 devices like Intel Optane memory. For PCIe x2 support, the PCIe lanes must be configured to a PCIe x2 link.
Note:
As the CONFIG_1 signal is not connected on the M.2 expansion card when PCIe is enabled, a pull-up resistor is required on the carrier board.
If the M.2 socket is used for a SATA based storage device, pin 43 must be connected to the negative signal of the differential pair used for SATA Rx.
If the M.2 socket is used for a PCIe based storage device, pin 43 must be connected to the positive signal of the differential pair used for PCIe Rx.
Socket 3 - Key M
Pinout Description
| 74 | 3.3 V | GND | 75 |
|---|---|---|---|
| 72 | 3.3 V | GND | 73 |
| 70 | 3.3 V | GND | 71 |
| 68 | SUSCLK (O)(0/3.3V) | PEDET | 69 |
| Key M | NC | 67 | |
| Key M | Key M | ||
| Key M | Key M | ||
| Key M | Key M | ||
| Key M | Key M | ||
| 58 | NC | GND | 57 |
| 56 | NC | REFCLKp | 55 |
| 54 | PEWAKE# (I/O)(0/3.3V) or NC | REFCLKn | 53 |
| 52 | CLKREQ# (I/O)(0/3.3V) or NC | GND | 51 |
| 50 | PERST# (O)(0/3.3V) or NC | PETp0/SATA-A+ | 49 |
| 48 | NC | PETn0/SATA-A- | 47 |
| 46 | NC | GND | 45 |
| 44 | ALERT# (I) (0/1.8V) | PERp0/SATA-B- | 43 |
| 42 | SMB_DATA (I/O) (0/1.8V) | PERn0/SATA-B+ | 41 |
| 40 | SMB_CLK (I/O)(0/1.8V) | GND | 39 |
| 38 | DEVSLP (O) | PETp1 | 37 |
| 36 | NC | PETn1 | 35 |
| 34 | NC | GND | 33 |
| 32 | NC | PERp1 | 31 |
| 30 | NC | PERn1 | 29 |
| 28 | NC | GND | 27 |
| 26 | NC | PETp2 | 25 |
| 24 | NC | PETn2 | 23 |
| 22 | NC | GND | 21 |
| 20 | NC | PERp2 | 19 |
| 18 | 3.3 V | PERn2 | 17 |
| 16 | 3.3 V | GND | 15 |
| 14 | 3.3 V | PETp3 | 13 |
| 12 | 3.3 V | PETn3 | 11 |
| 10 | DAS/DSS (I/O)/LED_1# (I)(0/3.3V) | GND | 9 |
| 8 | NC | PERp3 | 7 |
| 6 | NC | PERn3 | 5 |
| 4 | 3.3 V | GND | 3 |
| 2 | 3.3 V | GND | 1 |
Reference Design
Design Notes
The reference design above (Figure 3) shows an M.2 Socket 3 - Key M used to connect PCIe or SATA based storage devices.
The PEDET signal enables the appropriate host interface. The M.2 expansion card connects the PEDET signal accordingly:
- PEDET low enables SATA (M.2 expansion card connects PEDET signal to GND)
- PEDET high enables PCIe (PEDET signal not connected on M.2 expansion card)
For maximum bandwidth, combine the four PCIe lanes to a x4 link.
Note:
As the PEDET signal is not connected on the M.2 expansion card when PCIe is enabled, a pull-up resistor is required on the carrier board.
If the M.2 socket is used for a SATA based storage device, pin 43 must be connected to the negative signal of the differential pair used for SATA Rx.
If the M.2 socket is used for a PCIe based storage device, pin 43 must be connected to the positive signal of the differential pair used for PCIe Rx.