M.2 Pinout Descriptions and Reference Designs (AN43): Difference between revisions
Piotrkorsak (talk | contribs) mNo edit summary |
Eugenbeluga (talk | contribs) No edit summary |
||
| (11 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 2 - Key B | |||
* Socket 3 - Key M | |||
==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 2 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 (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 (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. | ||
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 ( | 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:''' | '''Note:''' | ||
| Line 28: | Line 31: | ||
|3.3V | |3.3V | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |75 | ! style="background-color: #555555; color: #FFFFFF;" |75 | ||
|- | |- | ||
| Line 33: | 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 38: | 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 43: | 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 48: | 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 53: | Line 61: | ||
|RESERVED | |RESERVED | ||
|RESERVED/PERp1 | |RESERVED/PERp1 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |65 | ! style="background-color: #555555; color: #FFFFFF;" |65 | ||
|- | |- | ||
| Line 58: | 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 63: | 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 68: | 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 73: | 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 78: | 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 83: | 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 88: | 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 93: | 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 98: | 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 103: | 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 108: | Line 127: | ||
|VENDOR DEFINED | |VENDOR DEFINED | ||
|PERn0 | |PERn0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |43 | ! style="background-color: #555555; color: #FFFFFF;" |43 | ||
|- | |- | ||
| Line 113: | Line 133: | ||
|VENDOR DEFINED | |VENDOR DEFINED | ||
|PERp0 | |PERp0 | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |41 | ! style="background-color: #555555; color: #FFFFFF;" |41 | ||
|- | |- | ||
| Line 118: | Line 139: | ||
|VENDOR DEFINED | |VENDOR DEFINED | ||
|GND | |GND | ||
| | |||
! style="background-color: #555555; color: #FFFFFF;" |39 | ! style="background-color: #555555; color: #FFFFFF;" |39 | ||
|- | |- | ||
| Line 123: | 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 128: | 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 133: | 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 155: | 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 160: | 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 165: | 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 170: | 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 175: | 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 180: | 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 185: | 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 190: | 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 195: | 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 200: | 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 205: | 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=== | ||
The reference design above (Figure 1) shows an M.2 Socket 1 | 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 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. | ||
| Line 522: | 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 537: | Line 574: | ||
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. | 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== | ==Socket 3 - Key M== | ||
| Line 726: | 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.