M.2 Pinout Descriptions and Reference Designs (AN43): Difference between revisions

From conga-wiki
mNo edit summary
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.2™ sockets commonly implemented on embedded systems (Socket 1 - Key E, Socket 2 - Key B, and Socket 3 - Key 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.2™ sockets and respective interfaces commonly used on embedded systems:  
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 3 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 4 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.  


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 (<nowiki>https://pcisig.com</nowiki>).
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).


<nowiki></br></nowiki>


'''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="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E
! 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="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E
! 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="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E
! 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="2" style="background-color: #D9D9D9; color: #FFFFFF;" |Key E
! 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]]
[[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 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 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.'''''
'''''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]]
[[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 baord. 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.}}
 
'''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]]
[[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:

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

Figure 1: Socket 1 - Key E 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

Figure 2: Socket 2 - Key B 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

Figure 3: Socket 3 - Key M 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.