WM8321
Production Data
14.4.3 OTP WRITE COMMAND
The Write command programs one or all data pages of the OTP with data from the corresponding
page(s) of the DCRW. The Write commands are selected by writing 1 to the OTP_WRITE bit.
The OTP memory is selected by setting the OTP_MEM bit to 1. (Note that the WM8321 does not
support programming the external ICE memory.)
To write a single memory page, the applicable page is selected by setting the OTP_PAGE field. To
write all memory pages, the OTP_BULK bit should be set to 1.
Note that Page 0 and Page 1 will be programmed during manufacture, and cannot be re-written. OTP
Write is then only possible to Page 2 and Page 3. Selecting the OTP_BULK bit will select OTP Write
to Page 2 and Page 3 only.
Note that selecting the OTP_BULK option will cause an OTP Error to be indicated (see Section 14.5).
This is because the Bulk Write to Page 0 and Page 1 is not permitted after the factory configuration of
the WM8321. It is still possible to Verify the OTP Bulk Write, but the OTP_ERR_EINT flag must be
cleared before doing so. The recommended procedure is to Write Page 2 and Page 3 using single
page OTP Write commands.
All other bits in the OTP Control Register should be set to 0 when a Write command is issued. (Note
that OTP_PROG should be set to 0 when a Write command is issued.)
The programming supply voltage PROGVDD is required for the OTP Write command. It is also
necessary to overdrive the LDO12VOUT pin from an external supply. See Section 6 for details of the
required supply voltages.
For typical applications, it is recommended to Write Page 2 and Page 3 in two separate commands.
The OTP Control Register contents for these OTP Write Commands are detailed in Table 21.
WRITE COMMAND
OTP Write Page 2
OTP CONTROL REGISTER VALUE
2202h
2203h
OTP Write Page 3
Table 21 OTP Write Command
14.4.4 OTP VERIFY COMMAND
The Verify command compares one or all data pages of the OTP with data in the corresponding
page(s) of the DCRW. The Verify commands are selected by writing 1 to the OTP_VERIFY bit.
The OTP memory is selected by setting the OTP_MEM bit to 1. (Note that the WM8321 does not
support verifying the external ICE memory.)
The Read Margin Level is selected by setting the OTP_READ_LVL. The recommended setting for the
OTP Verify command is Margin 1. The OTP_READ_LVL field should be set to 10b.
To verify a single memory page, the applicable page is selected by setting the OTP_PAGE field. To
verify all memory pages, the OTP_BULK bit should be set to 1.
All other bits in the OTP Control Register should be set to 0 when a Verify command is issued. (Note
that OTP_PROG should be set to 0 when a Verify command is issued.)
If the OTP Verify operation is unsuccessful (ie. the WM8321 detects a difference between the
selected pages of the OTP and DCRW memories), then this is indicated by the OTP_ERR_EINT
Interrupt flag, as described in Section 14.5.
Note that, when Verifying the OTP after it has been Finalised, the CUST_OTP_FINAL bit needs to be
set in the DCRW using a register write to R30736 prior to the OTP_VERIFY operation. This is
because the OTP_FINAL command does not set the CUST_OTP_FINAL bit in the DCRW; it only sets
it in the OTP memory. If the CUST_OTP_FINAL bit is not set in DCRW, then the OTP_VERIFY
command will result in an OTP error indication.
PD, February 2012, Rev 4.0
54
w