9 | | Typically for a modem needing USB, this would utilize the B-Key which has PCIe ×2, SATA, USB 2.0 and 3.0, audio, UIM, HSIC, SSIC, I2C and SMBus. Even though these other signals are available, typically the modem will only require the USB signals. |
| 11 | == Keys and Sockets |
| 12 | M.2 connectors on the host are called 'sockets' and each socket has a unique mechanical key and modules are not interchangeable between sockets. The type of socket is based on the intended function of the card and can be thought of as a classification: |
| 13 | - Socket 1: connectivity socket for !WiFi, Bluetooth, NFC, or !WiGig |
| 14 | - Socket 2: WWAN/SSD/Other socket that supports various WWAN+GNSS solutions, various SSDs, and future |
| 15 | - Socket 3: SSD drive socket with SATA or up to four PCIe lanes |
13 | | If it is required to use a M.2 on a Gateworks SBC, Gateworks sells the [https://www.gateworks.com/products/mini-pcie-expansion-cards/gw1614x-mini-pcie-to-m2-adapter-card/ GW16140 Mini-PCIe to M.2 Adapter]. |
| 18 | The physical Key prevents insertion of card connectors (male) to an incompatible socket (female) on the host. There are 12 key IDs on the module card and socket interface: |
| 19 | ||= Key ID =||= Pin Location =||= Interfaces =|| |
| 20 | || A || 8-15 || 2x PCIe x1 / USB 2.0 / I2C / DP x4 |
| 21 | || B || 12-19 || PCIe x2 / SATA / USB 2.0 / USB 3.0 / HSIC / SSIC / Audio / UIM / I2C |
| 22 | || C || 16-23 || Reserved for Future Use |
| 23 | || D || 20-27 || Reserved for Future Use |
| 24 | || E || 24-31 || 2x PCIe x1 / USB 2.0 / I2C / SDIO / UART / PCM |
| 25 | || F || 28-35 || Future Memory Interface (FMI) |
| 26 | || G || 39-46 || Not Used for M.2; for Custom / Non-Standard Apps |
| 27 | || H || 43-50 || Reserved for Future Use |
| 28 | || J || 47-54 || Reserved for Future Use |
| 29 | || K || 51-58 || Reserved for Future Use |
| 30 | || L || 55-62 || Reserved for Future Use |
| 31 | || M || 59-66 || PCIe x4 / SATA |
| 32 | |
| 33 | |
| 34 | Typical Examples: |
| 35 | * Cellular Model B-Key: |
| 36 | - While the B-Key specifies pins for PCIe×2, SATA, USB2, USB3, audio, UIM, HSIC, SSIC, I2C and SMBus not all of these are necessary or supported on cards or host sockets. |
| 37 | - Typically 3G/4G modems will only use the W_DISABLE#, RESET#, CARD_Power_OFF# GPIOs, USB2 and UIM signals. |
| 38 | - Typically 5G modems will only use the W_DISABLE#, RESET#, CARD_Power_OFF# GPIOs, USB3 or PCIe, and UIM signals. |
| 39 | * SSD M-Key: |
| 40 | - Typically SSD's will use either PCIex4 or SATA for the data interface. |
| 41 | |
| 42 | Note that if a host socket of a specific key does not mean it implements all signaling defined by the specification and similarly if a add-in card of a specific key does not mean it implements all signalling defined by the specification. Look at the specification of the host socket and the add-in card carefully to determine needs and compatibility. |
| 43 | |
| 44 | == Notable GPIO's |
| 45 | There are a number of notable GPIO's that M.2 sockets and cards support |
| 46 | |
| 47 | Socket 1 GPIO specifications: |
| 48 | ||= Name =||= card I/O =||= Voltage =||= Function =||= pulls =|| |
| 49 | || W_DISABLE1# || I || 3.3V || disable radio operation || active-low pull-up required on card when used || |
| 50 | || W_DISABLE2# || I || 3.3V || disable radio operation || active-low pull-up required on card when used || |
| 51 | || LED1# || O || 3.3V || card-specific LED |
| 52 | || LED2# || O || 3.3V || card-specific LED |
| 53 | |
| 54 | |
| 55 | Socket 2 GPIO specifications: |
| 56 | ||= Name =||= card I/O =||= Voltage =||= Function =||= pulls =|| |
| 57 | || W_DISABLE1# || I || 3.3V || disable radio operation || active-low pull-up required on card when used || |
| 58 | || W_DISABLE2# || I || 1.8V || disable radio operation || active-low pull-up required on card when used || |
| 59 | || FULL_CARD_POWER_OFF# || I || 1.8V (3.3V tollerant) || disable all services || active-low pull-down required on card || |
| 60 | || RESET# || I || 1.8V || reset all services || active-low || |
| 61 | |