Having got the logs, I decided to dig in further myself. It appears that when the system is under high memory load but still has the DDR running at 400MT/s (or in our case sometimes 100MT/s), the CAAM will sometimes generate a watchdog error.
The eMMC driver forces the DDR to 3000MT/s, but for writes, this doesn't necessarily occur until after the encryption has been performed.
We have fixed this for our use case by requesting `BUS_FREQ_HIGH` in `caam_jr_enqueue()` and releasing it again via scheduled work from `caam_jr_dequeue()`.
This fixes filesystem accesses, however it causes problems when called from the network stack (via xfrm for example) as `request_bus_freq()` ends up being called in atomic context (from much further up the network stack) and both `request_bus_freq()` and `clk_xxx()` calls utilise mutex's
We have worked around this by disabling use of CAAM for everything but the filesystem, but a better solution would be required if upstreamed.