Protection Registers aka one-time programmable (OTP) bits

configname: CONFIG_MTD_OTP

Linux Kernel Configuration
└─>Device Drivers
└─>Memory Technology Device (MTD) support
└─>RAM/ROM/Flash chip drivers
└─>Protection Registers aka one-time programmable (OTP) bits
In linux kernel since version 2.6.20 (release Date: 2007-02-04)  
This enables support for reading, writing and locking so called
"Protection Registers" present on some flash chips.
A subset of them are pre-programmed at the factory with a
unique set of values. The rest is user-programmable.

The user-programmable Protection Registers contain one-time
programmable (OTP) bits; when programmed, register bits cannot be
erased. Each Protection Register can be accessed multiple times to
program individual bits, as long as the register remains unlocked.

Each Protection Register has an associated Lock Register bit. When a
Lock Register bit is programmed, the associated Protection Register
can only be read; it can no longer be programmed. Additionally,
because the Lock Register bits themselves are OTP, when programmed,
Lock Register bits cannot be erased. Therefore, when a Protection
Register is locked, it cannot be unlocked.

This feature should therefore be used with extreme care. Any mistake
in the programming of OTP bits will waste them.