Although the One Time Programmable (OTP) memory is one time programmable, any bit still in a 1 state can be reprogrammed into a 0 state. To avoid deliberate or accidental modification of the OTP memory data, a protection mechanism is provided.
OTP memory access state (REGION.PROTECT) | Disabled (0xFFFFFFFF) | Enabled (0x50FA50FA) | Protected (0x00000000) |
---|---|---|---|
CALIB.x | No access | Read/write access | Read-only access |
MAC.x | No access | Read/write access | Read-only access |
QSPI.x | No access | Read/write access | No access |
Devices are shipped with the OTP memory access in the disabled state. The Wi-FiĀ® Radio test sample includes commands for programming the OTP memory. The following steps are required:
wifi_radio_ficr_prog otp_write_params 0x100 0x50FA50FA
.
wifi_radio_ficr_prog
otp_write_params 0x100 0x00000000
.
Use the Wi-Fi Radio test command
wifi_radio_ficr_prog otp_read_params
to confirm the state of OTP memory.
This reports the value of all OTP memory registers, including the register REGION_DEFAULTS,
except for the QSPI encryption keys which cannot be read. Alternatively, use the Wi-Fi Radio test command
wifi_radio_ficr_prog otp_get_status
to indicate which registers have been
programmed without reporting the actual values.