ZHCSBT2G November 2012 – October 2017 66AK2H06 , 66AK2H12 , 66AK2H14
PRODUCTION DATA.
The device supports several boot processes, which leverage the internal boot ROM. Most boot processes are software-driven, using the BOOTMODE[15:0] device configuration inputs to determine the software configuration that must be completed. From a hardware perspective, there are four possible boot modes:
After the Boot ROM for the Cortex-A15 processor reads the BOOTMODE to determine that the C66x CorePac is the boot master, all Cortex-A15 processors stay idle by executing WFI instruction and waiting for the C66x CorePac’s interrupt. The chip Boot ROM reads the BOOTMODE register to determine that the C66x CorePac0 is the boot master, then the C66x CorePac0 performs the boot process and the other C66x CorePacs execute an IDLE instruction. After the boot process is completed, the C66x CorePac0 begins to execute the code downloaded during the boot process. If the downloaded code included code for the other C66x cores and/or the Cortex-A15 processor cores, the downloaded code may contain logic to write the code execution addresses to the boot address register for the core that is to execute it. The C66x CorePac0 can then generate an interrupt to the core causing it to execute the code. When they receive the IPC interrupt, the rest of the C66x CorePacs and the ARM CorePac complete boot management operations and begin executing from the predefined location in memory.
The boot process performed by the C66x CorePac0 and the ARM CorePac Core0 in public ROM boot and secure ROM boot are determined by the BOOTMODE[15:0] value in the DEVSTAT register. The C66x CorePac0 and the ARM CorePac Core0 read this value, and then execute the associated boot process in software. Bit 8 determines whether the boot is C66x CorePac boot or ARM CorePac boot. The figure below shows the bits associated with BOOTMODE[15:0] (DEVSTAT[16:1]) when the C66x CorePac or ARM CorePac is the boot master. Figure 10-1 does not include bit 0 of the DEVSTAT contents. Bit 0 is used to select overall system endianess that is independent of the boot mode.
The boot ROM will continue attempting to boot in this mode until successful or an unrecoverable error occurs.
The PLL settings are shown at the end of this section, and the PLL set-up details can be found in Section 11.5.
NOTE
It is important to remember that the BOOTMODE[15:0] pins map to the DEVSTAT[16:1] bits of the DEVSTAT register.
DEVSTAT Boot Mode Pins ROM Mapping | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | Mode |
X | X | 0 | ARMEN | SYSEN | ARM PLL CONFIG | Boot Master | SYS PLL CONFIG | Min | 0 | 0 | 0 | SLEEP | ||||
SlaveAddr | 1 | Port | 0 | 0 | 0 | I2C SLAVE | ||||||||||
X | X | X | Bus Addr | Param ldx | X | Port | 0 | 0 | 1 | I2C MASTER | ||||||
Width | Csel | Mode | Npin | 0 | 1 | 0 | SPI | |||||||||
0 | Base Addr | Wait | Width | ARM PLL CONFIG | SYS PLL CONFIG | 0 | 0 | 1 | 1 | EMIF (ARM Master) | ||||||
X | Chip Sel | EMIF (DSP Master) | ||||||||||||||
1 | First Block | Clear | ARM PLL CONFIG | Min | NAND (ARM Master) | |||||||||||
X | Chip Sel | NAND (DSP Master) | ||||||||||||||
Lane | Ref Clock | Data Rate | ARM PLL CONFIG | 1 | 0 | 0 | SRIO (ARM Master) | |||||||||
X | Lane Setup | SRIO (DSP Master) | ||||||||||||||
PA clk | Ref clk | Ext Con | ARM PLL CONFIG | 1 | 0 | 1 | Ethernet (ARM Master) | |||||||||
Rsvd | Lane Setup | Ethernet (DSP Master) | ||||||||||||||
Ref clk | Bar Config | ARM PLL CONFIG | 0 | 1 | 1 | 0 | PCIe (ARM Master) | |||||||||
SerDes Cfg | PCIe (DSP Master) | |||||||||||||||
Port | Ref clk | Data Rate | ARM PLL CONFIG | 1 | 1 | 1 | 0 | HyperLink (ARM Master) | ||||||||
SerDes Cfg | HyperLink (DSP Master) | |||||||||||||||
X | X | X | X | Port | ARM PLL CONFIG | Min | 1 | 1 | 1 | UART (ARM Master) | ||||||
X | X | X | X | X | X | X | UART (DSP Master) |