33.1.12.4 User-OTP Write Protect

One page in the Flash Boot region is implemented as One-Time Programmable NVM called UserOTP. It can only be written and cannot be erased (by page or chip erase). It is intended for the storage of user system calibration data that must survive a Flash erase.

UserOTP can be used to store and preserve identification values, such as an Ethernet MAC addresses, OEM/ODM version numbers, board version numbers, and so on. Another use would be for calibration values of circuits external to the chip but constant for a board design in which the chip exists.

The UOWP register is used to write protect 1/4 sized regions of the UserOTP pages. UOWP.UO1WP0 write protect the lowest address quarter page in Panel 1 while UOWP.UO2WP3 write protects the highest addressed quarter page in panel 2.

UOWP Lock/Unlock Sequence

The UOWP register requires a lock/unlock sequence as described in SFR Write Unlock Values. Any attempt to write to this register when locked has no effect.

Local Lock Bits

The user may optionally select to prevent further writes to a UOWP regions bits by also setting the Local Lock bits (in the same register) when writing the UOWP value. There are individual Lock bits per ¼ region.

When a local lock bit is set (LOCK = 1), subsequent writes to that register (even if the unlock sequence is followed) have no effect, creating a “write once’ register. Local LOCK bits revert to the unlocked state at reset.