[[PageOutline]] = M.2 Form Factor The M.2 Form Factor, previously known as NGFF or Next Generation Form Factor is another form factor other than Mini-PCIe. Gateworks uses [wiki:minipciexpressmodules Mini-PCIe] connectors on most of their single board computers. References: - https://en.wikipedia.org/wiki/M.2 == Keys and Sockets 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: - Socket 1: connectivity socket for !WiFi, Bluetooth, NFC, or !WiGig - Socket 2: WWAN/SSD/Other socket that supports various WWAN+GNSS solutions, various SSDs, and future - Socket 3: SSD drive socket with SATA or up to four PCIe lanes 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: ||= Key ID =||= Pin Location =||= Interfaces =|| || A || 8-15 || 2x PCIe x1 / USB 2.0 / I2C / DP x4 || B || 12-19 || PCIe x2 / SATA / USB 2.0 / USB 3.0 / HSIC / SSIC / Audio / UIM / I2C || C || 16-23 || Reserved for Future Use || D || 20-27 || Reserved for Future Use || E || 24-31 || 2x PCIe x1 / USB 2.0 / I2C / SDIO / UART / PCM || F || 28-35 || Future Memory Interface (FMI) || G || 39-46 || Not Used for M.2; for Custom / Non-Standard Apps || H || 43-50 || Reserved for Future Use || J || 47-54 || Reserved for Future Use || K || 51-58 || Reserved for Future Use || L || 55-62 || Reserved for Future Use || M || 59-66 || PCIe x4 / SATA Typical Examples: * Cellular Model B-Key: - 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. - Typically 3G/4G modems will only use the W_DISABLE#, RESET#, CARD_Power_OFF# GPIOs, USB2 and UIM signals. - Typically 5G modems will only use the W_DISABLE#, RESET#, CARD_Power_OFF# GPIOs, USB3 or PCIe, and UIM signals. * SSD M-Key: - Typically SSD's will use either PCIex4 or SATA for the data interface. 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. == Notable GPIO's There are a number of notable GPIO's that M.2 sockets and cards support Socket 1 GPIO specifications: ||= Name =||= card I/O =||= Voltage =||= Function =||= pulls =|| || W_DISABLE1# || I || 3.3V || disable radio operation || active-low pull-up required on card when used || || W_DISABLE2# || I || 3.3V || disable radio operation || active-low pull-up required on card when used || || LED1# || O || 3.3V || card-specific LED || LED2# || O || 3.3V || card-specific LED Socket 2 GPIO specifications: ||= Name =||= card I/O =||= Voltage =||= Function =||= pulls =|| || W_DISABLE1# || I || 3.3V || disable radio operation || active-low pull-up required on card when used || || W_DISABLE2# || I || 1.8V || disable radio operation || active-low pull-up required on card when used || || FULL_CARD_POWER_OFF# || I || 1.8V (3.3V tollerant) || disable all services || active-low pull-down required on card || || RESET# || I || 1.8V || reset all services || active-low || == GW16140 Mini-PCIe to M.2 Adapter If it is required to use a M.2 on a Gateworks SBC in a miniPCIe socket, 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].