The LPC1102 is an ARM Cortex-M0 based, low-cost 32-bit MCU, designed for 8/16-bit
microcontroller applications, offering performance, low power, simple instruction set and
memory addressing together with reduced code size compared to existing 8/16-bit
architectures.
The LPC1102 operates at CPU frequencies of up to 50 MHz.
The peripheral complement of the LPC1102 includes 32 kB of flash memory, 8 kB of data
memory, one RS-485/EIA-485 UART, one SPI interface with SSP features, four general
purpose counter/timers, a 10-bit ADC, and 11 general purpose I/O pins.
• System:
– ARM Cortex-M0 processor, running at frequencies of up to 50 MHz.
– ARM Cortex -M 0 bu ilt- in Ne ste d Vectored Interrupt Controller (NVIC).
– Serial Wire Debug.
– System tick timer.
• Memory:
– 32 kB on-chip flash programming memory.
– 8 kB SRAM.
– In-Application Programming (IAP) and In-System Programming (ISP) support via
on-chip bootloader software.
• Digital peripherals:
– 11 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.
– GPIO pins can be used as edge and level sensitive interrupt sources.
– Four general purpose counter/timers with a total of one capture input and nine
match outputs.
– Programmable WatchDog Timer (WDT).
• Analog peripherals:
– 10-bit ADC with input multiplexing among five pins.
– UART with fractional baud rate generation, internal FIFO, and RS-485 support.
– One SPI controller with SSP features and with FIFO and multi-protocol capabilities.
– 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used
as a system clock.
– Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.
– PLL allows CPU operation up to the maximum CPU rate without the need for a
high-frequency crystal. May be run from an external clock or the internal RC
oscillator.
– Clock output function with divider that can reflect the external clock, IRC clo ck,
CPU clock, and the Watchdog clock.
– Integrated PMU (Power Management Unit) to minimize power consumption dur ing
Sleep and Deep-sleep modes.
– Power profiles residing in boot ROM allowing to optimize performance and
minimize power consumption for any give n application th rough one simple fu nction
call.
– Two reduced power modes: Sleep and Deep-sleep modes.
– Processor wake-up from Deep-sleep mode via a dedicated start logic using up to
six of the functional pins.
– Power-On Reset (POR).
– Brownout detect with four separate thresholds for interrupt and forced reset.
Table 3 shows the memory configuration for the LPC1102 part.
Table 3.LPC1102 memory configuration
PartFlashSRAM
Suffix
LPC110232 kB8 kB
2.2 Memory map
Figure 2 shows the memory and peripheral address space of the LPC1102.
The AHB peripheral area is 2 MB in size and is divided to allow for up to 128 peripherals.
On the LPC1102, the GPIO ports are the only AHB peripherals. The APB peripheral area
is 512 kB in size and is divided to allow for up to 32 peripherals. Each peripheral of either
type is allocated 16 kB of space. This allows simplifying the address decoding for each
peripheral.
All peripheral register addresses are 32-bit word aligned regardless of their size. An
implication of this is that word and half-word registers must be accessed all at once. For
example, it is not possible to read or write the upper byte of a word register separately.
The system configuration block controls oscillators, start logic, and clock generation of the
LPC1102. Also included in this block are registers for setting the priority for AHB access
and a register for remapping flash, SRAM, and ROM memory areas.
3.3 Pin description
Table 4 shows pins that are associated with system con tr o l bloc k func tio ns .
Table 4.Pin summary
Pin namePin directionPin description
PIO0_0; PIO0_8 to PIO0_11IStart logic wake-up pins port 0
PIO1_0 IStart logic wake-up pin port 1
3.4 Clocking and power control
See Figure 3 for an overview of the LPC1102 Clock Generation Unit (CGU).
The LPC1102 include three independent oscillators. These are the system oscillator, the
Internal RC oscillator (IRC), and the watchdog oscillator. Each oscillator can be used for
more than one purpose as required in a particular application.
Following reset, the LPC1102 will operate from the Internal RC oscillator until switched by
software. This allows systems to operate without any external crystal and the bootloader
code to operate at a known frequency.
The SYSAHBCLKCTRL register gates the system clock to the various peripherals and
memories. UART, the WDT, and SPI0 have individual clock dividers to derive peripheral
clocks from the main clock.
The system memory remap register selects whether the ARM interrupt vectors are read
from the boot ROM, the flash, or the SRAM.
Table 6.System memory remap register (SYSMEMREMAP, address 0x4004 8000) bit
description
BitSymbolValueDescriptionReset
1:0MAPSystem memory remap10
0x0Boot Loader Mode. Interrupt vectors are re-mapped to Boot
ROM.
0x1User RAM Mode. Interrupt vectors are re-mapped to Static
RAM.
0x2User Flash Mode. Interrupt vectors are not re-mapped and
reside in Flash.
0x3User Flash Mode. Interrupt vectors are not re-mapped and
reside in Flash.
31:2--Reserved0x00
Reference
Table 35
Table 36
value
3.5.2Peripheral reset control register
This register allows software to reset the SPI peripheral. Writing a 0 to the SSP0_RST_N
bit resets the SPI0 peripheral. Writing a 1 de-asserts the reset.
Remark: Before accessing the SPI peripheral, write a 1 to this register to ensure that the
reset signal to the SPI is de-asserted.
Table 7.Peripher al reset control register (PRESETCTRL, address 0x4004 8004) bit
description
BitSymbolValueDescriptionReset
value
0SSP0_RST_NSPI0 reset control0
0Resets the SPI0 periphe ral.
1SPI0 reset de-asserted.
This register connects and enables the system PLL a nd configur es the PLL multiplie r and
divider values. The PLL accepts an input frequency from 10 MHz to 25 MHz from various
clock sources. The input frequency is multiplied up to a high frequency, then divided down
to provide the actual clock used by the CPU, peripherals, and memories. The PLL can
produce a clock up to the maximum allowed for the CPU.
Table 8.Syste m PLL control register (SYSPLLCTRL, address 0x4004 8008) bit description
BitSymbolValueDescriptionReset
4:0MSELFeedback divider value. The division value M is the
6:5PSELPost divider ratio P. The division ratio is 2 × P.0x00
31:7--Reserved. Do not write ones to reserved bits.0x0
UM10429
Chapter 3: LPC1102 System configuration
value
0x000
programmed MSEL value + 1.
00000: Division ratio M = 1
to
11111: Division ration M = 32
0x0P = 1
0x1P = 2
0x2P = 4
0x3P = 8
3.5.4System PLL status register
This register is a Read-only register and supplies the PLL lock status (see
Section 3.10.1
Table 9.Syste m PLL status register (SYSPLLSTAT, address 0x4004 800C) bit description
BitSymbolValueDescriptionReset
0LOCKPLL lock status0x0
31:1--Reserved0x00
).
0PLL not locked
1PLL locked
3.5.5System oscillator control register
This register configures the frequency range for the system oscillator.
Table 10.System oscillator control register (SYSOSCCTRL, address 0x4004 8020) bit
description
BitSymbolValueDescriptionReset
0BYPASSBypass system oscillator0x0
0Oscillator is not bypassed.
1Bypass enabled. PLL input (sys_osc_clk) is fed
Table 10.System oscillator control register (SYSOSCCTRL, address 0x4004 8020) bit
BitSymbolValueDescriptionReset
1FREQRANGEDetermines frequency range for Low-power
31:2--Reserved0x00
3.5.6Watchdog oscillator control register
This register configures the watchdog oscillator. The oscillator consists of an analog and a
digital part. The analog part contains the oscillator function and generates an analog clock
(Fclkana). With the digital part, the analog output clock (Fclkana) can be divided to the
required output clock frequency wdt_osc_clk. The analog output frequency (Fclkan a) can
be adjusted with the FREQSEL bits between 500 kHz and 3.4 MHz. With the digital part
Fclkana will be divided (divider ratios = 2, 4,...,64) to wdt_osc_clk using the DIVSEL bits.
The output clock frequency of the watchdog oscillator can be calculated as
wdt_osc_clk =
⁄
(2 × (1 + DIVSEL))
= 7.8 kHz to 1.7 MHz (nominal values).
Fclkana
Remark: Any setting of the FREQSEL bits will yield a Fclkana value within ±40% of the
listed frequency value. The watchdog oscillator is the clock source with the lowest power
consumption. If accurate timing is required, use the IRC or system oscillator.
Remark: The frequency of the watchdog oscillator is undefined after reset. The watchdog
oscillator frequency must be programmed by writing to the WDTOSCCTRL register before
using the watchdog oscillator.
Table 11.Watchdog oscillator control register (WDTOSCCTRL, address 0x4004 8024) bit
This register updates the clock source of the system PLL with the new input clock after the
SYSPLLCLKSEL register has been written to. In order for the update to take effect, first
write a zero to the SYSPLLUEN register and then write a one to SYSPLLUEN.
Remark: When switching clock sources, both clocks must be running before the clock
source is updated.
This register selects the main system clock which can be either any input to the system
PLL, the output from the system PLL (sys_pllclkout), or the watchdog or IRC oscillators
directly. The main system clock clocks the core, the peripherals, and the memories.
UM10429
Chapter 3: LPC1102 System configuration
8044) bit description
0No change
1Update clock source
The MAINCLKUEN register (see Section 3.5.12
) must be toggled from LOW to HIGH for
the update to take effect.
Remark: When switching clock sources, both clocks must be running before the clock
source is updated.
Remark: When using the C_CAN controller with baudrates above 100 kbit/s, the system
0x0IRC oscillator
0x1Input clock to system PLL
0x2WDT oscillator
0x3System PLL clock out
31:2--Reserved0x00
3.5.12Main clock source update enable register
This register updates the clock source of the main clock with the new input clock after the
MAINCLKSEL register has been written to. In order for the update to take effect, first write
a zero to the MAINCLKUEN register and then write a one to MAINCLKUEN.
Remark: When switching clock sources, both clocks must be running before the clock
source is updated.
This register divides the main clock to provide the system clock to the core, memories,
and the peripherals. The system clock can be shut down completely by setting the DIV
bits to 0x0.
0x01
0: System clock disabled.
1: Divide by 1.
to
255: Divide by 255.
3.5.14System AHB clock control register
The AHBCLKCTRL register enables the clocks to individual system and peripheral blocks.
The system clock (sys_ahb_clk[0], bit 0 in the AHBCLKCTRL register) provides the clock
for the AHB to APB bridge, the AHB matrix, the ARM Cortex- M 0, the Syscon block, and
the PMU. This clock cannot be disabled.
Table 19.System AHB clock control register (SYSAHBCLKCTRL , ad dress 0x4004 8080) bit
description
BitSymbolValueDescriptionReset
0SYSEnables clock for AHB to APB bridge, to the AHB
matrix, to the Cortex-M0 FCLK and HCLK, to the
SysCon, and to the PMU. This bit is read only.
0Reserved
1Enable
This register updates the clock source of the watchdog timer with the new input clock a fter
the WDTCLKSEL register has been written to. In order for the update to take effect at the
input of the watchdog timer, first write a zero to the WDTCLKUEN register and then write
a one to WDTCLKUEN.
0: Disable WDT_PCLK.
1: Divide by 1.
to
255: Divide by 255.
31:8-Reserved0x00
value
0x00
3.5.20POR captured PIO status register 0
The PIOPORCAP0 register captures the state (HIGH or LOW) of the PIO pins of ports 0,1,
and 2 (pins PIO2_0 to PIO2_7) at power-on-reset. Each bit represents the reset state of
one GPIO pin. This register is a read-only status register.
Table 25.POR captured PIO status registers 0 (PIOPORCAP0, address 0x4004 8100) bit
BitSymbolDescriptionReset value
0CAPPIO0_0Raw reset status input PIO0_0User implementation dependent
7:1-Reserved.8CAPPIO0_8Raw reset status input PIO0_8User implementation dependent
9CAPPIO0_9Raw reset status input PIO0_9User implementation dependent
10CAPPIO0_10Raw reset status input PIO0_10User implementation dependent
1 1CAPPIO0_11Raw reset status input PIO0_11User implementation dependent
12CAPPIO1_0Raw reset status input PIO1_0User implementation dependent
13CAPPIO1_1Raw reset status input PIO1_1User implementation dependent
14CAPPIO1_2Raw reset status input PIO1_2User implementation dependent
15CAPPIO1_3Raw reset status input PIO1_3User implementation dependent
17:16-Reserved.18CAPPIO1_6Raw reset status input PIO1_6User implementation dependent
19CAPPIO1_7Raw reset status input PIO1_7User implementation dependent
31:20-Reserved.-
UM10429
Chapter 3: LPC1102 System configuration
description
3.5.21BOD control register
The BOD control register selects four separate threshold values for sending a BOD
interrupt to the NVIC and for forced reset. Reset and interrupt threshold values listed in
Table 26
Table 26.BOD control register (BODCTRL, address 0x400 4 8150) bit description
BitSymbolValue DescriptionReset
1:0BODRSTLEVBOD reset level00
3:2BODINTVALBOD interrupt level00
are typical values.
0x0Level 0: The reset assertion threshold voltage is 1.46 V; the
0x1Level 1: The reset assertion threshold voltage is 2.06 V; the
0x2Level 2: The reset assertion threshold voltage is 2.35 V; the
0x3Level 3: The reset assertion threshold voltage is 2.63 V; the
0x0Level 0: The interrupt assertion threshold voltage is 1.65 V;
0x1Level 1:The interrupt assertion threshold voltage is 2.22 V;
0x2Level 2: The interrupt assertion threshold voltage is 2.52 V;
0x3Level 3: The interrupt assertion threshold voltage is 2.80 V;
value
reset de-assertion threshold voltage is 1.63 V.
reset de-assertion threshold voltage is 2.15 V.
reset de-assertion threshold voltage is 2.43 V.
reset de-assertion threshold voltage is 2.71 V.
the interrupt de-assertion threshold voltage is 1.80 V.
the interrupt de-assertion threshold voltage is 2.35 V.
the interrupt de-assertion threshold voltage is 2.66 V.
the interrupt de-assertion threshold voltage is 2.90 V.
The STARTAPRP0 register controls the start logic input s of ports 0 (PIO0_0 to PIO0_11)
and 1 (PIO1_0). This register selects a falling or rising edge on the corresponding PIO
input to produce a falling or rising clock edge, respectively, for the start logic (see
Section 3.9.2
Every bit in the STARTAPRP0 register controls one port input and is connected to one
wake-up interrupt in the NVIC. Bit 0 in the STARTAPRP0 register corresponds to interrupt
0, bit 1 to interrupt 1, etc. (see Table 44
Remark: Each interrupt connected to a start log ic input must be enabled in the NVIC if the
corresponding PIO pin is used to wake up the chip from Deep-sleep mode.
Table 28.Start logic edge control register 0 (STARTAPRP0, address 0x4004 8200) bit
BitSymbolValueDescriptionReset
0 APRPIO0_0Edge select for start logic input PIO0_00x0
7:1--Reserved0x0
8APRPIO0_8Edge select for start logic input PIO0_80x0
9APRPIO0_9Edge select for start logic input PIO0_90x0
Writing a one to a bit in the STARTRSRP0CLR register resets the start logic state. The bit
assignment is identical to Table 28
clock edge for registering a start signal. This clock edge (falling or rising) sets the interrupt
for waking up from Deep-sleep mode. Therefore, the sta rt-up logic st ates must be cleared
before being used.
0RSRPIO0_0Start signal reset for start logic input PIO0_0n/a
7:1--Reservedn/a
8RSRPIO0_8Start signal reset for start logic input PIO0_8n/a
9RSRPIO0_9Start signal reset for start logic input PIO0_9n/a
10RSRPIO0_10Start signal reset for start logic input PIO0_10n/a
11RSRPIO0_11 Start signal reset for start logic input PIO0_11n/a
12RSRPIO1_0Start signal reset for start logic input PIO1_0n/a
31:13--Reservedn/a
UM10429
Chapter 3: LPC1102 System configuration
. The start-up logic uses the input signals to generate a
description
value
01Write: reset start signal
01Write: reset start signal
01Write: reset start signal
01Write: reset start signal
01Write: reset start signal
01Write: reset start signal
3.5.26Start logic status register 0
This register reflects the status of the enabled start signal bits. The bit assignment is
identical to Table 28
or not a wake-up signal has been received for a given pin.
Table 31.Start logic status register 0 (START SRP0, add ress 0x4004 820C) bit description
BitSymbolValueDescriptionReset
0SRPIO0_0Start signal status for start logic input 0PIO0_0n/a
. Each bit (if enabled) reflects the state of the start logic, i.e. whether
value
0No start signal received
1Start signal pending
NXP Semiconductors
UM10429
Chapter 3: LPC1102 System configuration
Table 31.Start logic status register 0 (START SRP0, add ress 0x4004 820C) bit description
BitSymbolValueDescriptionReset
value
8SRPIO0_8Start signal status for start logic input PIO0_8n/a
0No start signal received
1Start signal pending
9SRPIO0_9Start signal status for start logic input PIO0_9n/a
0No start signal received
1Start signal pending
10SRPIO0_10Start signal status for start logic input PIO0_10n/a
0No start signal received
1Start signal pending
11SRPIO0_11Start signal status for start logic input PIO0_11n/a
0No start signal received
1Start signal pending
12SRPIO1_0Start signal status for start logic input PIO1_0n/a
0No start signal received
1Start signal pending
31:13--Reservedn/a
3.5.27Deep-sleep mode configuration register
This register controls the behavior of the WatchDog (WD) oscillator and the BOD circuit
when the device enters Deep-sleep mode.
This register must be initialized at least once before entering Deep-sleep mode with
one of the four values shown in Table 32
Table 32.Allowed values for PDSLEEPCFG register
ConfigurationWD oscillator onWD oscillator off
BOD onPDSLEEPCFG = 0x0000 18B7 PDSLEEPCFG = 0x0000 18F7
BOD offPDSLEEPCFG = 0x0000 18BF PDSLEEPCFG = 0x0000 18FF
:
Remark: Failure to initialize and program this register correctly may result in undefined
behavior of the microcontroller. The values listed in Table 32
for PDSLEEPCFG register.
To select the appropriate power configuration for Deep-sleep mode, consider the
following:
• BOD: Leaving the BOD circuit enabled will protect the part from a low voltage event
occurring while the part is in Deep-sleep mode. However, the BOD circuit causes an
additional current drain in Deep-sleep mode.
• WD oscillator: The watchdog oscillator can be left running in Deep-sleep mode to
provide a clock for the watchdog timer or a general purpose timer if they are needed
for timing a wake-up event (see Section 3.9.3
oscillator analog output frequency must be set to its lowest value (bits FREQSEL in
Remark: Reserved bits in this register must always be written as indicated. This register
must be initialized correctly before entering Deep-sleep mode.
Table 33.Deep-sleep configuration register (PDSLEEPCFG, address 0x4004 8230) bit
BitSymbolValueDescriptionReset
2:0-Reserved. Always write these bits as 111.0
3BOD_PDBOD power-down control in Deep-sleep mode, see
5:4-Reserved. Always write these bits as 11.0
6WDTOSC_PDWatchdog oscillator power control in Deep-sleep
7-Reserved. Always write this bit as 1.0
10:8-Reserved. Always write these bits as 000.0
12:11-Reserved. Always write these bits as 11.0
31:13-Reserved0
UM10429
Chapter 3: LPC1102 System configuration
the WDTOSCCTRL = 0001, see Table 11) and all peripheral clocks other than the
timer clock must be disabled in the SYSAHBCLKCTRL register (see Table 19
entering Deep-sleep mode.
The watchdog oscillator, if running, contributes an additional current drain in
Deep-sleep mode.
description
Table 32
0Powered
1Powered down
mode, see Table 32
0Powered
1Powered down
.
.
) before
value
0
0
3.5.28Wake-up configuration register
The bits in this register determine the state the chip enters when it is waking up from
Deep-sleep mode.
By default, the IRC and flash memory are powered and running and the BOD circuit is
enabled when the chip wakes up from Deep-sleep mode.
Remark: Reserved bits must be always written as indicated.
Table 34.Wake-up configuration register (PDAWAKECFG, address 0x4004 8234) bit
8-Reserved. Always write this bit as 1.1
9-Reserved. Always write this bit as 0. 0
10-Reserved. Always write this bit as 1.1
1 1-Reserved. Always write this bit as 1. 1
12-Reserved. Always write this bit as 0. 0
15:13-Reserved. Always write these bits as 111.111
31:16--Reserved-
description
UM10429
Chapter 3: LPC1102 System configuration
…continued
value
0Powered
1Pow ered down
0Powered
1Pow ered down
0Powered
1Pow ered down
0Powered
1Pow ered down
0Powered
1Pow ered down
0Powered
1Pow ered down
3.5.29Power-down configuration register
The bits in the PDRUNCFG register control the power to the various analog blocks. This
register can be written to at any time while the chip is running, and a write will take effect
immediately with the exception of the power-down signal to the IRC.
To avoid glitches when powering down the IRC, the IRC clock is automatically switched off
at a clean point. Therefore, for the IRC a delay is possible before the power-down state
takes effect.
By default, the IRC and flash memory are powered and running and the BOD circuit is
enabled.
Remark: Reserved bits must be always written as indicated.
Table 35.Power-down configuration register (PDRUNCFG, address 0x4004 8238) bit
BitSymbolValueDescriptionReset
0IRCOUT_PDIRC oscillator output power-down0
1IRC_PDIRC oscillator power-down0
2FLASH_PDFlash power-down0
3BOD_PDBOD power-down0
4ADC_PDADC power-down1
5SYSOSC_PDSystem oscillator power-down1
6WDTOSC_PDWatchdog oscillator power-down 1
7SYSPLL_PDSystem PLL power-down1
8-Reserved. Always write this bit as 1.1
9-Reserved. Always write this bit as 0. 0
10-Reserved. Always write this bit as 1.1
11-Reserved. Always write this bit as 1. 1
12-Reserved. Always write this bit as 0. 0
15:13-Reserved. Always write these bits as 111.111
31:16--Reserved-
UM10429
Chapter 3: LPC1102 System configuration
description
value
0Powered
1Powered down
0Powered
1Powered down
0Powered
1Powered down
0Powered
1Powered down
0Powered
1Powered down
0Powered
1Powered down
0Powered
1Powered down
0Powered
1Powered down
3.5.30Device ID register
This device ID register is a read-only register and contains the part ID for each LPC1102
part. This register is also read by the ISP/IAP commands (Section 19.5.11
Table 36.Device ID register (DEVICE_ID, address 0x4004 83F4) bit d escription
Reset has four sources on the LPC1102: the RESET pin, Watchdog Reset, Power-On
Reset (POR), and Brown Out Detect (BOD). In addition, there is a software reset.
UM10429
Chapter 3: LPC1102 System configuration
The RESET
the operating voltage attains a usable level, starts the IRC causing reset to remain
asserted until the external Reset is de-asserted, the oscillator is running, and the flash
controller has completed its initialization.
On the assertion of a reset source external to the Cortex-M0 CPU (POR, BOD reset,
External reset, and Watchdog reset), the following processes are initiated:
1. The IRC starts up. After the IRC-start-up time (maximum of 6 μs on power-up), the
IRC provides a stable clock output.
2. The boot code in the ROM starts. The boot code per forms the boot tasks and may
jump to the flash.
3. The flash is powered up. This takes approximately 100 μs. Then the flash initialization
sequence is started, which takes about 250 cycles.
When the internal Reset is removed, the processor begins executing at address 0, which
is initially the Reset vector mapped from the boot block. At that point, all of the processor
and peripheral registers have been initialized to predetermined values.
3.7 Brown-out detection
The LPC1 10 2 includes four levels for m onitoring th e volta ge on the VDD pin. If this voltage
falls below one of the four selected levels, the BOD asserts an interrupt signal to the
NVIC. This signal can be enabled for interrupt in the Interr upt Enable Register in the NVIC
in order to cause a CPU interrupt; if not, software can monitor the signal by reading the
NVIC status register (see Table 44
cause a forced reset of the chip (see Table 26
pin is a Schmitt trigger input pin. Assertion of chip Reset by any source, once
). An additional four threshold levels can be selected to
).
3.8 Power management
The LPC1102 support a variety of power control features. In Active mode, when the chip
is running, power and clocks to selected peripherals can be optimized for power
consumption. In addition, there are three special modes of processor power reduction:
Sleep mode and Deep-sleep mode mode.
Remark: The Debug mode is not supported in Sleep or Deep-sleep mode.
3.8.1Active mode
In Active mode, the ARM Cortex-M0 core and memories are clocked by the syste m clock,
and peripherals are clocked by the system clock or a dedicated peripheral clock.
The chip is in Active mode after reset and the default power configuration is determined
by the reset values of the PDRUNCFG and SYSAHBCLKCTRL registers. The power
configuration can be changed during run time.