I'm using a i.MX258 in a custom board and facing problems with the DryIce tamper detection.
I program in DTCR (DryIce tamper configuration register) the DryIce tamper-detection logic: which kind of tamper generates a DryIce security alarm.
Then I print DSR (DryIce status register) and I can see if the security-violation flags is set and if set what generates the tamper.
I can easily test the tamper A and B, and the wire-mesh. Everything works.
When I enable in the DTCR register the bits TTE (temperature), CTE (clock) or VTE (voltage), then the DSR registers always reports the corresponding bit sets (bit TTD (temperature tampering) or CTD (clock tampering) or VTD (voltage tampering)).
For example, if I enable the temperature, the DryIce should only report a tamper when the temperature is below -100ºC or above 150ºC (i.MX25_security_RM_r1.pdf manual p207). My board is running at ~23ºC.
Why the DryIce always reports theses tampering sources? Is there something missing?
- The input voltage of the processor is 3.3V, and BAT_VDD is 1.5V
- The processor has the secure boot enabled and fusebits blown.
- Before to enable the tamper logic in DTCR, the DSR register reports no security-violation flag (SVF = 0) and DryIce in valid state (NVF = 0).