UM11029
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2017. All rights reserved.
User manual
Rev. 1.0 — 16 June 2017
16 of 515
4.1 How to read this chapter
The Fast Initialization Memory (FAIM) is a 256-bit memory configured as eight words (or
rows) of 32-bits per word.
4.2 General description
The FAIM is a multiple time programmable (MTP), ultra low power memory, the full
contents of which are read and latched immediately after reset, with no clocks required.
The FAIM contents provide a user-programmable initial configuration for aspects of the
microcontroller, which take effect immediately after reset, before code begins to run. For
instance, the standard I/O pads normally come out of reset with the internal pull-ups
enabled. In some systems this may cause excess current to flow, until software can
reconfigure the pads. However, by programming the FAIM appropriately, every pad's reset
configuration can be customized. Other aspects which can be controlled by the FAIM are
initial FRO divider value (low power start), serial wire debug disable, default ISP interface
and pins, etc. One 32-bit FAIM row can be programmed, or read, using the ROM IAP calls
FAIMWrite and FAIMRead (see
Chapter 5 “LPC84x ISP and IAP”
for details).
After a FAIMMWrite, a FAIMRead is required to update the output of the FAIM. Once a
read has been performed, the FAIM contents are visible in the AHB Peripheral address
space starting at 0x5001_0000.
For the pull-up, pull-down, and HI-Z IOCON pin configuration settings, a reset is needed
to transfer the newly programmed FAIM values into the IOCON pin configuration registers.
Executing a FAIMWrite followed by a FAIMRead does not update the current configuration
in the IOCON pin configuration registers. Only a reset can do so. Software can at any time
rewrite the IOCON pin configuration. Similarly, for SWD Disable, Low Power Start
configuration, ISP interface and pin select, a reset is needed to update the actual startup
configuration.
The FAIM is limited to 200 program cycles, so care must be taken to write this memory
only when necessary during an end-product's development. Also, the FAIM programming
voltage range is 3.0 V
Vdd
3.6 V.
Remark:
If internal pull-down is enabled via FAIM on the ISP pin (PIO0_12) or the reset
pin (PIO0_5), ensure to have a strong external pull-up to avoid going into ISP mode or into
reset after boot-up.
4.2.1 FAIM bit definitions
The functions of FAIM bits are described in the following tables.
UM11029
Chapter 4: LPC84x FAIM
Rev. 1.0 — 16 June 2017
User manual