nRF54L15: OTP region in RRAMC remains erasable (NCS v3.2.0)

Hi Nordic Support Team,

Environment:

  • SDK: NCS v3.2.0

  • Hardware: nRF54L15

  • Driver: nrfx_rramc

Problem Description:
I am currently working with the OTP (One-Time Programmable) region of the nRF54L15 using the provided RRAMC APIs: nrfx_rramc_otp_word_read and nrfx_rramc_otp_word_write.

According to the definition of "OTP", I expected that once a word is written to this region, it should be permanent and impossible to erase. However, during my tests, I found that the data in the OTP region can still be erased (for example, via a debugger ERASEALL command or specific erase operations).

Questions:

  1. Why is the OTP region in nRF54L15 still erasable even after being programmed?

  2. Is there a specific configuration or UICR register (like APPROTECT or SECUREAPPROTECT) that I must set to make the OTP region truly "One-Time Programmable" and non-erasable?

  3. Is this "OTP" behavior implemented purely in software/logic, or is there a hardware-level lock I should be aware of?

Best regards,


Parents
  • I agree that the name OTP is terrible here since it is actually eraseable. My colleague as well as nordic's AI (at least previously) were super convinced that it was impossible to erase it, due to the name OTP.

    There is nothing special with the OTP registers compared to the rest of UICR. That is, you may write to it, but it can only be erased together with a full device erasure (via ERASEALL). You cannot erase an individual word.

Reply
  • I agree that the name OTP is terrible here since it is actually eraseable. My colleague as well as nordic's AI (at least previously) were super convinced that it was impossible to erase it, due to the name OTP.

    There is nothing special with the OTP registers compared to the rest of UICR. That is, you may write to it, but it can only be erased together with a full device erasure (via ERASEALL). You cannot erase an individual word.

Children
Related