I have an X399 Taichi for my TR2. I'm using 2 older U.2 NVMe drives that have a legacy boot option rom that causes the board to hang 9/10 times at POST. The only option is to disable CSM, so it will only try to use the UEFI option rom. This works fine, EXCEPT that the CSM disable is lost every time the board looses power. Eg, that configuration setting is not properly saved to non-volatile storage.
When I reported this to ASrock (via email), I was told in very broken english to "re install windows". This is great advice, considering I'm running FreeBSD, not to mention that the entire issue happens at POST. Sigh.
I'm also using X399 Taichi, it had flashed probably all released non-beta firmware versions except 3.00 and 3.10, with permanently disabled CSM and it had never lost that setting.
[1] https://www.asrock.com/MB/AMD/X399%20Taichi/index.asp#BIOS
FWIW, I'm typing this on chrome running in a bhyve VM, and I pass a USB controller through via PCI-passthru (using IOMMU) for webcam and U2F dongle use by chrome.. The FreeBSD IOMMU driver whines a bit, but I just assumed that was buggy FreeBSD IOMMU support. Eg: "ivhd0: Error: completion failed tail:0x7e0, head:0x0."