| 18 | == M.2 B-Key pins |
| 19 | The following pins are connected on the GW16162: |
| 20 | - M2.7 USB_DP |
| 21 | - M2.9 USB_DM |
| 22 | - M2.6 FULL_CARD_POWER_OFF# (3.3V I/O inverted to CMB_EOFF) |
| 23 | (see [#cmb100-ponoff below]) |
| 24 | - M2.8 W_DISABLE1# (3.3V I/O inverted to CMB_PON) |
| 25 | (see [#cmb100-ponoff below]) |
| 26 | - M2.2,4,70,72,74 VDD_3P3 |
| 27 | - M2.3,5,11,27,33,39,45,51,57,71 GND |
| 28 | |
| 29 | |
48 | | == Modem Notes |
| 60 | [=#cmb100-ponoff] |
| 61 | == Modem Power On sequence |
| 62 | '''The CMB100 will not power on by default by design without toggling a the pOnOff pin''' |
| 63 | |
| 64 | To turn on the CMB100 the pOnOff input on connector pin 19 must be pulled high for at least 6 seconds then released. |
| 65 | |
| 66 | The pOnOff pin is connected to the M.2 B-Key pin 8 W_DISABLE1# signal though an inverter. Because this signal is an active-low wireless disable it is usually driven high by default by the board/firmware on Gateworks boards so you need to drive it low for 6 seconds then high to get the CMB100 to power on. |
| 67 | |
| 68 | To power off the CMB100 gracefully drive W_DISABLE1# signal high for at least 3 seconds. |
| 69 | |
| 70 | To unconditionally shut down the CMB100 drive FULL_CARD_POWER_OFF# low. |
| 71 | |
| 72 | The following table shows the GPIO mapping for these two signals on various Gateworks products with an M.2 B-Key sockets: |
| 73 | ||= board =||= socket =||= signal name =||= uboot gpio =||= linux gpio =||= GW16162 pin =||= CMB100 M.2 pin =||= Notes =|| |
| 74 | || GW820x+GW16FB0 || FSA1 || wdisable1# || fsa1_wdisable1# || || 8 W_DISABLE1# || !PonOff || inverted || |
| 75 | || || FSA1 || crdpwroff# || fsa1_crdpwroff# || || 6 FULL_CARD_POWER_OFF# || EM_OFF || inverted || |
| 76 | || || FSA2 || fsa_wdisable1# || fsa2_wdisable1# || || 8 W_DISABLE1# ||!PonOff || inverted || |
| 77 | || || FSA2 || crdpwroff# || fsa2_crdpwroff# || || 6 FULL_CARD_POWER_OFF# || EM_OFF || inverted || |
| 78 | || GW740x || M2 J13 || M2SKT_WDIS# || m2skt_wdis1#.gpio-hog GPIO4_18 || gpio-114 || 8 W_DISABLE1# ||!PonOff || inverted || |
| 79 | || || M2 J13 || M2SKT_OFF# || m2skt_off#.gpio-hog GPIO4_2 || gpio-98 || 6 FULL_CARD_POWER_OFF# ||EM_OFF || inverted || |
| 80 | || GW740x+GW1614{0,1,7} || J10 PCIE1 || M2SKT_WDIS# || pcie3_wdis#.gpio-hog GPIO2_14 || gpio-46 || 8 W_DISABLE1# ||!PonOff || inverted || |
| 81 | || || J12 PCIE2 || M2SKT_WDIS# || pcie2_wdis#.gpio-hog GPIO2_18 || gpio-50 || 8 W_DISABLE1# ||!PonOff || inverted || |
| 82 | || || J11 PCIE3 || M2SKT_WDIS# || pcie3_wdis#.gpio-hog GPIO2_13 || gpio-45 || 8 W_DISABLE1# ||!PonOff || inverted || |
| 83 | |
| 84 | Examples: |
| 85 | * GW820x+GW16FB0 in FSA1: |
| 86 | - toggle GPIO to power on CMB100 in U-Boot: |
| 87 | {{{ |
| 88 | setenv preboot "$preboot; gpio clr fsa1_wdisable1#; sleep 6; gpio set fsa1_wdisable1#" |
| 89 | saveenv |
| 90 | }}} |
| 91 | * GW740x in J13 M.2 socket: |
| 92 | - toggle GPIO to power on CMB100 in U-Boot: |
| 93 | {{{ |
| 94 | setenv preboot "$preboot; gpio clr m2_wdis1#.gpio-hog; sleep 6; gpio set m2_wdis1#.gpio-hog" |
| 95 | saveenv |
| 96 | }}} |
| 97 | |
| 98 | |
| 99 | [=#cmb100-usbmode] |
| 100 | == Modem Mode |