Dual Cluster System Configuration Block
The Dual Cluster System Configuration Block (DCSCB) provides basic functionality for controlling clocks, resets, and configuration pins in the dual cluster system.
It is not intended to provide the complete trick-box functionality that is found in a typical top-level simulation test-bench. Instead, its main use is to form the programming interface for the clock, power, and reset controllers so that software can implement the big.LITTLE switching. The following table shows the DCSCB registers, that this section describes. The DCSCB occupies a 4kB region of memory in the range 10020000-10020FFF, and any accesses to undefined areas of this address space result in an error response. The registers are divided into the following categories:
- The system control registers are identical across all platform implementations of the dual cluster system. They control system-level functions such as the resets of individual cores and clusters.
- The platform control registers provide a common model for controlling and reading platform-level configuration options for the dual cluster system implementation. Some platform implementations might support only a subset of these registers. The definitions and address offsets of these registers are based on the Versatile Express daughter-card configuration controller command codes.
- All registers are word-sized and only support word-sized transactions.
- Reads from write-only registers or fields return zero.
- Some registers do not implement all 32 bits. See the Width column of the following table.
- Unimplemented bits are RAZ/WI.
The following table shows the DCSCB System Control Registers.
|RST_HOLD0||000||RW||9||00000000 or 000001001||Holds the selected resets in the Cortex-A15 cluster.|
|RST_HOLD1||004||RW||9||00000000 or 000001001||Holds the selected resets in the Cortex-A7 cluster.|
|SYS_SWRESET||008||WO||24||00000000 or 000001001||Asserts a software reset of the system.|
|RST_STAT0||00C||RO||9||00000000 or 000001001||Determines the Cortex-A15 processor resets that are asserted.|
|RST_STAT1||010||RO||9||00000000 or 000001001||Determines the Cortex-A7 processor resets that are asserted.|
|CLUSTER0_CFG_R||020||RO||20||-||Current configuration of the static configuration input pins of the Cortex-A15 processor.|
|CLUSTER0_CFG_W||024||RW||20||00000000||Configuration of the static configuration input pins of the Cortex-A15 processor at the next reset.|
|CLUSTER1_CFG_R||028||RO||20||-||Current configuration of the static configuration input pins of the Cortex-A7 processor.|
|CLUSTER1_CFG_W||02C||RW||20||00010000||Configuration of the static configuration input pins of the Cortex-A7 processor at the next reset.|
|DCS_CFG_R||030||RO||2||-||Reads the power-on configuration of system-level configuration pins.|
The following table shows the DCSCB Platform Control Registers.
|DCS_LEDS||104||RW||8||00000000||Controls platform LEDS or other platform-specific indication methods.|
|DCS_SW||108||RO||8||00000000||Reads the value of platform switches or other platform-specific configuration methods.|
The following table shows the DCSCB Interrupt Generator Registers.1
|INT_CTRL||120||RW||2||00000000||Controls generation of interrupts from the interrupt generation trickbox.|
|INT_FREQ||124||RW||10||00000000||Controls the frequency of timer-generated interrupts.|
|INT_TYPE0||130||RW||32||00000000||Configures the interrupt generator to use level or edge-triggered interrupts for each interrupt line.|
|INT_TYPE1||134||RW||32||00000000||Configures the interrupt generator to use level or edge-triggered interrupts for each interrupt line. If the interrupt generator implements fewer than the maximum 128 interrupts, higher order registers corresponding to unimplemented interrupts are RAZ/WI.|
|INT_GENERATE||140||WO||1||-||Generates the next interrupt.|
|INT_NUMBER||144||RO||8||00000000||Number of the next interrupt.|
|INT_ACK||148||WO||1||-||Acknowledges all the generated interrupts.|
|INT_SEQ0 – INT_SEQ127||200-3FC||RW||7||00000000||Sequence number for all generated interrupts.|
The following table shows the DCSCB ID Registers.
|DCS_AID||FF8||RO||32||-||Dual Cluster System auxiliary platform ID register.|
|DCS_ID||FFC||RO||32||-||Dual Cluster System platform ID register.|
The following table shows the DCSCB Debug Control Registers.
|DBG_RST_CTRL||520||RW||32||00000000||Debugger reset control register that defines the resets to assert. This register is intended for debug access only. Although software running on the system can currently access it, this might change in the future.|
|DBG_RST_SCHED||018||RW||9||00000100||Debugger reset schedule register to control when to assert resets. This register is intended for debug access only. Although software running on the system can currently access it, this might change in the future.|