| |||
| Home > Generic Interrupt Controller > GIC programmers model > Distributor register descriptions | |||
This section only describes registers whose implementation is specific to the Cortex-A15 processor. All other registers are described in the ARM Generic Interrupt Controller Architecture Specification. Table 8.3 provides cross references to individual registers.
The GICD_TYPER characteristics are:
Provides information about the configuration of the GIC. It indicates:
whether the GIC implements the Security Extensions
the maximum number of interrupt IDs that the GIC supports
the maximum number of processor interfaces implemented
if the GIC implements the Security Extensions, the maximum number of implemented Lockable Shared Peripheral Interrupts (LSPIs).
There are no usage constraints.
Available if the GIC is implemented.
See the register summary in Table 8.3.
Figure 8.1 shows the GICD_TYPER bit assignments.
Table 8.4 shows the GICD_TYPER bit assignments.
Table 8.4. GICD_TYPER bit assignments
| Bits | Name | Function |
|---|---|---|
| [31:16] | - | Reserved, RAZ. |
| [15:11] | LSPI | Returns the number of Lockable Shared Peripheral Interrupts (LSPIs) that the GIC contains:
When CFGSDISABLE is HIGH, the GIC prevents writes to any register locations that control the operating state of an LSPI. |
| [10] | SecurityExtn | Indicates whether the GIC implements the Security Extensions. This bit always returns a value of 1, indicating that the Security Extensions are implemented. |
| [9:8] | - | Reserved, RAZ. |
| [7:5] | CPUNumber | Indicates the number of implemented processor interfaces:
All other values are reserved for future expansions. |
| [4:0] | ITLinesNumber | Indicates the number of interrupts that the GIC supports:
All other values are reserved for future expansions. |
[a] The Distributor always uses interrupts of IDs 0 to 31 to control any SGIs and PPIs that the GIC might contain. | ||
The GICD_IIDR characteristics are:
Provides information about the implementer and revision of the Distributor.
There are no usage constraints.
Available if the GIC is implemented.
See the register summary in Table 8.3.
Figure 8.2 shows the GICD_IIDR bit assignments.
Table 8.5 shows the GICD_IIDR bit assignments.
Table 8.5. GICD_IIDR bit assignments
| Bits | Name | Description |
|---|---|---|
| [31:24] | ProductID | Indicates the product ID of the GIC:
|
| [23:20] | - | Reserved, RAZ |
| [19:16] | Variant | Indicates the major revision number of the GIC:
|
| [15:12] | Revision | Indicates the minor revision number of the GIC:
|
| [11:0] | Implementer | Indicates the implementer:
|
The GICD_ICFGR provides a 2-bit field that describes the configuration for each interrupt that the GIC supports.
The options for each bit-pair depend on the interrupt type as follows:
The bits are read-only and a bit-pair always reads as b10 because SGIs are edge-triggered.
The bits are read-only and a bit-pair always reads as b01. Table 8.6 shows that the PPIs are implemented as level-sensitive.
Table 8.6. PPI implementation
| Interrupt | Name | Level-sensitive |
|---|---|---|
| PPI6 | Virtual Maintenance interrupt | active-HIGH |
| PPI5 | Hypervisor timer event | active-LOW |
| PPI4 | Virtual timer event | active-LOW |
| PPI3 | Legacy nIRQ pin | active-LOW |
| PPI2 | Non-secure physical timer event | active-LOW |
| PPI1 | Secure physical timer event | active-LOW |
| PPI0 | Legacy nFIQ pin | active-LOW |
The Least Significant Bit (LSB) of a bit-pair is read-only and is always 1. You can program the Most Significant Bit (MSB) of the bit-pair to alter the triggering sensitivity as follows:
b01Interrupt is active-HIGH level-sensitive.
b11Interrupt is rising edge-sensitive.
The GICD_PPISR characteristics are:
Enables a Cortex-A15 processor to access the status of the PPI inputs on the Distributor.
A processor can only read the status of its own PPI and therefore cannot read the status of the PPI for other processors.
Available if the GIC is implemented.
See the register summary in Table 8.3.
Figure 8.3 shows the GICD_PPISR bit assignments.
Table 8.7 shows the GICD_PPISR bit assignments.
Table 8.7. GICD_PPISR bit assignments
| Bits | Name | Description |
|---|---|---|
| [31:16] | - | Reserved, RAZ |
| [15:9] | PPI status | Returns the status of the PPI [6:0] inputs on the Distributor:
NoteThese bits return the actual status of the PPI[6:0] signals. The GICD_ISPENDRn and GICD_ICPENDRn can also provide the PPI[6:0] status but because you can write to these registers, they might not contain the true status of the PPI[6:0] signals. |
| [8:0] | - | Reserved, RAZ |
The GICD_SPISR characteristics are:
Enables a Cortex-A15 processor to access the status of the IRQS[223:0] inputs on the Distributor.
There are no usage constraints.
Available if the GIC is implemented.
See the register summary in Table 8.3.
Figure 8.4 shows the GICD_SPISR bit assignments.
Table 8.8 shows the GICD_SPISR bit assignments.
Table 8.8. GICD_SPISR bit assignments
| Bits | Name | Function |
|---|---|---|
| [31:0] | IRQS[N+31:N] | Returns the status of the IRQS[223:0] inputs on the Distributor. For each bit:
Note
|
Figure 8.5 shows the address map that the Distributor provides for the SPIs.
The Distributor provides up to seven registers to support 224 SPIs. If you configure the GIC to use fewer than 224 SPIs, it reduces the number of registers accordingly. For locations where interrupts are not implemented, the bit is RAZ/WI.