The i.MX 8M Quad only has 2 USB buses, which can both run at either USB 2.0 or 3.0. One bus is for the USB-C port and the test points, and it is using USB 3.0. The other bus is for the microSD card and cellular modem and is using USB 2.0. The USB is provided by Synopsys and it uses the dwc3 driver.
It looks like Purism can work around this problem by unloading the USB driver before suspend with ` rmmod dwc3 and then reenabling it with modprobe -l dwc3 after resume. However, the bigger problem is that they still haven’t figured out how to suspend the BM818 cellular modem and still haven’t figured out how to make the RS9116 WiFi and BM818 modem to wake up the system when a phone call is received (see the links in the FAQ). Judging from the comments in the bug reports, it doesn’t look like these issues have received a lot of attention from the dev team. It’s hard for me to judge how quickly they can be solved, but they don’t look like easy issues to me.