| | 2651 | However, some modems may require sequencing of the modem to get the pin 20 to take effect. In the below example for a Telit FN920 in PCIe mode on a Venice GW7400, we turn off the modem with m2_off on (low), then we pull m2_pin20 low, then we bring the modem back up by setting m2_off to a high (1): |
| | 2652 | {{{ |
| | 2653 | setenv preboot "$preboot; gpio clr m2_off#.gpio-hog; sleep 1; gpio clr m2_pin20.gpio-hog; sleep 1; gpio set m2_off#.gpio-hog;" |
| | 2654 | }}} |
| | 2655 | |
| | 2656 | * Note, pin 20 on the GW7400 is default defined as an input in the u-boot device tree here: |
| | 2657 | [https://github.com/Gateworks/uboot-venice/blob/v2024.10-venice/arch/arm/dts/imx8mp-venice-gw74xx-u-boot.dtsi#L49] |
| | 2658 | * Thus, it is critical the pin 20 GPIO be defined as an output and pulled low for PCIe in u-boot. |
| | 2659 | * Note, the pin 20 definition is happening in u-boot and NOT in the kernel device tree. The kernel and Linux have nothing to do with pin 20 gpio because it needs to be defined before PCIe enumerates, which means it must be defined early on in u-boot |
| | 2660 | |