Hey folks, just wanted to throw out some lessons learned in using the CSEc module on the S32K.
1) This App Note does a better job of explaining the CSEc than the doxygen documentation or the reference manual. If you're using crypto I would start by reading this thoroughly:
2) This isn't especially clear from the Reference Manual, but the CSEc will not work until the "FlexNVM" space has been partitioned with a flash command. In other words, "CSEC_DRV_Init" will do nothing until you call the flash command as shown in the doxygen documentation.
What's also important to note, is that #2 applies to any command. I had assumed that if I were simply generating random numbers, I didn't need to partition a space for keys. The CSEc RAM space would not accept commands, and would always return 0... as mentioned above, it turns out the CSEc will not respond to *any* command until the flash is partitioned.
Hopefully that helps someone!