TS-8950-49xx mPCIE Header

From Technologic Systems Manuals

The Mini PCIe connector provides connectivity for Cell modems (with SIM socket), a PCIe bus, USB, and SATA. The SATA bus is brought out by default, but is turned into PCIe with a GPIO to toggle the mux.

A half-size mini pcie card connected to the TS-8950.

Linux does not support hot swapping PCIe devices for this CPU, so you must set the PCIe/mSata mux in u-boot. If you require SATA, no changes are needed. To enable PCIe on startup:

env set bootcmd 'gpio clear 114; ${bootcmd};'
env save

This way when Linux boots it is already strapped for PCIe so any devices would be enumerated on startup.

Mini PCIe also includes USB and SIM card signals which do not rely on this mux. Nothing needs to done for devices that just use these interfaces like most cellular modems.