With Zephyr, we
ended up building MbedTLS as three distinct libraries (Zephyr
originally produced a single library), linking the crypto library
against TF-M, and the X.509 and TLS libraries against the NSPE (Zephyr),
and making some changes to the cmake files to accommodate this
partition scheme. This allowed TLS and X.509 certificate management on the NS side, with crypto operations handled by TF-M. It did require changes to the build system on both sides, though, but the exact solution will depend on what you're using on the NS side.
You'll also want to be using the very latest TF-M and MbedTLS code, since the 1.8.0 and 3.4.0 releases includes some changes to make this easier. Antonio from Arm may be able to comment on this, as author of some of those patches (if he's on this mailing list).
Best regards,
Kevin Townsend