- •Contents
- •Introduction
- •1.1 Scope
- •Figure 1-1: Main system blocks
- •1.2 Summary
- •See Chapter 2, Memory Map.
- •Level sensitive interrupts.
- •Programmed interrupt source available
- •See Chapter 3, Interrupt Controller.
- •Free-running or periodic timer modes.
- •See Chapter 4, Timer.
- •See Chapter 5, Communications Channel.
- •"Wait for Interrupt" Pause mode.
- •See Chapter 6, Remap and Pause.
- •Memory Map
- •2.1 Introduction
- •2.2 Memory Map Base Addresses
- •Interrupt Controller
- •3.1 Introduction
- •Figure 3-1: FIQ and IRQ interrupts
- •3.2 Interrupt Control
- •Figure 3-2: Interrupt Controller Bit Slice
- •3.3 Interrupt Controller Register Descriptions
- •3.5 Interrupt Controller Memory Map
- •Timer
- •4.1 Introduction
- •4.2 Timer Operation
- •Figure 4-1: Timer Block Diagram
- •Figure 4-2: Timer Pre-scale Unit
- •4.3 Timer Register Descriptions
- •4.3.1 Load Register
- •4.3.2 Value
- •4.3.3 Clear
- •4.3.4 Control Register
- •Figure 4-3: Timer Register Bit Positions
- •1—Timer Enabled
- •1—Periodic Timer Model
- •Clock
- •Divided by
- •Stages of
- •Pre-scale
- •Undefined
- •Table 4-1: Bits 3 – 2: Prescale bits
- •4.4 Timer Memory Map
- •Address
- •Read Location
- •Write Location
- •TimerBase
- •Timer1Load
- •Timer1Load
- •TimerBase + 0x04
- •Timer1Value
- •Reserved
- •TimerBase + 0x08
- •Timer1Control
- •Timer1Control
- •TimerBase + 0x0C
- •Reserved
- •Timer1Clear
- •TimerBase + 0x10
- •Reserved
- •Reserved
- •TimerBase + 0x20
- •Timer2Load
- •Timer2Load
- •TimerBase + 0x24
- •Timer2Value
- •Reserved
- •TimerBase + 0x28
- •Timer2Control
- •Timer2Control
- •TimerBase + 0x2C
- •Reserved
- •Timer2Clear
- •TimerBase + 0x30
- •Reserved
- •Reserved
- •Table 4-2: Timer Address Map
- •Communications Channel
- •5.1 Introduction
- •Remap and Pause
- •6.1 Introduction
- •6.2 Pause
- •6.4 Reset Status
- •6.5 Clear Reset Memory Map
- •6.6 Remap and Pause Memory Map
- •Address
- •Read Location
- •Write Location
- •RemapBase
- •Reserved
- •Pause
- •RemapBase + 0x10
- •Identification
- •Reserved
- •RemapBase + 0x20
- •Reserved
- •ClearResetMap
- •RemapBase + 0x30
- •ResetStatus
- •ResetStatusSet
- •RemapBase + 0x34
- •Reserved
- •ResetStatusClear
- •Table 6-1: Remap and Pause Memory Map
Interrupt Controller
3.3Interrupt Controller Register Descriptions
The following registers are provided for both FIQ and IRQ interrupt controllers:
Enable Register |
Read only. The enable register is used to mask the |
|
interrupt input sources and defines which active |
|
sources will generate an interrupt request to the |
|
processor. This register is read only and its value can |
|
only be changed by the enable set and enable clear |
|
locations. If certain bits within the interrupt controller |
|
are not implemented then the corresponding bits in the |
|
enable register shall be read as undefined. |
|
An enable bit of 1 indicates that the interrupt is enabled |
|
and will allow an interrupt request to reach the |
|
processor. An enable bit of 0 indicates that the interrupt |
|
is disabled. On reset all interrupts are disabled. |
Enable Set |
Write only. This location is used to set bits in the |
|
interrupt enable register. When writing to this location |
|
each data bit which is high will cause the |
|
corresponding bit in the enable register to be set. Data |
|
bits which are low have no effect on the corresponding |
|
bit in the enable register. |
Enable Clear |
Write only. This location is used to clear bits in the |
|
interrupt enable register. When writing to this register |
|
each data bit which is high will cause the |
|
corresponding bit in the enable register to be cleared. |
|
Data bits which are low have no effect on the |
|
corresponding bit in the interrupt enable register. |
Source Status |
Read only. This location provides the status of the |
|
interrupt sources to the interrupt controller. A high bit |
|
indicates that the appropriate interrupt request is active |
|
prior to masking. |
Interrupt Request |
Read only. This location provides the status of the |
|
interrupt sources after masking. A high bit indicates |
|
that the interrupt is active and will generate an interrupt |
|
to the processor. |
3-6 |
Reference Peripherals Specification |
|
|
|
ARM DDI 0062D |
|
|
|
|
|
|
Open Access
Interrupt Controller
The following register is also provided:
Programmed IRQ Interrupt Write only. A write to this register will set or clear a programmed interrupt. Writing to this register with bit 1 set high will generate a programmed interrupt, while writing to it with bit 1 set low will clear the programmed interrupt. The value of this register may be determined by reading bit 1 of the Source Status register. Bit 0 of this register is not used.
A number of registers are reserved for test. These registers must not be accessed during normal operation.
|
|
Reference Peripherals Specification |
3-7 |
|
|
ARM DDI 0062D |
|
|
|
|
|
Open Access
Interrupt Controller
3.4Interrupt Controller Defined Bits
The FIQ interrupt controller is one bit wide, located on bit 0 and the source of this interrupt is implementation dependent.
Bits 1 to 5 in the IRQ interrupt controller are defined. Bit 0 and Bits 6 up to 31 are available for use as required. Bit 0 is left available so that the FIQ source may also be routed to the IRQ controller in an identical bit position.
Bit |
Interrupt Source |
|
|
0 |
FIQ source |
|
|
1 |
Programmed Interrupt |
|
|
2 |
Comms Rx |
|
|
3 |
Comms Tx |
|
|
4 |
Timer 1 |
|
|
5 |
Timer 2 |
|
|
Table 3-1: Interrupt Controller Defined Bits
3-8 |
Reference Peripherals Specification |
|
|
|
ARM DDI 0062D |
|
|
|
|
|
|
Open Access