The documentation (http://www.ti.com/lit/ug/sprufb0d/sprufb0d.pdf 4.3.2 Password Match Flow) and the code examples for CSM_unsecure() seem to be incorrect for some cases. Figure 12 indicates that reading all 0s indicates a permanently locked device, but won't the CsmPwl read as 0s when CSM_unsecure() runs from unsecure memory? In this case, the CSM examples that I have seen will abort without writing the key (which would unlock the device).