SPRS866G November 2012 – October 2017 66AK2H06 , 66AK2H12 , 66AK2H14
PRODUCTION DATA.
Refer to the PDF data sheet for device specific package drawings
This chapter covers the various peripherals on the 66AK2Hxx device. Peripheral-specific information, timing diagrams, electrical specifications, and register memory maps are described in this chapter.
All clocks and control signals must transition between VIH and VIL (or between VIL and VIH) in a monotonic manner.
The following sections describe the proper power-supply sequencing and timing needed to properly power on the 66AK2Hxx. The various power supply rails and their primary functions are listed in Table 11-1.
This section defines the requirements for a power-up sequencing from a power-on reset condition. There are two acceptable power sequences for the device.
The first sequence stipulates the core voltages starting before the IO voltages as shown below.
The second sequence provides compatibility with other TI processors with the IO voltage starting before the core voltages as shown below.
The clock input buffers for SYSCLK, ARMCLK, ALTCORECLK, DDR3ACLK, DDR3BCLK, PASSCLK, and SRIOSGMIICLK use CVDD as a supply voltage. These clock inputs are not failsafe and must be held in a high-impedance state until CVDD is at a valid voltage level. Driving these clock inputs high before CVDD is valid could cause damage to the device. Once CVDD is valid, it is acceptable that the P and N legs of these clocks may be held in a static state (either high and low or low and high) until a valid clock frequency is needed at that input. To avoid internal oscillation, the clock inputs should be removed from the high impedance state shortly after CVDD is present.
If a clock input is not used, it must be held in a static state. To accomplish this, the N leg should be pulled to ground through a 1-kΩ resistor. The P leg should be tied to CVDD to ensure it will not have any voltage present until CVDD is active. Connections to the IO cells powered by DVDD18 and DVDD15 are not failsafe and should not be driven high before these voltages are active. Driving these IO cells high before DVDD18 or DVDD15 are valid could cause damage to the device.
The device initialization is divided into two phases. The first phase consists of the time period from the activation of the first power supply until the point at which all supplies are active and at a valid voltage level. Either of the sequencing scenarios described above can be implemented during this phase. The figures below show both the core-before-IO voltage sequence and the IO-before-core voltage sequence. POR must be held low for the entire power stabilization phase.
This is followed by the device initialization phase. The rising edge of POR followed by the rising edge of RESETFULL triggers the end of the initialization phase, but both must be inactive for the initialization to complete. POR must always go inactive before RESETFULL goes inactive as described below. SYSCLK1 in the following section refers to the clock that is used by the CorePacs. See Figure 11-7 for more details.
The details of the Core-before-IO power sequencing are defined in Table 11-2. Figure 11-1 shows power sequencing and reset control of the 66AK2Hxx. POR may be removed after the power has been stable for the required 100 µsec. RESETFULL must be held low for a period (see item 9 in Figure 11-1) after the rising edge of POR, but may be held low for longer periods if necessary. The configuration bits shared with the GPIO pins will be latched on the rising edge of RESETFULL and must meet the setup and hold times specified. SYSCLK1 must always be active before POR can be removed.
NOTE
TI recommends a maximum of 80 ms between one power rail being valid and the next power rail in the sequence starting to ramp.
ITEM | SYSTEM STATE |
---|---|
1 | Begin Power Stabilization Phase
|
2a |
|
2b |
|
2c |
|
2d |
|
3 |
|
3a |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
The timing diagram for IO-before-core power sequencing is shown in Figure 11-2 and defined in Table 11-3.
NOTE
TI recommends a maximum of 100 ms between one power rail being valid, and the next power rail in the sequence starting to ramp.
ITEM | SYSTEM STATE |
---|---|
1 | Begin Power Stabilization Phase
|
2 |
|
2a |
|
3 |
|
3a |
|
3b |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
Holding the device in POR, RESETFULL, or RESET for long periods of time may affect the long-term reliability of the part (due to an elevated voltage condition that can stress the part). The device should not be held in a reset for times exceeding one hour at a time and no more than 5% of the total lifetime for which the device is powered-up. Exceeding these limits will cause a gradual reduction in the reliability of the part. This can be avoided by allowing the device to boot and then configuring it to enter a hibernation state soon after power is applied. This will satisfy the reset requirement while limiting the power consumption of the device.
Some of the clock inputs are required to be present for the device to initialize correctly, but behavior of many of the clocks is contingent on the state of the boot configuration pins. Table 11-4 describes the clock sequencing and the conditions that affect clock operation. All clock drivers should be in a high-impedance state until CVDD is at a valid level and that all clock inputs be either active or in a static state with one leg pulled to ground and the other connected to CVDD.
CLOCK | CONDITION | SEQUENCING |
---|---|---|
DDR3ACLK | None | Must be present 16 µsec before POR transitions high. |
DDR3BCLK | None | Must be present 16 µsec before POR transitions high. |
SYSCLK | CORECLKSEL = 0 | SYSCLK is used to clock the core PLL. It must be present 16 µsec before POR transitions high. |
CORECLKSEL = 1 | Reserved. | |
ALTCORECLK | CORECLKSEL = 0 | ALTCORECLK is not used and should be tied to a static state. |
CORECLKSEL = 1 | ALTCORECLK is used to clock the core PLL. It must be present 16 µsec before POR transitions high. | |
PASSCLK | PASSCLKSEL = 0 | PASSCLK is not used and should be tied to a static state. |
PASSCLKSEL = 1 | PASSCLK is used as a source for the PASS PLL. It must be present before the PASS PLL is removed from reset and programmed. | |
SRIOSGMIICLK | An SGMII port will be used. | SRIOSGMIICLK must be present 16 µsec before POR transitions high. |
SGMII will not be used. SRIO will be used as a boot device. | SRIOSGMIICLK must be present 16 µsec before POR transitions high. | |
SGMII will not be used. SRIO will be used after boot. | SRIOSGMIICLK is used as a source to the SRIO SerDes PLL. It must be present before the SRIO is removed from reset and programmed. | |
SGMII will not be used. SRIO will not be used. | SRIOSGMIICLK is not used and should be tied to a static state. | |
PCIECLK | PCIE will be used as a boot device. | PCIECLK must be present 16 µsec before POR transitions high. |
PCIE will be used after boot. | PCIECLK is used as a source to the PCIE SerDes PLL. It must be present before the PCIe is removed from reset and programmed. | |
PCIE will not be used. | PCIECLK is not used and should be tied to a static state. | |
HYPCLK | HyperLink will be used as a boot device. | HYPCLK must be present 16 µsec before POR transitions high. |
HyperLink will be used after boot. | HYPCLK is used as a source to the HyperLink SerDes PLL. It must be present before the HyperLink is removed from reset and programmed. | |
HyperLink will not be used. | HYPCLK is not used and should be tied to a static state. |
The power-down sequence is the exact reverse of the power-up sequence described above. The goal is to prevent an excessive amount of static current and to prevent overstress of the device. A power-good circuit that monitors all the supplies for the device should be used in all designs. If a catastrophic power supply failure occurs on any voltage rail, POR should transition to low to prevent over-current conditions that could possibly impact device reliability.
A system power monitoring solution is needed to shut down power to the board if a power supply fails. Long-term exposure to an environment in which one of the power supply voltages is no longer present will affect the reliability of the device. Holding the device in reset is not an acceptable solution because prolonged periods of time with an active reset can affect long term reliability.
To properly decouple the supply planes on the PCB from system noise, decoupling and bulk capacitors are required. Bulk capacitors are used to minimize the effects of low-frequency current transients and decoupling or bypass capacitors are used to minimize higher frequency noise. For recommendations on selection of power supply decoupling and bulk capacitors see Hardware Design Guide for KeyStone II Devices.
Increasing the device complexity increases its power consumption. With higher clock rates and increased performance comes an inevitable penalty: increasing leakage currents. Leakage currents are present in any powered circuit, independent of clock rates and usage scenarios. This static power consumption is mainly determined by transistor type and process technology. Higher clock rates also increase dynamic power, which is the power used when transistors switch. The dynamic power depends mainly on a specific usage scenario, clock rates, and I/O activity.
Texas Instruments SmartReflex technology is used to decrease both static and dynamic power consumption while maintaining the device performance. SmartReflex in the 66AK2Hxx device is a feature that allows the core voltage to be optimized based on the process corner of the device. This requires a voltage regulator for each 66AK2Hxx device.
To help maximize performance and minimize power consumption of the device, SmartReflex is required to be implemented. The voltage selection can be accomplished using 4 VCNTL pins or 6 VCNTL pins (depending on power supply device being used), which are used to select the output voltage of the core voltage regulator.
For information on implementation of SmartReflex, see Power Consumption Summary for KeyStone TCI66x Devices and Hardware Design Guide for KeyStone II Devices.
SmartReflex switching characteristics are shown in Table 11-5.
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
1 | td(VCNTL[4:2]-VCNTL[5]) | Delay time – VCNTL[4:2] valid after VCNTL[5] low | 300.00 | ns | |
2 | toh(VCNTL[5]-VCNTL[4:2]) | Output hold time – VCNTL[4:2] valid after VCNTL[5] | 0.07 | 172020C(1) | ms |
3 | td(VCNTL[4:2]-VCNTL[5]) | Delay time – VCNTL[4:2] valid after VCNTL[5] high | 300.00 | ns | |
4 | toh(VCNTL[5]-VCNTL[2:0) | Output hold time – VCNTL[4:2] valid after VCNTL[5] high | 0.07 | 172020C | ms |
The Power Sleep Controller (PSC) includes a Global Power Sleep Controller (GPSC) and a number of Local Power Sleep Controllers (LPSC) that control overall device power by turning off unused power domains and gating off clocks to individual peripherals and modules. The PSC provides the user with an interface to control several important power and clock operations.
For information on the Power Sleep Controller, see the KeyStone Architecture Power Sleep Controller (PSC) User's Guide.
The device has several power domains that can be turned on for operation or off to minimize power dissipation. The Global Power Sleep Controller (GPSC) is used to control the power gating of various power domains.
Table 11-6 shows the 66AK2Hxx power domains.
DOMAIN | BLOCK(S) | NOTE | POWER CONNECTION |
---|---|---|---|
0 | Most peripheral logic (BOOTCFG, EMIF16, I2C, INTC, GPIO, USB) | Cannot be disabled | Always on |
1 | Per-core TETB and system TETB | RAMs can be powered down | Software control |
2 | Network Coprocessor | Logic can be powered down | Software control |
3 | PCIe | Logic can be powered down | Software control |
4 | SRIO | Logic can be powered down | Software control |
5 | HyperLink0 | Logic can be powered down | Software control |
6 | Reserved | ||
7 | MSMC RAM | MSMC RAM can be powered down | Software control |
8 | C66x Core 0, L1/L2 RAMs | L2 RAMs can sleep | Software control via C66x CorePac. For details, see the TMS320C66x DSP CorePac User's Guide. |
9 | C66x Core 1, L1/L2 RAMs | L2 RAMs can sleep | |
10 | C66x Core 2, L1/L2 RAMs | L2 RAMs can sleep | |
11 | C66x Core 3, L1/L2 RAMs | L2 RAMs can sleep | |
12 | C66x Core 4, L1/L2 RAMs (66AK2H12/14 only) | L2 RAMs can sleep | |
13 | C66x Core 5, L1/L2 RAMs (66AK2H12/14 only) | L2 RAMs can sleep | |
14 | C66x Core 6, L1/L2 RAMs (66AK2H12/14 only) | L2 RAMs can sleep | |
15 | C66x Core 7, L1/L2 RAMs (66AK2H12/14 only) | L2 RAMs can sleep | |
16 | EMIF(DDR3A, DDR3B) | Logic can be powered down | Software control |
17 | Reserved | ||
18 | Reserved | ||
19 | Reserved | ||
20 | Reserved | ||
21 | Reserved | ||
22 | Reserved | ||
23 | Reserved | ||
24 | Reserved | ||
25 | Reserved | ||
26 | Reserved | ||
27 | Reserved | ||
28 | HyperLink1 | Logic can be powered down | Software control |
29 | 10GbE (66AK2H14 only) | Logic can be powered down | Software control |
30 | ARM Smart Reflex | Logic can be powered down | Software control |
31 | ARM CorePac | Logic can be powered down | Software control |
Clock gating to each logic block is managed by the Local Power Sleep Controllers (LPSCs) of each module. For modules with a dedicated clock or multiple clocks, the LPSC communicates with the PLL controller to enable and disable the clocks of that module at the source. For modules that share a clock with other modules, the LPSC controls the clock gating logic for each module.
Table 11-7 shows the 66AK2Hxx clock domains.
LPSC NUMBER | MODULE(S) | NOTES |
---|---|---|
0 | Shared LPSC for all peripherals other than those listed in this table | Always on |
1 | Reserved | |
2 | USB | Software control |
3 | EMIF16 and SPI | Software control |
4 | Reserved | |
5 | Debug subsystem and tracers | Software control |
6 | Reserved | Always on |
7 | Packet Accelerator | Software control |
8 | Ethernet SGMIIs | Software control |
9 | Security Accelerator | Software control |
10 | PCIe | Software control |
11 | SRIO | Software control |
12 | HyperLink0 | Software control |
13 | SmartReflex | Always on |
14 | MSMC RAM | Software control |
15 | C66x CorePac0 | Always on |
16 | C66x CorePac1 | Software control |
17 | C66x CorePac2 | Software control |
18 | C66x CorePac3 | Software control |
19 | C66x CorePac4 (66AK2H12/14 only) | Software control |
20 | C66x CorePac5 (66AK2H12/14 only) | Software control |
21 | C66x CorePac6 (66AK2H12/14 only) | Software control |
22 | C66x CorePac7 (66AK2H12/14 only) | Software control |
23 | DDR3A EMIF | Software control |
24 | DDR3B EMIF | Software control |
25 | Reserved | |
26 | Reserved | |
27 | Reserved | |
28 | Reserved | |
29 | Reserved | |
30 | Reserved | |
31 | Reserved | |
32 | Reserved | |
33 | Reserved | |
34 | Reserved | |
35 | Reserved | |
36 | Reserved | |
37 | Reserved | |
38 | Reserved | |
39 | Reserved | |
40 | Reserved | |
41 | Reserved | |
42 | Reserved | |
43 | Reserved | |
44 | Reserved | |
45 | Reserved | |
46 | Reserved | |
47 | Reserved | |
48 | Reserved | |
49 | Hyperlink1 | Software control |
50 | 10GbE (66AK2H14 only) | Software control |
51 | ARM Smart Reflex | Software control |
52 | ARM CorePac | Software control |
No LPSC | Bootcfg, PSC, and PLL Controller | These modules do not use LPSC |
Table 11-8 shows the PSC Register memory map.
OFFSET | REGISTER | DESCRIPTION |
---|---|---|
0x000 | PID | Peripheral Identification Register |
0x004 – 0x010 | Reserved | Reserved |
0x014 | VCNTLID | Voltage Control Identification Register |
0x018 – 0x11C | Reserved | Reserved |
0x120 | PTCMD | Power Domain Transition Command Register |
0x124 | Reserved | Reserved |
0x128 | PTSTAT | Power Domain Transition Status Register |
0x12C – 0x1FC | Reserved | Reserved |
0x200 | PDSTAT0 | Power Domain Status Register 0 |
0x204 | PDSTAT1 | Power Domain Status Register 1 |
0x208 | PDSTAT2 | Power Domain Status Register 2 |
0x20C | PDSTAT3 | Power Domain Status Register 3 |
0x210 | PDSTAT4 | Power Domain Status Register 4 |
0x214 | PDSTAT5 | Power Domain Status Register 5 |
0x218 | PDSTAT6 | Power Domain Status Register 6 |
0x21C | PDSTAT7 | Power Domain Status Register 7 |
0x220 | PDSTAT8 | Power Domain Status Register 8 |
0x224 | PDSTAT9 | Power Domain Status Register 9 |
0x228 | PDSTAT10 | Power Domain Status Register 10 |
0x22C | PDSTAT11 | Power Domain Status Register 11 |
0x230 | PDSTAT12 | Power Domain Status Register 12 |
0x234 | PDSTAT13 | Power Domain Status Register 13 |
0x238 | PDSTAT14 | Power Domain Status Register 14 |
0x23C | PDSTAT15 | Power Domain Status Register 15 |
0x240 | PDSTAT16 | Power Domain Status Register 16 |
0x244 | PDSTAT17 | Power Domain Status Register 17 |
0x248 | PDSTAT18 | Power Domain Status Register 18 |
0x24C | PDSTAT19 | Power Domain Status Register 19 |
0x250 | PDSTAT20 | Power Domain Status Register 20 |
0x254 | PDSTAT21 | Power Domain Status Register 21 |
0x258 | PDSTAT22 | Power Domain Status Register 22 |
0x25C | PDSTAT23 | Power Domain Status Register 23 |
0x260 | PDSTAT24 | Power Domain Status Register 24 |
0x264 | PDSTAT25 | Power Domain Status Register 25 |
0x268 | PDSTAT26 | Power Domain Status Register 26 |
0x26C | PDSTAT27 | Power Domain Status Register 27 |
0x270 | PDSTAT28 | Power Domain Status Register 28 |
0x274 | PDSTAT29 | Power Domain Status Register 29 |
0x278 | PDSTAT30 | Power Domain Status Register 30 |
0x27C | PDSTAT31 | Power Domain Status Register 31 |
0x27C – 0x2FC | Reserved | Reserved |
0x300 | PDCTL0 | Power Domain Control Register 0 |
0x304 | PDCTL1 | Power Domain Control Register 1 |
0x308 | PDCTL2 | Power Domain Control Register 2 |
0x30C | PDCTL3 | Power Domain Control Register 3 |
0x310 | PDCTL4 | Power Domain Control Register 4 |
0x314 | PDCTL5 | Power Domain Control Register 5 |
0x318 | PDCTL6 | Power Domain Control Register 6 |
0x31C | PDCTL7 | Power Domain Control Register 7 |
0x320 | PDCTL8 | Power Domain Control Register 8 |
0x324 | PDCTL9 | Power Domain Control Register 9 |
0x328 | PDCTL10 | Power Domain Control Register 10 |
0x32C | PDCTL11 | Power Domain Control Register 11 |
0x330 | PDCTL12 | Power Domain Control Register 12 |
0x334 | PDCTL13 | Power Domain Control Register 13 |
0x338 | PDCTL14 | Power Domain Control Register 14 |
0x33C | PDCTL15 | Power Domain Control Register 15 |
0x340 | PDCTL16 | Power Domain Control Register 16 |
0x344 | PDCTL17 | Power Domain Control Register 17 |
0x348 | PDCTL18 | Power Domain Control Register 18 |
0x34C | PDCTL19 | Power Domain Control Register 19 |
0x350 | PDCTL20 | Power Domain Control Register 20 |
0x354 | PDCTL21 | Power Domain Control Register 21 |
0x358 | PDCTL22 | Power Domain Control Register 22 |
0x35c | PDCTL23 | Power Domain Control Register 23 |
0x360 | PDCTL24 | Power Domain Control Register 24 |
0x364 | PDCTL25 | Power Domain Control Register 25 |
0x368 | PDCTL26 | Power Domain Control Register 26 |
0x36C | PDCTL27 | Power Domain Control Register 27 |
0x370 | PDCTL28 | Power Domain Control Register 28 |
0x374 | PDCTL29 | Power Domain Control Register 29 |
0x378 | PDCTL30 | Power Domain Control Register 30 |
0x37C | PDCTL31 | Power Domain Control Register 31 |
0x380 – 0x7FC | Reserved | Reserved |
0x800 | MDSTAT0 | Module Status Register 0 (never gated) |
0x804 | MDSTAT1 | Module Status Register 1 |
0x808 | MDSTAT2 | Module Status Register 2 |
0x80C | MDSTAT3 | Module Status Register 3 |
0x810 | MDSTAT4 | Module Status Register 4 |
0x814 | MDSTAT5 | Module Status Register 5 |
0x818 | MDSTAT6 | Module Status Register 6 |
0x81C | MDSTAT7 | Module Status Register 7 |
0x820 | MDSTAT8 | Module Status Register 8 |
0x824 | MDSTAT9 | Module Status Register 9 |
0x828 | MDSTAT10 | Module Status Register 10 |
0x82C | MDSTAT11 | Module Status Register 11 |
0x830 | MDSTAT12 | Module Status Register 12 |
0x834 | MDSTAT13 | Module Status Register 13 |
0x838 | MDSTAT14 | Module Status Register 14 |
0x83C | MDSTAT15 | Module Status Register 15 |
0x840 | MDSTAT16 | Module Status Register 16 |
0x844 | MDSTAT17 | Module Status Register 17 |
0x848 | MDSTAT18 | Module Status Register 18 |
0x84C | MDSTAT19 | Module Status Register 19 |
0x850 | MDSTAT20 | Module Status Register 20 |
0x854 | MDSTAT21 | Module Status Register 21 |
0x858 | MDSTAT22 | Module Status Register 22 |
0x85C | MDSTAT23 | Module Status Register 23 |
0x860 | MDSTAT24 | Module Status Register 24 |
0x864 | MDSTAT25 | Module Status Register 25 |
0x868 | MDSTAT26 | Module Status Register 26 |
0x86C | MDSTAT27 | Module Status Register 27 |
0x870 | MDSTAT28 | Module Status Register 28 |
0x874 | MDSTAT29 | Module Status Register 29 |
0x878 | MDSTAT30 | Module Status Register 30 |
0x87C | MDSTAT31 | Module Status Register31 |
0x880 | MDSTAT32 | Module Status Register 32 |
0x884 | MDSTAT33 | Module Status Register 33 |
0x888 | MDSTAT34 | Module Status Register 34 |
0x88C | MDSTAT35 | Module Status Register 35 |
0x890 | MDSTAT36 | Module Status Register 36 |
0x894 | MDSTAT37 | Module Status Register 37 |
0x898 | MDSTAT38 | Module Status Register 38 |
0x89C | MDSTAT39 | Module Status Register 39 |
0x8A0 | MDSTAT40 | Module Status Register 40 |
0x8A4 | MDSTAT41 | Module Status Register 41 |
0x8A8 | MDSTAT42 | Module Status Register 42 |
0x8AC | MDSTAT43 | Module Status Register 43 |
0x8B0 | MDSTAT44 | Module Status Register 44 |
0x8B4 | MDSTAT45 | Module Status Register 45 |
0x8B8 | MDSTAT46 | Module Status Register 46 |
0x8BC | MDSTAT47 | Module Status Register 47 |
0x8C0 | MDSTAT48 | Module Status Register 48 |
0x8C4 | MDSTAT49 | Module Status Register 49 |
0x8C8 | MDSTAT50 | Module Status Register 50 |
0x8CC | MDSTAT51 | Module Status Register 51 |
0x8D0 | MDSTAT52 | Module Status Register 52 |
0x8D4 – 0x9FC | Reserved | Reserved |
0xA00 | MDCTL0 | Module Control Register 0 (never gated) |
0xA04 | MDCTL1 | Module Control Register 1 |
0xA08 | MDCTL2 | Module Control Register 2 |
0xA0C | MDCTL3 | Module Control Register 3 |
0xA10 | MDCTL4 | Module Control Register 4 |
0xA14 | MDCTL5 | Module Control Register 5 |
0xA18 | MDCTL6 | Module Control Register 6 |
0xA1C | MDCTL7 | Module Control Register 7 |
0xA20 | MDCTL8 | Module Control Register 8 |
0xA24 | MDCTL9 | Module Control Register 9 |
0xA28 | MDCTL10 | Module Control Register 10 |
0xA2C | MDCTL11 | Module Control Register 11 |
0xA30 | MDCTL12 | Module Control Register 12 |
0xA34 | MDCTL13 | Module Control Register 13 |
0xA38 | MDCTL14 | Module Control Register 14 |
0xA3C | MDCTL15 | Module Control Register 15 |
0xA40 | MDCTL16 | Module Control Register 16 |
0xA44 | MDCTL17 | Module Control Register 17 |
0xA48 | MDCTL18 | Module Control Register 18 |
0xA4C | MDCTL19 | Module Control Register 19 |
0xA50 | MDCTL20 | Module Control Register 20 |
0xA54 | MDCTL21 | Module Control Register 21 |
0xA58 | MDCTL22 | Module Control Register 22 |
0xA5C | MDCTL23 | Module Control Register 23 |
0xA60 | MDCTL24 | Module Control Register 24 |
0xA64 | MDCTL25 | Module Control Register 25 |
0xA68 | MDCTL26 | Module Control Register 26 |
0xA6C | MDCTL27 | Module Control Register 27 |
0xA70 | MDCTL28 | Module Control Register 28 |
0xA74 | MDCTL29 | Module Control Register 29 |
0xA78 | MDCTL30 | Module Control Register 30 |
0xA7C | MDCTL31 | Module Control Register31 |
0xA80 | MDCTL32 | Module Control Register 32 |
0xA84 | MDCTL33 | Module Control Register 33 |
0xA88 | MDCTL34 | Module Control Register 34 |
0xA8C | MDCTL35 | Module Control Register 35 |
0xA90 | MDCTL36 | Module Control Register 36 |
0xA94 | MDCTL37 | Module Control Register 37 |
0xA98 | MDCTL38 | Module Control Register 38 |
0xA9C | MDCTL39 | Module Control Register 39 |
0xAA0 | MDCTL40 | Module Control Register 40 |
0xAA4 | MDCTL41 | Module Control Register 41 |
0xAA8 | MDCTL42 | Module Control Register 42 |
0xAAC | MDCTL43 | Module Control Register 43 |
0xAB0 | MDCTL44 | Module Control Register 44 |
0xAB4 | MDCTL45 | Module Control Register 45 |
0xAB8 | MDCTL46 | Module Control Register 46 |
0xABC | MDCTL47 | Module Control Register 47 |
0xAC0 | MDCTL48 | Module Control Register 48 |
0xAC4 | MDCTL49 | Module Control Register 49 |
0xAC8 | MDCTL50 | Module Control Register 50 |
0xACC | MDCTL51 | Module Control Register 51 |
0xAD0 | MDCTL52 | Module Control Register 52 |
0xAD4 – 0xFFC | Reserved | Reserved |
The reset controller detects the different type of resets supported on the 66AK2Hxx device and manages the distribution of those resets throughout the device. The device has the following types of resets:
Table 11-9 explains further the types of reset, the reset initiator, and the effects of each reset on the device. For more information on the effects of each reset on the PLL controllers and their clocks, see Section 11.4.8.
TYPE | INITIATOR | EFFECT(S) |
---|---|---|
Power-on reset | POR pin | Resets the entire chip including the test and emulation logic. The device configuration pins are latched only during power-on reset. |
RESETFULL pin | ||
Hard reset | RESET pin | Hard reset resets everything except for test, emulation logic, and reset isolation modules. This reset is different from power-on reset in that the PLL Controller assumes power and clocks are stable when a hard reset is asserted. The device configurations pins are not relatched. Emulation-initiated reset is always a hard reset. By default, these initiators are configured as hard reset, but can be configured (except emulation) as a soft reset in the RSCFG Register of the PLL Controller. Contents of the DDR3 SDRAM memory can be retained during a hard reset if the SDRAM is placed in self-refresh mode. |
PLLCTL Register (RSCTRL)(1) | ||
Watchdog timers | ||
Emulation | ||
Soft reset | RESET pin | Soft reset behaves like hard reset except that PCIe MMRs (memory-mapped registers) and DDR3 EMIF MMRs contents are retained. By default, these initiators are configured as hard reset, but can be configured as soft reset in the RSCFG Register of the PLL Controller. Contents of the DDR3 SDRAM memory can be retained during a soft reset if the SDRAM is placed in self-refresh mode. |
PLLCTL Register (RSCTRL) | ||
Watchdog timers | ||
Local reset | LRESET pin | Resets the C66x CorePac, without disturbing clock alignment or memory contents. The device configuration pins are not relatched. |
Watchdog timer time-out | ||
LPSC MMRs |
Power-on reset is used to reset the entire device, including the test and emulation logic.
Power-on reset is initiated by the following:
During power-up, the POR pin must be asserted (driven low) until the power supplies have reached their normal operating conditions. Also a RESETFULL pin is provided to allow reset of the entire device, including the reset-isolated logic, when the device is already powered up. For this reason, the RESETFULL pin, unlike POR, should be driven by the onboard host control other than the power good circuitry. For power-on reset, the Core PLL Controller comes up in bypass mode and the PLL is not enabled. Other resets do not affect the state of the PLL or the dividers in the PLL Controller.
The following sequence must be followed during a power-on reset:
NOTE
To most of the device, reset is deasserted only when the POR and RESET pins are both deasserted (driven high). Therefore, in the sequence described above, if the RESET pin is held low past the low period of the POR pin, most of the device will remain in reset. The RESET pin should not be tied to the POR pin.
A hard reset will reset everything on the device except the PLLs, test logic, emulation logic, and reset-isolated modules. POR should also remain deasserted during this time.
Hard reset is initiated by the following:
By default, all the initiators listed above are configured to generate a hard reset. Except for emulation, all of the other three initiators can be configured in the RSCFG Register in the PLL Controller to generate soft resets.
The following sequence must be followed during a hard reset:
NOTE
The POR pin should be held inactive (high) throughout the warm reset sequence. Otherwise, if POR is activated (brought low), the minimum POR pulse width must be met. The RESET pin should not be tied to the POR pin.
A soft reset behaves like a hard reset except that the EMIF16 MMRs, DDR3A EMIF MMRs, PCIe MMRs sticky bits, and external memory content are retained. POR should also remain deasserted during this time.
Soft reset is initiated by the following:
In the case of a soft reset, the clock logic and the power control logic of the peripherals are not affected and, therefore, the enabled/disabled state of the peripherals is not affected. On a soft reset, the DDR3A and DDR3B memory controller registers are not reset. If the user places the DDR3A and DDR3B SDRAM in self-refresh mode before invoking the soft reset, the DDR3A and DDR3B SDRAM memory content is retained.
During a soft reset, the following occurs:
The boot sequence is started after the system clocks are restarted. Because the Boot Mode configuration pins are not latched with a soft reset, the previous values (as shown in the DEVSTAT Register), are used to select the boot mode.
The local reset can be used to reset a particular C66x CorePac without resetting any other device components.
Local reset is initiated by the following:
For more details see the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide.
The ARM CorePac uses a combination of power-on-reset and module-reset to reset its components, such as the Cortex-A15 processor, memory subsystem, debug logic, and so forth. The ARM CorePac incorporates the PSC to generate resets for its internal modules. Details of reset generation and distribution inside the ARM CorePac can be found in the KeyStone II Architecture ARM CorePac User's Guide.
If any of the previously mentioned reset sources occur simultaneously, the PLL Controller processes only the highest priority reset request. The reset request priorities are as follows (high to low):
The reset controller registers are part of the PLL Controller MMRs. All 66AK2Hxx device-specific MMRs are covered in Section 11.5.2. For more details on these registers and how to program them, see the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide.
Table 11-10 shows the reset timing requirements and Table 11-11 shows the reset switching characteristics.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
RESETFULL Pin Reset | |||||
1 | tw(RESETFULL) | Pulse width – pulse width RESETFULL low | 500C | ns | |
Soft/Hard-Reset | |||||
2 | tw(RESET) | Pulse width – pulse width RESET low | 500C | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
RESETFULL Pin Reset | |||||
3 | td(RESETFULLH-RESETSTATH) | Delay time – RESETSTAT high after RESETFULL high | 50000C | ns | |
Soft/Hard Reset | |||||
4 | td(RESETH-RESETSTATH) | Delay time – RESETSTAT high after RESET high | 50000C | ns |
Table 11-12 shows the boot configuration timing requirements.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tsu(GPIOn-RESETFULL) | Setup time – GPIO valid before RESETFULL asserted | 12C | ns | |
2 | th(RESETFULL-GPIOn) | Hold time – GPIO valid after RESETFULL asserted | 12C | ns |
This section provides a description of the Main PLL, ARM PLL, DDR3A PLL, DDR3B PLL, PASS PLL, and the PLL Controller. For details on the operation of the PLL Controller module, see the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide.
The Main PLL is controlled by the standard PLL Controller. The PLL Controller manages the clock ratios, alignment, and gating for the system clocks to the device. By default, the device powers up with the main PLL bypassed. Figure 11-7 shows a block diagram of the Main PLL and the PLL Controller.
The ARM PLL, DDR3A PLL, DDR3B PLL, and PASS PLL are used to provide dedicated clock to the ARM CorePac, DDR3A, DDR3B, and PASS respectively. These chip level PLLs support a wide range of multiplier and divider values, which can be programmed through the chip level registers in the Device Control register block. The Boot ROM will program the multiplier values for main PLL, ARM PLL and PASS PLL based on boot mode. (See Section 10 for more details.)
The DDR3A PLL and DDR3B PLL are used to supply clocks to DDR3A and DDR3B EMIF logic. These PLLs can also be used without programming the PLL Controller. Instead, they can be controlled using the chip-level registers (DDR3APLLCTL0, DDR3APLLCTL1, DDR3BPLLCTL0, DDR3BPLLCTL1) in the Device Control register block. To write to these registers, software must go through an unlocking sequence using the KICK0/KICK1 registers.
The multiplier values for all chip-level PLLs can be reprogrammed later based on the input parameter table. This feature provides flexibility in that these PLLs may be able to reuse other clock sources instead of having its own clock source.
The Main PLL Controller registers can be accessed by any master in the device. The PLLM[5:0] bits of the multiplier are controlled by the PLLM Register inside the PLL Controller and the PLLM[12:6] bits are controlled by the chip-level MAINPLLCTL0 Register. The output divide and bypass logic of the PLL are controlled by fields in the SECCTL Register in the PLL Controller. Only PLLDIV3, and PLLDIV4 are programmable on the device. See the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide for more details on how to program the PLL controller.
The multiplication and division ratios within the PLL and the post-division for each of the chip-level clocks are determined by a combination of this PLL and the Main PLL Controller. The Main PLL Controller also controls reset propagation through the chip, clock alignment, and test points. The Main PLL Controller monitors the PLL status and provides an output signal indicating when the PLL is locked.
Main PLL power is supplied externally via the Main PLL power-supply pin (AVDDA1). An external EMI filter circuit must be added to all PLL supplies. See Hardware Design Guide for KeyStone II Devices for detailed recommendations. For the best performance, TI recommends that all the PLL external components be on a single side of the board without jumpers, switches, or components other than those shown. For reduced PLL jitter, maximize the spacing between switching signal traces and the PLL external components (C1, C2, and the EMI Filter).
The minimum SYSCLK rise and fall times should also be observed. For the input clock timing requirements, see Section 11.5.5.
It should be assumed that any registers not included in these sections are not supported by the device. Furthermore, only the bits within the registers described here are supported. Avoid writing to any reserved memory location or changing the value of reserved bits.
The PLL Controller module as described in the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide includes a superset of features, some of which are not supported on the 66AK2Hxx device. The following sections describe the registers that are supported.
The Main PLL, used to drive the C66x CorePacs, the switch fabric, and a majority of the peripheral clocks (all but theARM CorePacs, DDR3, and the PASS modules) requires a PLL Controller to manage the various clock divisions, gating, and synchronization. Unlike other PLL, CLKOD functionality of Main PLL is replaced by PLL controller Post-Divider register (POSTDIV). The POSTDIV.RATIO[3:0] and POSTDIV.POSTDEN bits control the post divider ratio and divider enable respectively. PLLM[5:0] input of the Main PLL is controlled by the PLL controller PLLM register.
The Main PLL Controller has four SYSCLK outputs that are listed below, along with the clock descriptions. Each SYSCLK has a corresponding divider that divides down the output clock of the PLL. Note that dividers are not programmable unless explicitly mentioned in the description below.
The system peripherals and modules driven by SYSCLK1 are as follows; however, not all peripherals are supported in every part. See the Features chapter for the complete list of peripherals supported in your part.
EMIF16, USB 3.0, HyperLink, PCIe, SGMII, SRIO, GPIO, Timer64, I2C, SPI, TeraNet, UART, ROM, CIC, Security Manager, BootCFG, PSC, Queue Manager, Semaphore, MPUs, EDMA, MSMC, DDR3, EMIF.
Only SYSCLK3, SYSCLK4, and SYSCLK5 are programmable.
The clock signals from the Main PLL Controller are routed to various modules and peripherals on the device. Some modules and peripherals have one or more internal clock dividers. Other modules and peripherals have no internal clock dividers, but are grouped together and receive clock signals from a shared local clock divider. Internal and shared local clock dividers have fixed division ratios, as shown in Table 11-13.
CLOCK | MODULE | INTERNAL CLOCK DIVIDER(S) | SHARED LOCAL CLOCK DIVIDER |
---|---|---|---|
SYSCLK1 Internal Clock Dividers | |||
SYSCLK1 | ARM CorePac | /1, /3, /3, /6, /6 | -- |
C66x DSP CorePacs | /1, /2, /3, /4 | -- | |
Chip Interrupt Controllers (CICx) | /6 | -- | |
DDR3 Memory Controller A (also receives clocks from the DDR3A_PLL) | /2 | -- | |
DDR3 Memory Controller B (also receives clocks from the DDR3B_PLL) | /3 | -- | |
EMIF16 | /6 | -- | |
HyperLink | /2, /3, /6 | -- | |
MultiCore Shared Memory Controller (MSMC) | /1 | -- | |
PCI express (PCIe) | /2, /3, /4, /6 | -- | |
ROM | /6 | -- | |
Serial Gigabit Media Independent Interface (SGMII) | /2, /3, /6, /8 | -- | |
Universal Asynchronous Receiver/Transmitter (UART) | /6 | -- | |
Universal Serial Bus 3.0 (USB 3.0) | /3, /6 | -- | |
SYSCLK1 Shared Local Clock Dividers | |||
SYSCLK1 | Power/Sleep Controller (PSC) | -- | /12, /24 |
EDMA | -- | /3 | |
Memory Protection Units (MPUx) | |||
Semaphore | |||
TeraNet (SYSCLK1/3 domain) | |||
SYSCLK1 | Boot Config | -- | /6 |
General-Purpose Input/Output (GPIO) | |||
I2C | |||
Security Manager | |||
Serial Peripheral Interconnect (SPI) | |||
TeraNet (CPU /6 domain) | |||
Timers | |||
SYSCLK2 Internal Clock Dividers | |||
SYSCLK2 | Serial RapidIO (SRIO) | /3, /4, /6 | -- |
SmartReflex C66x CorePacs | /12, /128 | -- | |
SmartReflex ARM CorePac | /12, /128, /128 | -- |
Table 11-7 lists various clock domains in the device and their distribution in each peripheral. The table also shows the distributed clock division in modules and their mapping with source clocks of the device PLLs.
The Main PLL Controller has two modes of operation: bypass mode and PLL mode. The mode of operation is determined by the BYPASS bit of the PLL Secondary Control Register (SECCTL).
External hosts must avoid access attempts to the DSP while the frequency of its internal clocks is changing. User software must implement a mechanism that causes the DSP to notify the host when the PLL configuration has completed.
The PLL stabilization time is the amount of time that must be allotted for the internal PLL regulators to become stable after device power-up. The device should not be taken out of reset until this stabilization time has elapsed.
The PLL reset time is the amount of wait time needed when resetting the PLL (writing PLLRST = 1), in order for the PLL to properly reset, before bringing the PLL out of reset (writing PLLRST = 0). For the Main PLL reset time value, see Table 11-14.
The PLL lock time is the amount of time needed from when the PLL is taken out of reset to when the PLL Controller can be switched to PLL mode. The Main PLL lock time is given in Table 11-14 .
PARAMETER | MIN | TYP | MAX | UNIT |
---|---|---|---|---|
PLL stabilization time | 100 | µs | ||
PLL lock time | 2000 × C (1) | |||
PLL reset time | 1000 | ns |
The memory map of the Main PLL controller is shown in Table 11-15. 66AK2Hxx-specific Main PLL controller register definitions can be found in the sections following Table 11-15. For other registers in the table, see the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide.
It is recommended to use read-modify-write sequence to make any changes to the valid bits in the Main PLL controller registers.
Note that only registers documented here are accessible on the 66AK2Hxx. Other addresses in the Main PLL controller memory map including the Reserved registers must not be modified. Furthermore, only the bits within the registers described here are supported.
HEX ADDRESS RANGE | ACRONYM | REGISTER NAME |
---|---|---|
00 0231 0000 – 00 0231 00E3 | - | Reserved |
00 0231 00E4 | RSTYPE | Reset Type Status Register (Reset Main PLL Controller) |
00 0231 00E8 | RSTCTRL | Software Reset Control Register (Reset Main PLL Controller) |
00 0231 00EC | RSTCFG | Reset Configuration Register (Reset Main PLL Controller) |
00 0231 00F0 | RSISO | Reset Isolation Register (Reset Main PLL Controller) |
00 0231 00F0 – 00 0231 00FF | - | Reserved |
00 0231 0100 | PLLCTL | PLL Control Register |
00 0231 0104 | - | Reserved |
00 0231 0108 | SECCTL | PLL Secondary Control Register |
00 0231 010C | - | Reserved |
00 0231 0110 | PLLM | PLL Multiplier Control Register |
00 0231 0114 | - | Reserved |
00 0231 0118 | PLLDIV1 | PLL Controller Divider 1 Register |
00 0231 011C | PLLDIV2 | PLL Controller Divider 2 Register |
00 0231 0120 | PLLDIV3 | PLL Controller Divider 3 Register |
00 0231 0124 | - | Reserved |
00 0231 0128 | POSTDIV | PLL Controller Post-Divide Register |
00 0231 012C – 00 0231 0134 | - | Reserved |
00 0231 0138 | PLLCMD | PLL Controller Command Register |
00 0231 013C | PLLSTAT | PLL Controller Status Register |
00 0231 0140 | ALNCTL | PLL Controller Clock Align Control Register |
00 0231 0144 | DCHANGE | PLLDIV Ratio Change Status Register |
00 0231 0148 | CKEN | Reserved |
00 0231 014C | CKSTAT | Reserved |
00 0231 0150 | SYSTAT | SYSCLK Status Register |
00 0231 0154 – 00 0231 015C | - | Reserved |
00 0231 0160 | PLLDIV4 | PLL Controller Divider 4 Register |
00 0231 0164 | PLLDIV5 | Reserved |
00 0231 0168 | PLLDIV6 | Reserved |
00 0231 016C | PLLDIV7 | Reserved |
00 0231 0170 | PLLDIV8 | Reserved |
00 0231 0174 – 00 0231 0193 | PLLDIV9 – PLLDIV16 | Reserved |
00 0231 0194 – 00 0231 01FF | - | Reserved |
The PLL secondary control register contains extra fields to control the Main PLL and is shown in Figure 11-8 and described in Table 11-16.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | BYPASS | OUTPUT DIVIDE | Reserved | ||||||||||||||||||||||||||||
R-0000 0000 | RW-1 | RW-0001 | RW-001 0000 0000 0000 0000 |
Legend: R/W = Read/Write; R = Read only; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-24 | Reserved | Reserved |
23 | BYPASS | PLL bypass mode:
|
22-19 | OUTPUT DIVIDE | Output divider ratio bits
|
18-0 | Reserved | Reserved |
The PLL controller divider registers (PLLDIV3 and PLLDIV4) are shown in Figure 11-9 and described in Table 11-17. The default values of the RATIO field on a reset for PLLDIV3, and PLLDIV4 are different as mentioned in the footnote of Figure 11-9 .
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | Dn(1)EN | Reserved | RATIO | ||||||||||||||||||||||||||||
R-0 | R/W-1 | R-0 | R/W-n(2) |
Legend: R/W = Read/Write; R = Read only; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-16 | Reserved | Reserved |
15 | DnEN | Divider Dn enable bit (See footnote of Figure 11-9 )
|
14-8 | Reserved | Reserved. The reserved bit location is always read as 0. A value written to this field has no effect. |
7-0 | RATIO | Divider ratio bits (See footnote of Figure 11-9 )
|
The PLL controller clock align control register (ALNCTL) is shown in Figure 11-10 and described in Table 11-18.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | ALN4 | ALN3 | Reserved | ||||||||||||||||||||||||||||
R-0 | R/W-1 | R/W-1 | R-0 |
Legend: R/W = Read/Write; R = Read only; – n = value after reset, for reset value |
Bit | Field | Description |
---|---|---|
31-5 | Reserved | Reserved. This location is always read as 0. A value written to this field has no effect. |
4-3 | ALN[4:3] | SYSCLKn alignment. Do not change the default values of these fields.
|
2-0 | Reserved | Reserved. This location is always read as 0. A value written to this field has no effect. |
Whenever a different ratio is written to the PLLDIVn registers, the PLL CTL flags the change in the DCHANGE status register. During the GO operation, the PLL controller changes only the divide ratio of the SYSCLKs with the bit set in DCHANGE. Note that the ALNCTL register determines if that clock also needs to be aligned to other clocks. The PLLDIV divider ratio change status register is shown in Figure 11-11 and described in Table 11-19.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | SYS4 | SYS3 | Reserved | ||||||||||||||||||||||||||||
R-0 | R/W-1 | R/W-1 | R-0 |
Legend: R/W = Read/Write; R = Read only; – n = value after reset, for reset value |
Bit | Field | Description |
---|---|---|
31-5 | Reserved | Reserved. This bit location is always read as 0. A value written to this field has no effect. |
4-3 | SYS[4:3] | Identifies when the SYSCLKn divide ratio has been modified.
|
2-0 | Reserved | Reserved. This bit location is always read as 0. A value written to this field has no effect. |
The SYSCLK status register (SYSTAT) shows the status of SYSCLK[4:1]. SYSTAT is shown in Figure 11-12 and described in Table 11-20.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | SYS4ON | SYS3ON | SYS2ON | SYS1ON | |||||||||||||||||||||||||||
R-n | R-1 | R-1 | R-1 | R-1 |
Legend: R/W = Read/Write; R = Read only; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-4 | Reserved | Reserved. This location is always read as 0. A value written to this field has no effect. |
3-0 | SYS[N]ON(1) | SYSCLK[N] on status
|
The reset type status register (RSTYPE) latches the cause of the last reset. If multiple reset sources occur simultaneously, this register latches the highest priority reset source. The reset type status register is shown in Figure 11-13 and described in Table 11-21.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | EMU-RST | Reserved | WDRST[N] | Reserved | PLLCTRLRST | RESET | POR | ||||||||||||||||||||||||
R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
Legend: R = Read only; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-29 | Reserved | Reserved. Always reads as 0. Writes have no effect. |
28 | EMU-RST | Reset initiated by emulation
|
27-12 | Reserved | Reserved. Always reads as 0. Writes have no effect. |
11-8 | WDRST[3:0] | Reset initiated by Watchdog Timer[N]
|
7-3 | Reserved | Reserved. Always reads as 0. Writes have no effect. |
2 | PLLCTLRST | Reset initiated by PLLCTL
|
1 | RESET | RESET reset
|
0 | POR | Power-on reset
|
This register contains a key that enables writes to the MSB of this register and the RSTCFG register. The key value is 0x5A69. A valid key will be stored as 0x000C. Any other key value is invalid. When the RSTCTRL or the RSTCFG is written, the key is invalidated. Every write must be set up with a valid key. The software reset control register (RSTCTRL) is shown in Figure 11-14 and described in Table 11-22.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | SWRST | KEY | |||||||||||||||||||||||||||||
R-0x0000 | R/W-0x(1) | R/W-0x0003 |
Legend: R = Read only; – n = value after reset; |
Bit | Field | Description |
---|---|---|
31-17 | Reserved | Reserved |
16 | SWRST | Software reset
|
15-0 | KEY | Key used to enable writes to RSTCTRL and RSTCFG. |
This register is used to configure the type of reset (a hard reset or a soft reset) initiated by RESET, the watchdog timer, and the RSTCTRL register of the Main PLL controller. By default, these resets are hard resets. The RSTCFG is shown in Figure 11-15 and described in Table 11-23.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved | |||||||||||||||
R-0x000000 | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | PLLCTLRSTTYPE | RESET TYPE | Reserved | WDTYPE[N](1) | |||||||||||
R-0x000000 | R/W-0(2) | R/W-0(2) | R-0x0 | R/W-0x00(2) |
Legend: R = Read only; R/W = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-14 | Reserved | Reserved |
13 | PLLCTLRSTTYPE | PLL controller initiates a software-driven reset of type:
|
12 | RESET TYPE | RESET initiates a reset of type:
|
11-4 | Reserved | Reserved |
3-0 | WDTYPE[3:0] | Watchdog timer [N] initiates a reset of type:
|
This register is used to select the module clocks that must maintain their clocking without pausing through nonpower-on reset. Setting any of these bits effectively blocks reset to all Main PLL control registers in order to maintain current values of PLL multiplier, divide ratios, and other settings. Along with setting the module-specific bit in RSISO, the corresponding MDCTLx[12] bit also needs to be set in the PSC to reset-isolate a particular module. For more information on the MDCTLx register, see the KeyStone Architecture Power Sleep Controller (PSC) User's Guide. The RSISO is shown in Figure 11-16 and described in Table 11-24.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | Reserved | SRIOISO | SRISO | Reserved | Rsvd | Reserved | |||||||||||||||||||||||||
R-0x0000 | R-0x00 | R/W-0 | R/W-0 | R-0x0 | R/W-0 | R-000 |
Legend: R = Read only; R/W = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-10 | Reserved | Reserved. |
9 | SRIOISO | Isolate SRIO module control
|
8 | SRISO | Isolate SmartReflex control
|
7-4 | Reserved | Reserved |
3 | Reserved | Reserved |
2-0 | Reserved | Reserved |
The Main PLL uses two chip-level registers (MAINPLLCTL0 and MAINPLLCTL1) along with the Main PLL controller for its configuration. These MMRs (memory-mapped registers) exist inside the Bootcfg space. To write to these registers, software should go through an unlocking sequence using the KICK0 and KICK1 registers. These registers reset only on a POR reset.
For valid configurable values of the MAINPLLCTL registers, see Section 10.1.4. See Section 10.2.3.4 for the address location of the KICK registers and their locking and unlocking sequences.
See Figure 11-17 and Table 11-25 for MAINPLLCTL0 details and Figure 11-18 and Table 11-26 for MAINPLLCTL1 details.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BWADJ[7:0] | Reserved | PLLM[12:6] | Reserved | PLLD | |||||||||||||||||||||||||||
RW-0000 0101 | RW – 0000 0 | RW-0000000 | RW-000000 | RW-000000 |
Legend: RW = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-24 | BWADJ[7:0] | BWADJ[11:8] and BWADJ[7:0] are in MAINPLLCTL0 and MAINPLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
23-19 | Reserved | Reserved |
18-12 | PLLM[12:6] | 7-bits of a 13-bit field PLLM that selects the values for the multiplication factor. PLLM field is loaded with the multiply factor minus 1. The PLLM[5:0] bits of the multiplier are controlled by the PLLM register inside the PLL Controller and the PLLM[12:6] bits are controlled by the above chip-level register. MAINPLLCTL0 register PLLM[12:6] bits should be written just before writing to PLLM register PLLM[5:0] bits in the controller to have the complete 13 bit value latched when the GO operation is initiated in the PLL controller. See the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide for the recommended programming sequence. Output Divide ratio and Bypass enable/disable of the Main PLL is also controlled by the SECCTL register in the PLL Controller. See the Section 11.5.2.1 for more details. |
11-6 | Reserved | Reserved |
5-0 | PLLD | A 6-bit field that selects the values for the reference divider. PLLD field is loaded with reference divide value minus 1. |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | ENSAT | Reserved | BWADJ[11:8] | ||||||||||||||||||||||||||||
RW-0000000000000000000000000 | RW-0 | R-00 | RW- 0000 |
Legend: RW = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-7 | Reserved | Reserved |
6 | ENSAT | Needs to be set to 1 for proper PLL operation |
5-4 | Reserved | Reserved |
3-0 | BWADJ[11:8] | BWADJ[11:8] and BWADJ[7:0] are in MAINPLLCTL0 and MAINPLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
The ARM PLL uses two chip-level registers (ARMPLLCTL0 and ARMPLLCTL1) without using the Main PLL controller like other PLLs for its configuration. These MMRs (memory-mapped registers) exist inside the Bootcfg space. To write to these registers, software must go through an unlocking sequence using the KICK0 and KICK1 registers. These registers reset only on a POR reset.
For valid configurable values of the ARMPLLCTL registers, see Section 10.1.4. See Section 10.2.3.4 for the address location of the KICK registers and their locking and unlocking sequences.
See Figure 11-19 and Table 11-27 for ARMPLLCTL0 details and Figure 11-20 and Table 11-28 for ARMPLLCTL1 details.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BWADJ[7:0] | BYPASS | CLKOD | PLLM | PLLD | |||||||||||||||||||||||||||
RW-0000 1001 | RW-1 | RW-0001 | RW-0000000010011 | RW-000000 |
Legend: RW = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-24 | BWADJ[7:0] | BWADJ[11:8] and BWADJ[7:0] are in ARMPLLCTL0 and ARMPLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
23 | BYPASS | PLL bypass mode:
|
22-19 | CLKOD | A 4-bit field that selects the values for the PLL post divider. Valid post divider values are 1 and even values from 2 to 16. CLKOD field is loaded with output divide value minus 1 |
18-6 | PLLM | A 13-bit field that selects the values for the multiplication factor |
5-0 | PLLD | A 6-bit field that selects the values for the reference divider |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | PLLRST | Reserved | ENSAT | Reserved | BWADJ[11:8] | ||||||||||||||||||||||||||
RW-00000000000000000 | RW-0 | RW-0000000 | RW-0 | R-00 | RW-0000 |
Legend: RW = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-15 | Reserved | Reserved |
14 | PLLRST | PLL Reset bit
|
13-7 | Reserved | Reserved |
6 | ENSAT | Needs to be set to 1 for proper PLL operation |
5-4 | Reserved | Reserved |
3-0 | BWADJ[11:8] | BWADJ[11:8] and BWADJ[7:0] are in ARMPLLCTL0 and ARMPLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
See the KeyStone Architecture Phase Locked Loop (PLL) Controller User's Guide for the recommended programming sequence. Output Divide ratio and Bypass enable/disable of the ARM PLL is also controlled by the SECCTL register in the PLL Controller. See Section 11.5.2.1 for more details.
The Main PLL controller, ARM, SRIO, HyperLink, PCIe, USB clock input timing requirements are shown in Table 11-29.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
SYSCLK[P:N] | |||||
1 | tc(SYSCLKN) | Cycle time SYSCLKN cycle time | 3.25 | 25 | ns |
1 | tc(SYSCLKP) | Cycle time SYSCLKP cycle time | 3.25 | 25 | ns |
3 | tw(SYSCLKN) | Pulse width SYSCLKN high | 0.45*tc | 0.55*tc | ns |
2 | tw(SYSCLKN) | Pulse width SYSCLKN low | 0.45*tc | 0.55*tc | ns |
2 | tw(SYSCLKP) | Pulse width SYSCLKP high | 0.45*tc | 0.55*tc | ns |
3 | tw(SYSCLKP) | Pulse width SYSCLKP low | 0.45*tc | 0.55*tc | ns |
4 | tr(SYSCLK_200 mV) | Transition time SYSCLK differential rise time (200 mV) | 50 | 350 | ps |
4 | tf(SYSCLK_200 mV) | Transition time SYSCLK differential fall time (200 mV) | 50 | 350 | ps |
5 | tj(SYSCLKN) | Jitter, peak_to_peak _ periodic SYSCLKN | 0.2*tc(SYSCLKN) | ps | |
5 | tj(SYSCLKP) | Jitter, peak_to_peak _ periodic SYSCLKP | 0.2*tc(SYSCLKP) | ps | |
ARMCLK[P:N] | |||||
1 | tc(ARMCLKN) | Cycle time ARMCLKN cycle time | 3.2 | 25 | ns |
1 | tc(ARMCLKP) | Cycle time ARMCLKP cycle time | 3.2 | 25 | ns |
3 | tw(ARMCLKN) | Pulse width ARMCLKN high | 0.45*tc(ARMCLKN) | 0.55*tc(ARMCLKN) | ns |
2 | tw(ARMCLKN) | Pulse width ARMCLKN low | 0.45*tc(ARMCLKN) | 0.55*tc(ARMCLKN) | ns |
2 | tw(ARMCLKP) | Pulse width ARMCLKP high | 0.45*tc(ARMCLKP) | 0.55*tc(ARMCLKP) | ns |
3 | tw(ARMCLKP) | Pulse width ARMCLKP low | 0.45*tc(ARMCLKP) | 0.55*tc(ARMCLKP) | ns |
4 | tr(ARMCLK_200 mV) | Transition time ARMCLK differential rise time (200 mV) | 50 | 350 | ps |
4 | tf(ARMCLK_200 mV) | Transition time ARMCLK differential fall time (200 mV) | 50 | 350 | ps |
5 | tj(ARMCLKN) | Jitter, peak_to_peak _ periodic ARMCLKN | 100 | ps | |
5 | tj(ARMCLKP) | Jitter, peak_to_peak _ periodic ARMCLKP | 100 | ps | |
ALTCORECLK[P:N] | |||||
1 | tc(ALTCORCLKN) | Cycle time ALTCORECLKN cycle time | 3.2 | 25 | ns |
1 | tc(ALTCORECLKP) | Cycle time ALTCORECLKP cycle time | 3.2 | 25 | ns |
3 | tw(ALTCORECLKN) | Pulse width ALTCORECLKN high | 0.45*tc(ALTCORECLKN) | 0.55*tc(ALTCORECLKN) | ns |
2 | tw(ALTCORECLKN) | Pulse width ALTCORECLKN low | 0.45*tc(ALTCORECLKN) | 0.55*tc(ALTCORECLKN) | ns |
2 | tw(ALTCORECLKP) | Pulse width ALTCORECLKP high | 0.45*tc(ALTCORECLKP) | 0.55*tc(ALTCORECLKP) | ns |
3 | tw(ALTCORECLKP) | Pulse width ALTCORECLKP low | 0.45*tc(ALTCORECLKP) | 0.55*tc(ALTCORECLKP) | ns |
4 | tr(ALTCORECLK_200 mV) | Transition time ALTCORECLK differential rise time (200 mV) | 50 | 350 | ps |
4 | tf(ALTCORECLK_200 mV) | Transition time ALTCORECLK differential fall time (200 mV) | 50 | 350 | ps |
5 | tj(ALTCORECLKN) | Jitter, peak_to_peak _ periodic ALTCORECLKN | 100 | ps | |
5 | tj(ALTCORECLKP) | Jitter, peak_to_peak _ periodic ALTCORECLKP | 100 | ps | |
SRIOSGMIICLK[P:N] | |||||
1 | tc(SRIOSGMIICLKN) | Cycle time SRIOSGMIICLKN cycle time | 3.2 or 6.4 or 8 | ns | |
1 | tc(SRIOSGMIICLKP) | Cycle time SRIOSGMIICLKP cycle time | 3.2 or 6.4 or 8 | ns | |
3 | tw(SRIOSGMIICLKN) | Pulse width SRIOSGMIICLKN high | 0.45*tc(SRIOSGMIICLKN) | 0.55*tc(SRIOSGMIICLKN) | ns |
2 | tw(SRIOSGMIICLKN) | Pulse width SRIOSGMIICLKN low | 0.45*tc(SRIOSGMIICLKN) | 0.55*tc(SRIOSGMIICLKN) | ns |
2 | tw(SRIOSGMIICLKP) | Pulse width SRIOSGMIICLKP high | 0.45*tc(SRIOSGMIICLKP) | 0.55*tc(SRIOSGMIICLKP) | ns |
3 | tw(SRIOSGMIICLKP) | Pulse width SRIOSGMIICLKP low | 0.45*tc(SRIOSGMIICLKP) | 0.55*tc(SRIOSGMIICLKP) | ns |
4 | tr(SRIOSGMIICLK_200mV) | Transition time SRIOSGMIICLK differential rise time (200 mV) | 50 | 350 | ps |
4 | tf(SRIOSGMIICLK_200mV) | Transition time SRIOSGMIICLK differential fall time (200 mV) | 50 | 350 | ps |
5 | tj(SRIOSGMIICLKN) | Jitter, RMS SRIOSGMIICLKN | 2 | ps, RMS | |
5 | tj(SRIOSGMIICLKP) | Jitter, RMS SRIOSGMIICLKP | 2 | ps, RMS | |
5 | tj(SRIOSGMIICLKN) | Jitter, RMS SRIOSGMIICLKN (SRIO not used) | 4 | ps, RMS | |
5 | tj(SRIOSGMIICLKP) | Jitter, RMS SRIOSGMIICLKP (SRIO not used) | 4 | ps, RMS | |
HYPxCLK[P:N] | |||||
1 | tc(HYPCLKN) | Cycle time HYPCLKN cycle time | 3.2 or 4 or 6.4 | ns | |
1 | tc(HYPCLKP) | Cycle time HYPCLKP cycle time | 3.2 or 4 or 6.4 | ns | |
3 | tw(HYPCLKN) | Pulse width HYPCLKN high | 0.45*tc(HYPCLKN) | 0.55*tc(HYPCLKN) | ns |
2 | tw(HYPCLKN) | Pulse width HYPCLKN low | 0.45*tc(HYPCLKN) | 0.55*tc(HYPCLKN) | ns |
2 | tw(HYPCLKP) | Pulse width HYPCLKP high | 0.45*tc(HYPCLKP) | 0.55*tc(HYPCLKP) | ns |
3 | tw(HYPCLKP) | Pulse width HYPCLKP low | 0.45*tc(HYPCLKP) | 0.55*tc(HYPCLKP) | ns |
4 | tr(HYPCLK) | Rise time HYPCLK differential rise time (10% to 90%) | 0.2*tc(HYPCLKP) | ps | |
4 | tf(HYPCLK) | Fall time HYPCLK differential fall time (10% to 90%) | 0.2*tc(HYPCLKP) | ps | |
5 | tj(HYPCLKN) | Jitter, RMS HYPCLKN | 4 | ps, RMS | |
5 | tj(HYPCLKP) | Jitter, RMS HYPCLKP | 4 | ps, RMS | |
PCIECLK[P:N] | |||||
1 | tc(PCIECLKN) | Cycle time PCIECLKN cycle time | 3.2 or 4 or 6.4 or 10 | ns | |
1 | tc(PCIECLKP) | Cycle time PCIECLKP cycle time | 3.2 or 4 or 6.4 or 10 | ns | |
3 | tw(PCIECLKN) | Pulse width PCIECLKN high | 0.45*tc(PCIECLKN) | 0.55*tc(PCIECLKN) | ns |
2 | tw(PCIECLKN) | Pulse width PCIECLKN low | 0.45*tc(PCIECLKN) | 0.55*tc(PCIECLKN) | ns |
2 | tw(PCIECLKP) | Pulse width PCIECLKP high | 0.45*tc(PCIECLKP) | 0.55*tc(PCIECLKP) | ns |
3 | tw(PCIECLKP) | Pulse width PCIECLKP low | 0.45*tc(PCIECLKP) | 0.55*tc(PCIECLKP) | ns |
4 | tr(PCIECLK) | Rise time PCIECLK differential rise time (10% to 90%) | 0.2*tc(PCIECLKP) | ps | |
4 | tf(PCIECLK) | Fall time PCIECLK differential fall time (10% to 90%) | 0.2*tc(PCIECLKP) | ps | |
5 | tj(PCIECLKN) | Jitter, RMS PCIECLKN | 4 | ps, RMS | |
5 | tj(PCIECLKP) | Jitter, RMS PCIECLKP | 4 | ps, RMS | |
USBCLK[P:M] | |||||
1 | tc(USBCLKN) | Cycle time USBCLKM cycle time | 5 | 50 | ns |
1 | tc(USBCLKP) | Cycle time USBCLKP cycle time | 5 | 50 | ns |
3 | tw(USBCLKN) | Pulse width USBCLKM high | 0.45*tc(USBCLKN) | 0.55*tc(USBCLKN) | ns |
2 | tw(USBCLKN) | Pulse width USBCLKM low | 0.45*tc(USBCLKN) | 0.55*tc(USBCLKN) | ns |
2 | tw(USBCLKP) | Pulse width USBCLKP high | 0.45*tc(USBCLKP) | 0.55*tc(USBCLKP) | ns |
3 | tw(USBCLKP) | Pulse width USBCLKP low | 0.45*tc(USBCLKP) | 0.55*tc(USBCLKP) | ns |
4 | tr(USBCLK) | Rise time USBCLK differential rise time (10% to 90%) | TBD | ps | |
4 | tf(USBCLK) | Fall time USBCLK differential fall time (10% to 90%) | TBD | ps | |
5 | tj(USBCLKN) | Jitter, RMS USBCLKM | 3 | ps, RMS | |
5 | tj(USBCLKP) | Jitter, RMS USBCLKP | 3 | ps, RMS |
The DDR3A PLL and DDR3B PLL generate interface clocks for the DDR3A and DDR3B memory controllers. When coming out of power-on reset, DDR3A PLL and DDR3B PLL are programmed to a valid frequency during the boot configuration process before being enabled and used.
DDR3A PLL and DDR3B PLL power is supplied via the DDR3 PLL power-supply pin (AVDDA2). An external EMI filter circuit must be added to all PLL supplies. See Hardware Design Guide for KeyStone II Devices for detailed recommendations.
Figure 11-25 shows a block diagram of the DDR3A PLL and DDR3B PLL.
The DDR3A PLL and DDR3B PLL, which are used to drive the DDR3A PHY and DDR3B PHY for the EMIF, do not use a PLL controller. DDR3A PLL and DDR3B PLL can be controlled using the DDR3APLLCTL0/DDR3BPLLCTL0 and DDR3APLLCTL1/DDR3BPLLCTL1 registers in the Bootcfg module. These MMRs (memory-mapped registers) exist inside the Bootcfg space. To write to these registers, software must go through an unlocking sequence using the KICK0 and KICK1 registers. For suggested configurable values, see Section 10.1.4. See Section 10.2.3.4 for the address location of the registers and locking and unlocking sequences for accessing the registers. These registers are reset on POR only.
The DDR3A PLL and DDR3B PLL control registers are shown in Figure 11-26 and Figure 11-27 and described in Table 11-30 and Table 11-31.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BWADJ[7:0] | BYPASS | CLKOD | PLLM | PLLD | |||||||||||||||||||||||||||
RW-0000 1001 | RW-1 | RW-0001 | RW-0000000010011 | RW-000000 |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Description |
---|---|---|
31-24 | BWADJ[7:0] | BWADJ[11:8] and BWADJ[7:0] are in DDR3PLLCTL0 and DDR3PLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
23 | BYPASS | PLL bypass mode:
|
22-19 | CLKOD | A 4-bit field that selects the values for the PLL post divider. Valid post divider values are 1 and even values from 2 to 16. CLKOD field is loaded with output divide value minus 1 |
18-6 | PLLM | A 13-bit field that selects the values for the PLL multiplication factor. PLLM field is loaded with the multiply factor minus 1 |
5-0 | PLLD | A 6-bit field that selects the values for the reference (input) divider. PLLD field is loaded with reference divide value minus 1 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | PLLRST | Reserved | ENSAT | Reserved | BWADJ[11:8] | ||||||||||||||||||||||||||
RW-00000000000000000 | RW-0 | RW-0000000 | RW-0 | R-00 | RW-0000 |
Legend: RW = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-15 | Reserved | Reserved |
14 | PLLRST | PLL Reset bit
|
13-7 | Reserved | Reserved |
6 | ENSAT | Needs to be set to 1 for proper PLL operation |
5-4 | Reserved | Reserved |
3-0 | BWADJ[11:8] | BWADJ[11:8] and BWADJ[7:0] are in DDR3PLLCTL0 and DDR3PLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
As shown in Figure 11-25, the output of DDR3A PLL and DDR3B PLL (PLLOUT) is divided by 2 and directly fed to the DDR3A and DDR3B memory controller. During power-on resets, the internal clocks of the DDR3 PLL are affected as described in Section 11.4. The DDR3 PLL is unlocked only during the power-up sequence and is locked by the time the RESETSTAT pin goes high. It does not lose lock during any of the other resets.
Table 11-32 applies to both DDR3A and DDR3B memory interfaces.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
DDRCLK[P:N] | |||||
1 | tc(DDRCLKN) | Cycle time _ DDRCLKN cycle time | 3.2 | 25 | ns |
1 | tc(DDRCLKP) | Cycle time _ DDRCLKP cycle time | 3.2 | 25 | ns |
3 | tw(DDRCLKN) | Pulse width _ DDRCLKN high | 0.45*tc(DDRCLKN) | 0.55*tc(DDRCLKN) | ns |
2 | tw(DDRCLKN) | Pulse width _ DDRCLKN low | 0.45*tc(DDRCLKN) | 0.55*tc(DDRCLKN) | ns |
2 | tw(DDRCLKP) | Pulse width _ DDRCLKP high | 0.45*tc(DDRCLKP) | 0.55*tc(DDRCLKP) | ns |
3 | tw(DDRCLKP) | Pulse width _ DDRCLKP low | 0.45*tc(DDRCLKP) | 0.55*tc(DDRCLKP) | ns |
4 | tr(DDRCLK_200 mV) | Transition time _ DDRCLK differential rise time (200 mV) | 50 | 350 | ps |
4 | tf(DDRCLK_200 mV) | Transition time _ DDRCLK differential fall time (200 mV) | 50 | 350 | ps |
5 | tj(DDRCLKN) | Jitter, peak_to_peak _ periodic DDRCLKN | 0.02*tc(DDRCLKN) | ps | |
5 | tj(DDRCLKP) | Jitter, peak_to_peak _ periodic DDRCLKP | 0.02*tc(DDRCLKP) | ps |
The PASS PLL generates interface clocks for the Network Coprocessor. Using the PACLKSEL pin the user can select the input source of the PASS PLL as either the output of the Main PLL mux or the PASSCLK clock reference source. When coming out of power-on reset, PASS PLL comes out in a bypass mode and needs to be programmed to a valid frequency before being enabled and used.
PASS PLL power is supplied via the PASS PLL power-supply pin (AVDDA3). An external EMI filter circuit must be added to all PLL supplies. See Hardware Design Guide for KeyStone II Devices for detailed recommendations.
The PASS PLL block diagram is shown in Figure 11-29.
The clock signal from the PASS PLL controller is routed to the network coprocessor. The NetCP module has two internal dividers with fixed division ratios, as shown in .
The PASS PLL, which is used to drive the network coprocessor, does not use a PLL controller. PASS PLL can be controlled using the PAPLLCTL0 and PAPLLCTL1 registers in the Bootcfg module. These MMRs (memory-mapped registers) exist inside the Bootcfg space. To write to these registers, software must go through an unlocking sequence using the KICK0 and KICK1 registers. For suggested configuration values, see Section 10.1.4. See Section 10.2.3.4 for the address location of the registers and locking and unlocking sequences for accessing these registers. These registers are reset on POR only.
The PASS PLL control registers are shown in Figure 11-30 and Figure 11-31 and described in Table 11-33 and Table 11-34.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BWADJ[7:0] | BYPASS | CLKOD | PLLM | PLLD | |||||||||||||||||||||||||||
RW-0000 1001 | RW-1 | RW-0001 | RW-0000000010011 | RW-000000 |
LEGEND: RW = Read/Write; -n = value after reset |
Bit | Field | Description |
---|---|---|
31-24 | BWADJ[7:0] | BWADJ[11:8] and BWADJ[7:0] are in PASSPLLCTL0 and PASSPLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
23 | BYPASS | PLL bypass mode:
|
22-19 | CLKOD | A 4-bit field that selects the values for the PLL post divider. Valid post divider values are 1 and even values from 2 to 16. CLKOD field is loaded with output divide value minus 1 |
18-6 | PLLM | A 13-bit field that selects the values for the multiplication factor (see note below). PLLM field is loaded with the multiply factor minus 1. |
5-0 | PLLD | A 6-bit field that selects the values for the reference divider. PLLD field is loaded with reference divide value minus 1. |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | PLLRST | PAPLL | Reserved | ENSAT | Reserved | BWADJ[11:8] | |||||||||||||||||||||||||
RW-00000000000000000 | RW-0 | RW-0 | RW-0000000 | RW-0 | R-00 | RW-0000 |
Legend: RW = Read/Write; – n = value after reset |
Bit | Field | Description |
---|---|---|
31-15 | Reserved | Reserved |
14 | PLLRST | PLL Reset bit
|
13 | PAPLL |
|
12-7 | Reserved | Reserved |
6 | ENSAT | Needs to be set to 1 for proper PLL operation |
5-4 | Reserved | Reserved |
3-0 | BWADJ[11:8] | BWADJ[11:8] and BWADJ[7:0] are in PASSPLLCTL0 and PASSPLLCTL1 registers. BWADJ[11:0] should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) – 1. |
As shown in Figure 11-29, the output of PASS PLL (PLLOUT) is divided by 3 and directly fed to the Network Coprocessor. During power-on resets, the internal clocks of the PASS PLL are affected as described in Section 11.4. The PASS PLL is unlocked only during the power-up sequence and is locked by the time the RESETSTAT pin goes high. It does not lose lock during any other resets.
Table 11-35 shows the PASS PLL timing requirements.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
PASSCLK[P:N] | |||||
1 | tc(PASSCLKN) | Cycle time _ PASSCLKN cycle time | 3.2 | 6.4 | ns |
1 | tc(PASSCLKP) | Cycle time _ PASSCLKP cycle time | 3.2 | 6.4 | ns |
3 | tw(PASSCLKN) | Pulse width _ PASSCLKN high | 0.45*tc(PASSCLKN) | 0.55*tc(PASSCLKN) | ns |
2 | tw(PASSCLKN) | Pulse width _ PASSCLKN low | 0.45*tc(PASSCLKN) | 0.55*tc(PASSCLKN) | ns |
2 | tw(PASSCLKP) | Pulse width _ PASSCLKP high | 0.45*tc(PASSCLKP) | 0.55*tc(PASSCLKP) | ns |
3 | tw(PASSCLKP) | Pulse width _ PASSCLKP low | 0.45*tc(PASSCLKP) | 0.55*tc(PASSCLKP) | ns |
4 | tr(PASSCLK_200mV) | Transition time _ PASSCLK differential rise time (200 mV) | 50 | 350 | ps |
4 | tf(PASSCLK_200mV) | Transition time _ PASSCLK differential fall time (200 mV) | 50 | 350 | ps |
5 | tj(PASSCLKN) | Jitter, peak_to_peak _ periodic PASSCLKN | 100 | ps, pk-pk | |
5 | tj(PASSCLKP) | Jitter, peak_to_peak _ periodic PASSCLKP | 100 | ps, pk-pk |
Table 11-36 shows the NMI and LRESET timing requirements.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tsu( LRESET – LRESETNMIEN) | Setup time – LRESET valid before LRESETNMIEN low | 12*P | ns | |
1 | tsu( NMI – LRESETNMIEN) | Setup time – NMI valid before LRESETNMIEN low | 12*P | ns | |
1 | tsu(CORESELn – LRESETNMIEN) | Setup time – CORESEL[3:0] valid before LRESETNMIEN low | 12*P | ns | |
2 | th(LRESETNMIEN – LRESET) | Hold time – LRESET valid after LRESETNMIEN high | 12*P | ns | |
2 | th(LRESETNMIEN – NMI) | Hold time – NMI valid after LRESETNMIEN high | 12*P | ns | |
2 | th(LRESETNMIEN – CORESELn) | Hold time – CORESEL[3:0] valid after LRESETNMIEN high | 12*P | ns | |
3 | tw(LRESETNMIEN) | Pulsewidth – LRESETNMIEN low width | 12*P | ns |
The 72-bit DDR3 memory controller bus of the 66AK2Hxx is used to interface to JEDEC standard-compliant DDR3 SDRAM devices. The DDR3 external bus interfaces only to DDR3 SDRAM devices and does not share the bus with any other type of peripheral.
The 66AK2Hxx includes one 64-bit wide, 1.35-V / 1.5-V DDR3 SDRAM EMIF interface. The DDR3 interface can operate at 800 mega transfers per second (MTS), 1033 MTS, 1333 MTS, and 1600 MTS.
Due to the complicated nature of the interface, a limited number of topologies are supported to provide a 16-bit, 32-bit, or 64-bit interface.
The DDR3 electrical requirements are fully specified in the DDR JEDEC specification JESD79-3C. Standard DDR3 SDRAMs are available in 8-bit and 16-bit versions allowing for the following bank topologies to be supported by the interface:
The approach to specifying interface timing for the DDR3 memory bus is different than on other interfaces such as I2C or SPI. For these other interfaces, the device timing was specified in terms of data manual specifications and I/O buffer information specification (IBIS) models. For the DDR3 memory bus, the approach is to specify compatible DDR3 devices and provide the printed-circuit board (PCB) solution and guidelines directly to the user.
A race condition may exist when certain masters write data to the DDR3 memory controller. For example, if master A passes a software message via a buffer in external memory and does not wait for an indication that the write completes before signaling to master B that the message is ready, when master B attempts to read the software message, the master B read may bypass the master A write. Thus, master B may read stale data and receive an incorrect message.
Some master peripherals (for example, EDMA3 transfer controllers with TCCMOD=0) always wait for the write to complete before signaling an interrupt to the system, thus avoiding this race condition. For masters that do not have a hardware specification of write-read ordering, it may be necessary to specify data ordering in the software.
If master A does not wait for an indication that a write is complete, it must perform the following workaround:
The DDR3 slew rate is controlled by use of the PHY registers. See the Keystone II Architecture DDR3 Memory Controller User's Guide for details.
DDR3 Design Requirements for KeyStone Devices specifies a complete DDR3 interface solution as well as a list of compatible DDR3 devices. The DDR3 electrical requirements are fully specified in the DDR3 JEDEC Specification JESD79-3C. TI has performed the simulation and system characterization to ensure all DDR3 interface timings in this solution are met. Therefore, no electrical data and timing information is supplied here for this interface.
NOTE
TI supports only designs that follow the board design guidelines outlined in the application report.
The Inter-Integrated Circuit (I2C) module provides an interface between SoC and other devices compliant with Philips Semiconductors (now NXP Semiconductors) Inter-Integrated Circuit bus specification version 2.1. External components attached to this 2-wire serial bus can transmit/receive up to 8-bit data to/from the device through the I2C module.
The device includes multiple I2C peripheral modules.
NOTE
When using the I2C module, ensure there are external pullup resistors on the SDA and SCL pins.
The I2C modules on the 66AK2Hxx may be used by the SoC to control local peripheral ICs (DACs, ADCs, and so forth), communicate with other controllers in a system, or to implement a user interface.
The I2C port supports:
Figure 11-34 shows a block diagram of the I2C module.
Table 11-37 lists the I2C registers.
HEX ADDRESS OFFSETS | ACRONYM | REGISTER NAME |
---|---|---|
0x0000 | ICOAR | I2C Own Address Register |
0x0004 | ICIMR | I2C Interrupt Mask/status Register |
0x0008 | ICSTR | I2C Interrupt Status Register |
0x000C | ICCLKL | I2C Clock Low-time Divider Register |
0x0010 | ICCLKH | I2C Clock High-time Divider Register |
0x0014 | ICCNT | I2C Data Count Register |
0x0018 | ICDRR | I2C Data Receive Register |
0x001C | ICSAR | I2C Slave Address Register |
0x0020 | ICDXR | I2C Data Transmit Register |
0x0024 | ICMDR | I2C Mode Register |
0x0028 | ICIVR | I2C Interrupt Vector Register |
0x002C | ICEMDR | I2C Extended Mode Register |
0x0030 | ICPSC | I2C Prescaler Register |
0x0034 | ICPID1 | I2C Peripheral Identification Register 1 [value: 0x0000 0105] |
0x0038 | ICPID2 | I2C Peripheral Identification Register 2 [value: 0x0000 0005] |
0x003C -0x007F | - | Reserved |
Table 11-38 shows the I2C timing requirements and Table 11-39 shows the I2C switching characteristics.
NO. | STANDARD MODE | FAST MODE | UNIT | ||||
---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | ||||
1 | tc(SCL) | Cycle time, SCL | 10 | 2.5 | µs | ||
2 | tsu(SCLH-SDAL) | Setup time, SCL high before SDA low (for a repeated START condition) | 4.7 | 0.6 | µs | ||
3 | th(SDAL-SCLL) | Hold time, SCL low after SDA low (for a START and a repeated START condition) | 4 | 0.6 | µs | ||
4 | tw(SCLL) | Pulse duration, SCL low | 4.7 | 1.3 | µs | ||
5 | tw(SCLH) | Pulse duration, SCL high | 4 | 0.6 | µs | ||
6 | tsu(SDAV-SCLH) | Setup time, SDA valid before SCL high | 250 | 100(2) | ns | ||
7 | th(SCLL-SDAV) | Hold time, SDA valid after SCL low (for I2C bus devices) | 0(3) | 3.45 | 0(3) | 0.9(4) | µs |
8 | tw(SDAH) | Pulse duration, SDA high between STOP and START conditions | 4.7 | 1.3 | µs | ||
9 | tr(SDA) | Rise time, SDA | 1000 | 20 + 0.1Cb(5) | 300 | ns | |
10 | tr(SCL) | Rise time, SCL | 1000 | 20 + 0.1Cb(5) | 300 | ns | |
11 | tf(SDA) | Fall time, SDA | 300 | 20 + 0.1Cb(5) | 300 | ns | |
12 | tf(SCL) | Fall time, SCL | 300 | 20 + 0.1Cb(5) | 300 | ns | |
13 | tsu(SCLH-SDAH) | Setup time, SCL high before SDA high (for STOP condition) | 4 | 0.6 | µs | ||
14 | tw(SP) | Pulse duration, spike (must be suppressed) | 0 | 50 | ns | ||
Cb (5) | Capacitive load for each bus line | 400 | 400 | pF |
NO. | PARAMETER | STANDARD MODE | FAST MODE | UNIT | |||
---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | ||||
16 | tc(SCL) | Cycle time, SCL | 10 | 2.5 | µs | ||
17 | tsu(SCLH-SDAL) | Setup time, SCL high to SDA low (for a repeated START condition) | 4.7 | 0.6 | µs | ||
18 | th(SDAL-SCLL) | Hold time, SDA low after SCL low (for a START and a repeated START condition) | 4 | 0.6 | µs | ||
19 | tw(SCLL) | Pulse duration, SCL low | 4.7 | 1.3 | µs | ||
20 | tw(SCLH) | Pulse duration, SCL high | 4 | 0.6 | µs | ||
21 | td(SDAV-SDLH) | Delay time, SDA valid to SCL high | 250 | 100 | ns | ||
22 | tv(SDLL-SDAV) | Valid time, SDA valid after SCL low (for I2C bus devices) | 0 | 0 | 0.9 | µs | |
23 | tw(SDAH) | Pulse duration, SDA high between STOP and START conditions | 4.7 | 1.3 | µs | ||
24 | tr(SDA) | Rise time, SDA | 1000 | 20 + 0.1Cb(1) | 300 | ns | |
25 | tr(SCL) | Rise time, SCL | 1000 | 20 + 0.1Cb(1) | 300 | ns | |
26 | tf(SDA) | Fall time, SDA | 300 | 20 + 0.1Cb(1) | 300 | ns | |
27 | tf(SCL) | Fall time, SCL | 300 | 20 + 0.1Cb(1) | 300 | ns | |
28 | td(SCLH-SDAH) | Delay time, SCL high to SDA high (for STOP condition) | 4 | 0.6 | µs | ||
Cp | Capacitance for each I2C pin | 10 | 10 | pF |
The Serial Peripheral Interconnect (SPI) module provides an interface between the SoC and other SPI-compliant devices. The primary intent of this interface is to allow for connection to an SPI ROM for boot. The SPI module on 66AK2Hxx is supported only in master mode. Additional chip-level components can also be included, such as temperature sensors or an I/O expander.
Table 11-40 shows the SPI timing requirements and Table 11-41 shows the SPI switching characteristics.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
Master Mode Timing Diagrams — Base Timings for 3 Pin Mode | |||||
7 | tsu(SPIDIN-SPC) | Input setup time, SPIDIN valid before receive edge of SPICLK. Polarity = 0 Phase = 0 | 2 | ns | |
7 | tsu(SPIDIN-SPC) | Input setup time, SPIDIN valid before receive edge of SPICLK. Polarity = 0 Phase = 1 | 2 | ns | |
7 | tsu(SPIDIN-SPC) | Input setup time, SPIDIN valid before receive edge of SPICLK. Polarity = 1 Phase = 0 | 2 | ns | |
7 | tsu(SPIDIN-SPC) | Input setup time, SPIDIN valid before receive edge of SPICLK. Polarity = 1 Phase = 1 | 2 | ns | |
8 | th(SPC-SPIDIN) | Input hold time, SPIDIN valid after receive edge of SPICLK. Polarity = 0 Phase = 0 | 5 | ns | |
8 | th(SPC-SPIDIN) | Input hold time, SPIDIN valid after receive edge of SPICLK. Polarity = 0 Phase = 1 | 5 | ns | |
8 | th(SPC-SPIDIN) | Input hold time, SPIDIN valid after receive edge of SPICLK. Polarity = 1 Phase = 0 | 5 | ns | |
8 | th(SPC-SPIDIN) | Input hold time, SPIDIN valid after receive edge of SPICLK. Polarity = 1 Phase = 1 | 5 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
Master Mode Timing Diagrams — Base Timings for 3 Pin Mode | |||||
1 | tc(SPC) | Cycle time, SPICLK, all master modes | 3*P2(1) | ns | |
2 | tw(SPCH) | Pulse width high, SPICLK, all master modes | 0.5*(3*P2) – 1 | ns | |
3 | tw(SPCL) | Pulse width low, SPICLK, all master modes | 0.5*(3*P2) – 1 | ns | |
4 | td(SPIDOUT-SPC) | Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK. Polarity = 0, Phase = 0. | 5 | ns | |
4 | td(SPIDOUT-SPC) | Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK. Polarity = 0, Phase = 1. | 5 | ns | |
4 | td(SPIDOUT-SPC) | Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK Polarity = 1, Phase = 0 | 5 | ns | |
4 | td(SPIDOUT-SPC) | Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK Polarity = 1, Phase = 1 | 5 | ns | |
5 | td(SPC-SPIDOUT) | Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK. Polarity = 0 Phase = 0 | 2 | ns | |
5 | td(SPC-SPIDOUT) | Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK Polarity = 0 Phase = 1 | 2 | ns | |
5 | td(SPC-SPIDOUT) | Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK Polarity = 1 Phase = 0 | 2 | ns | |
5 | td(SPC-SPIDOUT) | Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK Polarity = 1 Phase = 1 | 2 | ns | |
6 | toh(SPC-SPIDOUT) | Output hold time, SPIDOUT valid after receive edge of SPICLK except for final bit. Polarity = 0 Phase = 0 | 0.5*tc – 2 | ns | |
6 | toh(SPC-SPIDOUT) | Output hold time, SPIDOUT valid after receive edge of SPICLK except for final bit. Polarity = 0 Phase = 1 | 0.5*tc – 2 | ns | |
6 | toh(SPC-SPIDOUT) | Output hold time, SPIDOUT valid after receive edge of SPICLK except for final bit. Polarity = 1 Phase = 0 | 0.5*tc – 2 | ns | |
6 | toh(SPC-SPIDOUT) | Output hold time, SPIDOUT valid after receive edge of SPICLK except for final bit. Polarity = 1 Phase = 1 | 0.5*tc – 2 | ns | |
Additional SPI Master Timings — 4 Pin Mode with Chip Select Option | |||||
19 | td(SCS-SPC) | Delay from SPISCSx\ active to first SPICLK. Polarity = 0 Phase = 0 | 2*P2 – 5 | 2*P2 + 5 | ns |
19 | td(SCS-SPC) | Delay from SPISCSx\ active to first SPICLK. Polarity = 0 Phase = 1 | 0.5*tc + (2*P2) – 5 | 0.5*tc + (2*P2) + 5 | ns |
19 | td(SCS-SPC) | Delay from SPISCSx\ active to first SPICLK. Polarity = 1 Phase = 0 | 2*P2 – 5 | 2*P2 + 5 | ns |
19 | td(SCS-SPC) | Delay from SPISCSx\ active to first SPICLK. Polarity = 1 Phase = 1 | 0.5*tc + (2*P2) – 5 | 0.5*tc + (2*P2) + 5 | ns |
20 | td(SPC-SCS) | Delay from final SPICLK edge to master deasserting SPISCSx\. Polarity = 0 Phase = 0 | 1*P2 – 5 | 1*P2 + 5 | ns |
20 | td(SPC-SCS) | Delay from final SPICLK edge to master deasserting SPISCSx\. Polarity = 0 Phase = 1 | 0.5*tc + (1*P2) – 5 | 0.5*tc + (1*P2) + 5 | ns |
20 | td(SPC-SCS) | Delay from final SPICLK edge to master deasserting SPISCSx\. Polarity = 1 Phase = 0 | 1*P2 – 5 | 1*P2 + 5 | ns |
20 | td(SPC-SCS) | Delay from final SPICLK edge to master deasserting SPISCSx\. Polarity = 1 Phase = 1 | 0.5*tc + (1*P2) – 5 | 0.5*tc + (1*P2) + 5 | ns |
tw(SCSH) | Minimum inactive time on SPISCSx\ pin between two transfers when SPISCSx\ is not held using the CSHOLD feature. | 2*P2 – 5 | ns |
The 66AK2Hxx includes HyperLinks for companion device interfaces. This is a four-lane SerDes interface designed to operate at up to 10 Gbps per lane from pin-to-pin. The interface is used to connect with external accelerators that are manufactured using TI libraries. The HyperLink lines must be connected with DC coupling.
The interface includes the serial station management interfaces used to send power management and flow messages between devices. Each HyperLink interface consists of four LVCMOS inputs and four LVCMOS outputs configured as two 2-wire input buses and two 2-wire output buses. Each 2-wire bus includes a data signal and a clock signal.
Table 11-42 shows the Hyperlink timing requirements and Table 11-43 shows the Hyperlink switching characteristics.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
FL Interface | |||||
1 | tc(HYPTXFLCLK) | Clock period – HYPTXFLCLK (C1) | 5.75 | ns | |
2 | tw(HYPTXFLCLKH) | High pulse width – HYPTXFLCLK | 0.4*C1 | 0.6*C1 | ns |
3 | tw(HYPTXFLCLKL) | Low pulse width – HYPTXFLCLK | 0.4*C1 | 0.6*C1 | ns |
6 | tsu(HYPTXFLDAT-HYPTXFLCLKH) | Setup time – HYPTXFLDAT valid before HYPTXFLCLK high | 1 | ns | |
7 | th(HYPTXFLCLKH-HYPTXFLDAT) | Hold time – HYPTXFLDAT valid after HYPTXFLCLK high | 1 | ns | |
6 | tsu(HYPTXFLDAT-HYPTXFLCLKL) | Setup time – HYPTXFLDAT valid before HYPTXFLCLK low | 1 | ns | |
7 | th(HYPTXFLCLKL-HYPTXFLDAT) | Hold time – HYPTXFLDAT valid after HYPTXFLCLK low | 1 | ns | |
PM Interface | |||||
1 | tc(HYPRXPMCLK) | Clock period – HYPRXPMCLK (C3) | 5.75 | ns | |
2 | tw(HYPRXPMCLK) | High pulse width – HYPRXPMCLK | 0.4*C3 | 0.6*C3 | ns |
3 | tw(HYPRXPMCLK) | Low pulse width – HYPRXPMCLK | 0.4*C3 | 0.6*C3 | ns |
6 | tsu(HYPRXPMDAT-HYPRXPMCLKH) | Setup time – HYPRXPMDAT valid before HYPRXPMCLK high | 1 | ns | |
7 | th(HYPRXPMCLKH-HYPRXPMDAT) | Hold time – HYPRXPMDAT valid after HYPRXPMCLK high | 1 | ns | |
6 | tsu(HYPRXPMDAT-HYPRXPMCLKL) | Setup time – HYPRXPMDAT valid before HYPRXPMCLK low | 1 | ns | |
7 | th(HYPRXPMCLKL-HYPRXPMDAT) | Hold time – HYPRXPMDAT valid after HYPRXPMCLK low | 1 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
FL Interface | |||||
1 | tc(HYPRXFLCLK) | Clock period – HYPRXFLCLK (C2) | 6.4 | ns | |
2 | tw(HYPRXFLCLKH) | High pulse width – HYPRXFLCLK | 0.4*C2 | 0.6*C2 | ns |
3 | tw(HYPRXFLCLKL) | Low pulse width – HYPRXFLCLK | 0.4*C2 | 0.6*C2 | ns |
4 | tosu(HYPRXFLDAT-HYPRXFLCLKH) | Setup time – HYPRXFLDAT valid before HYPRXFLCLK high | 0.25*C2-0.4 | ns | |
5 | toh(HYPRXFLCLKH-HYPRXFLDAT) | Hold time – HYPRXFLDAT valid after HYPRXFLCLK high | 0.25*C2-0.4 | ns | |
4 | tosu(HYPRXFLDAT-HYPRXFLCLKL) | Setup time – HYPRXFLDAT valid before HYPRXFLCLK low | 0.25*C2-0.4 | ns | |
5 | toh(HYPRXFLCLKL-HYPRXFLDAT) | Hold time – HYPRXFLDAT valid after HYPRXFLCLK low | 0.25*C2-0.4 | ns | |
PM Interface | |||||
1 | tc(HYPTXPMCLK) | Clock period – HYPTXPMCLK (C4) | 6.4 | ns | |
2 | tw(HYPTXPMCLK) | High pulse width – HYPTXPMCLK | 0.4*C4 | 0.6*C4 | ns |
3 | tw(HYPTXPMCLK) | Low pulse width – HYPTXPMCLK | 0.4*C4 | 0.6*C4 | ns |
4 | tosu(HYPTXPMDAT-HYPTXPMCLKH) | Setup time – HYPTXPMDAT valid before HYPTXPMCLK high | 0.25*C2-0.4 | ns | |
5 | toh(HYPTXPMCLKH-HYPTXPMDAT) | Hold time – HYPTXPMDAT valid after HYPTXPMCLK high | 0.25*C2-0.4 | ns | |
4 | tosu(HYPTXPMDAT-HYPTXPMCLKL) | Setup time – HYPTXPMDAT valid before HYPTXPMCLK low | 0.25*C2-0.4 | ns | |
5 | toh(HYPTXPMCLKL-HYPTXPMDAT) | Hold time – HYPTXPMDAT valid after HYPTXPMCLK low | 0.25*C2-0.4 | ns |
The universal asynchronous receiver/transmitter (UART) module provides an interface between the device and a UART terminal interface or other UART-based peripheral. The UART is based on the industry standard TL16C550 asynchronous communications element which, in turn, is a functional upgrade of the TL16C450. Functionally similar to the TL16C450 on power up (single character or TL16C450 mode), the UART can be placed in an alternate FIFO (TL16C550) mode. This relieves the SoC of excessive software overhead by buffering received and transmitted characters. The receiver and transmitter FIFOs store up to 16 bytes including three additional bits of error status per byte for the receiver FIFO.
The UART performs serial-to-parallel conversions on data received from a peripheral device and parallel-to-serial conversion on data received from the C66x CorePac to be sent to the peripheral device. The C66x CorePac can read the UART status at any time. The UART includes control capability and a processor interrupt system that can be tailored to minimize software management of the communications link. For more information on UART, see the KeyStone Architecture Universal Asynchronous Receiver/Transmitter (UART) User's Guide.
Table 11-44 shows the UART timing requirements and Table 11-45 shows the UART switching characteristics.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
Receive Timing | |||||
4 | tw(RXSTART) | Pulse width, receive start bit | 0.96U(1) | 1.05U | ns |
5 | tw(RXH) | Pulse width, receive data/parity bit high | 0.96U | 1.05U | ns |
5 | tw(RXL) | Pulse width, receive data/parity bit low | 0.96U | 1.05U | ns |
6 | tw(RXSTOP1) | Pulse width, receive stop bit 1 | 0.96U | 1.05U | ns |
6 | tw(RXSTOP15) | Pulse width, receive stop bit 1.5 | 0.96U | 1.05U | ns |
6 | tw(RXSTOP2) | Pulse width, receive stop bit 2 | 0.96U | 1.05U | ns |
Autoflow Timing Requirements | |||||
8 | td(CTSL-TX) | Delay time, CTS asserted to START bit transmit | P(2) | 5P | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
Transmit Timing | |||||
1 | tw(TXSTART) | Pulse width, transmit start bit | U(1)- 2 | U + 2 | ns |
2 | tw(TXH) | Pulse width, transmit data/parity bit high | U – 2 | U + 2 | ns |
2 | tw(TXL) | Pulse width, transmit data/parity bit low | U – 2 | U + 2 | ns |
3 | tw(TXSTOP1) | Pulse width, transmit stop bit 1 | U – 2 | U + 2 | ns |
3 | tw(TXSTOP15) | Pulse width, transmit stop bit 1.5 | 1.5 × (U – 2) | 1.5 × ('U + 2) | ns |
3 | tw(TXSTOP2) | Pulse width, transmit stop bit 2 | 2 × (U – 2) | 2 × ('U + 2) | ns |
Autoflow Timing Requirements | |||||
7 | td(RX-RTSH) | Delay time, STOP bit received to RTS deasserted | P(2) | 5P | ns |
The two-lane PCI express (PCIe) module on 66AK2Hxx provides an interface between the device and other PCIe-compliant devices. The PCIe module provides low pin-count, high-reliability, and high-speed data transfer at rates up to 5.0 Gbps per lane on the serial links. For more information, see the KeyStone Architecture Peripheral Component Interconnect Express (PCIe) User's Guide.
The Packet Accelerator (PA) provides L2 to L4 classification functionalities and supports classification for Ethernet, VLAN, MPLS over Ethernet, IPv4/6, GRE over IP, and other session identification over IP such as UDP ports. It maintains 8k multiple-in, multiple-out hardware queues and also provides checksum capability as well as some QoS capabilities. The PA enables a single IP address to be used for a multicore device and can process up to 1.5 Mpps. The Packet Accelerator is coupled with the Network Coprocessor. For more information, see the KeyStone Architecture Packet Accelerator (PA) User’s Guide.
The Security Accelerator (SA) provides wire-speed processing on 1 Gbps Ethernet traffic on IPSec, SRTP, and 3GPP Air interface security protocols. It functions on the packet level with the packet and the associated security context being one of the above three types. The Security Accelerator is coupled with the Network Coprocessor, and receives the packet descriptor containing the security context in the buffer descriptor and the data to be encrypted/decrypted in the linked buffer descriptor. For more information, see the KeyStone Architecture Security Accelerator (SA) User’s Guide .
The gigabit Ethernet (GbE) switch subsystem provides an efficient interface between the device and the networked community. The Ethernet Media Access Controller (EMAC) supports 10Base-T (10 Mbits/second), and 100BaseTX (100 Mbps), in half- or full-duplex mode, and 1000BaseT (1000 Mbps) in full-duplex mode, with hardware flow control and quality-of-service (QOS) support. The GbE switch subsystem is coupled with the Network Coprocessor. For more information, see the Gigabit Ethernet (GbE) Switch Subsystem (1 GB) User's Guide.
An address range is assigned to the 66AK2Hxx. Each individual device has a 48-bit MAC address and consumes only one unique MAC address out of the range. There are two registers to hold these values, MACID1[31:0] (32 bits) and MACID2[15:0] (16 bits). The MACID1 and MACID2 registers are shown in Figure 11-46 and Figure 11-47 and described in Table 11-46 and Table 11-47.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MACID | |||||||||||||||||||||||||||||||
R,+xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
Legend: R = Read only; -x, value is indeterminate |
Bit | Field | Description |
---|---|---|
31-0 | MAC ID | MAC ID. Lower 32 bits. |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CRC | Reserved | FLOW | BCAST | MACID | |||||||||||||||||||||||||||
R+,cccc cccc | R,+rr rrrr | R,+z | R,+y | R,+xxxx xxxx xxxx xxxx |
LEGEND: R = Read only; -x = value is indeterminate |
Bit | Field | Description |
---|---|---|
31-24 | CRC | Variable |
23-18 | Reserved | 000000 |
17 | FLOW | MAC Flow Control
|
16 | BCAST | Default m/b-cast reception
|
15-0 | MAC ID | MAC ID. Upper 16 bits. |
There is a central processor time synchronization (CPTS) submodule in the Ethernet switch module that can be used for time synchronization. Programming this register selects the clock source for the CPTS_RCLK. See the Gigabit Ethernet (GbE) Switch Subsystem (1 GB) User's Guide for the register address and other details about the time synchronization submodule. The register CPTS_RFTCLK_SEL for reference clock selection of the time synchronization submodule is shown in Figure 11-48 and described in Table 11-48.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | CPTS_RFTCLK_SEL | ||||||||||||||||||||||||||||||
R-0 | RW-0 |
Legend: R = Read only; -x, value is indeterminate |
Bit | Field | Description |
---|---|---|
31-4 | Reserved | Reserved. Read as 0. |
3-0 | CPTS_RFTCLK_SEL | Reference clock select. This signal is used to control an external multiplexer that selects one of 8 clocks for time sync reference (RFTCLK). This CPTS_RFTCLK_SEL value can be written only when the CPTS_EN bit is cleared to 0 in the TS_CTL register.
|
The management data input/output (MDIO) module implements the 802.3 serial management interface to interrogate and control up to 32 Ethernet PHY(s) connected to the device, using a shared two-wire bus. Application software uses the MDIO module to configure the auto-negotiation parameters of each PHY attached to the EMAC, retrieve the negotiation results, and configure required parameters in the gigabit Ethernet (GbE) and 10-gigabit Ethernet (10GbE) switch subsystems for correct operation. The module allows almost transparent operation of the MDIO interface, with very little attention from the SoC. For more information, see the Gigabit Ethernet (GbE) Switch Subsystem (1 GB) User's Guide and the KeyStone II Architecture 10 Gigabit Ethernet Subsystem User's Guide.
The MDIO timing requirements are shown in Table 11-49 and the MDIO switching characteristics are shown in Table 11-50.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tc(MDCLK) | Cycle time, MDCLK | 400 | ns | |
2 | tw(MDCLKH) | Pulse duration, MDCLK high | 180 | ns | |
3 | tw(MDCLKL) | Pulse duration, MDCLK low | 180 | ns | |
4 | tsu(MDIO-MDCLKH) | Setup time, MDIO data input valid before MDCLK high | 10 | ns | |
5 | th(MDCLKH-MDIO) | Hold time, MDIO data input valid after MDCLK high | 10 | ns | |
tt(MDCLK) | Transition time, MDCLK | 5 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
6 | td(MDCLKH-MDIO) | Delay time, MDCLK high to MDIO data output valid | 10 | 300 | ns |
7 | th(MDCLKH-MDIO) | Hold time, MDIO data output valid after MDCLK high | 10 | ns | |
8 | td(MDCLKH-MDIO) | Delay time, MDCLK high to MDIO Hi-Z | 10 | 300 | ns |
The 3-port Ten Gigabit Ethernet Switch Subsystem (different from the Network Coprocessor integrated switch) includes a stand-alone EMAC switch subsystem and a 2-lane SerDes macro. The 2-lane macro enables only 2 external ports. It does not include any packet acceleration or security acceleration engine.
The key features of the 10GbE module are listed below:
The CPDMA component provides CPPI 4.2 compatible functionality, and provides a 128-bit-wide data path to the TeraNet, enabling:
For more information, see the KeyStone II Architecture 10 Gigabit Ethernet Subsystem User's Guide.
The timers can be used to time events, count events, generate pulses, interrupt the CorePacs, and send synchronization events to the EDMA3 channel controller.
The 66AK2Hxx device has up to twenty 64-bit timers in total, (66AK2H12 has 20 timers and the 66AK2H06 has 14) of which Timer0 through Timer3 (66AK2H06) or Timer7 (66AK2H12) are dedicated to each of the up to eight C66x CorePacs as watchdog timers and can also be used as general-purpose timers. Timer16 and Timer17 (66AK2H06) or (66AK2H12).Timer16 through Timer19 are dedicated to each of the Cortex-A15 processor cores as a watchdog timer and can also be used as general-purpose timers. The remaining timers can be configured as general-purpose timers only, with each timer programmed as a 64-bit timer or as two separate 32-bit timers.
When operating in 64-bit mode, the timer counts either module clock cycles or input (TINPLx) pulses (rising edge) and generates an output pulse/waveform (TOUTLx) plus an internal event (TINTLx) on a software-programmable period. When operating in 32-bit mode, the timer is split into two independent 32-bit timers. Each timer is made up of two 32-bit counters: a high counter and a low counter. The timer pins, TINPLx and TOUTLx are connected to the low counter. The timer pins, TINPHx and TOUTHx are connected to the high counter. The module clock for each timer module is SYSCLK1, with a shared local divider (not programmable) of /6 (timer module clock frequency = SYSCLK1/6). Refer to Table 11-13.
When operating in watchdog mode, the timer counts down to 0 and generates an event. It is a requirement that software writes to the timer before the count expires, after which the count begins again. If the count ever reaches 0, the timer event output is asserted. Reset initiated by a watchdog timer can be set by programming the Reset Type Status register (RSTYPE) (see Section 11.5.2.6) and the type of reset initiated can set by programming the Reset Configuration register (RSTCFG) (see Section 11.5.2.8). For more information, see the KeyStone Architecture Timer 64P User's Guide.
Table 11-51 and Table 11-52 list timing requirements and switching characteristics of the timers.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tw(TINPH) | Pulse duration, high | 12C | ns | |
2 | tw(TINPL) | Pulse duration, low | 12C | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
3 | tw(TOUTH) | Pulse duration, high | 12C – 3 | ns | |
4 | tw(TOUTL) | Pulse duration, low | 12C – 3 | ns |
The SRIO port on the device is a high-performance, low pin-count SerDes interconnect. SRIO interconnects in a baseband board design provide connectivity and control among the components. The device supports four 1× Serial RapidIO links or one 4× Serial RapidIO link. The SRIO interface is designed to operate at a data rate of up to 5 Gbps per differential pair. This equals 20 raw GBaud/s for the 4× SRIO port, or approximately 15 Gbps data throughput rate.
The PHY part of the SRIO consists of the physical layer and includes the input and output buffers (each serial link consists of a differential pair), the 8-bit/10-bit encoder/decoder, the PLL clock recovery, and the parallel-to-serial/serial-to-parallel converters.
For more information, see the KeyStone Architecture Serial RapidIO (SRIO) User's Guide.
The approach to specifying interface timing for the SRIO Port is different from other interfaces. For these other interfaces, the device timing was specified in terms of data manual specifications and I/O buffer information specification (IBIS) models.
The Serial RapidIO peripheral is a master peripheral in the device. It conforms to the RapidIO™ Interconnect Specification, Part VI: Physical Layer 1×/4× LP-Serial Specification, Revision 1.3.
For the SRIO port, Texas Instruments provides a PCB solution showing two TI SRIO-enabled DSPs connected together via a 4× SRIO link. TI has performed the simulation and system characterization to ensure all SRIO interface timings in this solution are met.
NOTE
TI supports only designs that follow the board design guidelines outlined in the RapidIO™ Interconnect Specification, Part VI: Physical Layer 1×/4× LP-Serial Specification, Revision 1.3.
The GPIO peripheral pins are used for general-purpose input/output for the device. These pins are also used to configure the device at boot time.
For more detailed information on device/ and peripheral configuration and the 66AK2Hxx device pin multiplexing, see Section 10.2.
These GPIO pins can also be used to generate individual core interrupts (no support of bank interrupt) and EDMA events.
Table 11-53 lists the GPIO registers.
HEX ADDRESS OFFSETS | ACRONYM | REGISTER NAME |
---|---|---|
0x0008 | BINTEN | GPIO interrupt per bank enable register |
0x000C | - | Reserved |
0x0010 | DIR | GPIO Direction Register |
0x0014 | OUT_DATA | GPIO Output Data Register |
0x0018 | SET_DATA | GPIO Set Data Register |
0x001C | CLR_DATA | GPIO Clear Data Register |
0x0020 | IN_DATA | GPIO Input Data Register |
0x0024 | SET_RIS_TRIG | GPIO Set Rising Edge Interrupt Register |
0x0028 | CLR_RIS_TRIG | GPIO Clear Rising Edge Interrupt Register |
0x002C | SET_FAL_TRIG | GPIO Set Falling Edge Interrupt Register |
0x0030 | CLR_FAL_TRIG | GPIO Clear Falling Edge Interrupt Register |
0x008C | - | Reserved |
0x0090 – 0x03FF | - | Reserved |
The GPIO input timing requirements are shown in Table 11-54 and the GPIO output switching characteristics are shown in Table 11-55.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tw(GPOH) | Pulse duration, GPOx high | 12C | ns | |
2 | tw(GPOL) | Pulse duration, GPOx low | 12C | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
3 | tw(GPOH) | Pulse duration, GPOx high | 36C – 8 | ns | |
4 | tw(GPOL) | Pulse duration, GPOx low | 36C – 8 | ns |
The device contains an enhanced Semaphore module for the management of shared resources of the SoC. The Semaphore enforces atomic accesses to shared chip-level resources so that the read-modify-write sequence is not broken. The Semaphore module has unique interrupts to each of the CorePacs to identify when that CorePac has acquired the resource.
Semaphore resources within the module are not tied to specific hardware resources. It is a software requirement to allocate semaphore resources to the hardware resources to be arbitrated.
The Semaphore module supports all the CPUs in the device—12 for 66AK2H14 and 66AK2H12 devices, and 6 for 66AK2H06 devices—and contains 64 semaphores that can be shared within the system.
There are two methods of accessing a semaphore resource:
The device includes a USB 3.0 controller providing the following capabilities:
For more information, see the KeyStone II Architecture Universal Serial Bus 3.0 (USB 3.0) User's Guide.
The EMIF16 module provides an interface between the device and external memories such as NAND and NOR flash. For more information, see the KeyStone Architecture External Memory Interface (EMIF16) User's Guide.
EMIF16 asynchronous memory timing requirements are shown in Table 11-56.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
General Timing | |||||
2 | tw(WAIT) | Pulse duration, WAIT assertion and deassertion minimum time | 2E | ns | |
28 | td(WAIT-WEH) | Setup time, WAIT asserted before WE high | 4E + 3 | ns | |
14 | td(WAIT-OEH) | Setup time, WAIT asserted before OE high | 4E + 3 | ns | |
Read Timing | |||||
3 | tC(CEL) | EMIF read cycle time when ew = 0, meaning not in extended wait mode | (RS+RST+RH+3)*E-3 | (RS+RST+RH+3)*E+3 | ns |
3 | tC(CEL) | EMIF read cycle time when ew =1, meaning extended wait mode enabled | (RS+RST+RH+3)*E-3 | (RS+RST+RH+3)*E+3 | ns |
4 | tosu(CEL-OEL) | Output setup time from CE low to OE low. SS = 0, not in select strobe mode | (RS+1) × E – 3 | (RS+1) × E + 3 | ns |
5 | toh(OEH-CEH) | Output hold time from OE high to CE high. SS = 0, not in select strobe mode | (RH+1) × E – 3 | (RH+1) × E + 3 | ns |
4 | tosu(CEL-OEL) | Output setup time from CE low to OE low in select strobe mode, SS = 1 | (RS+1) × E – 3 | (RS+1) × E + 3 | ns |
5 | toh(OEH-CEH) | Output hold time from OE high to CE high in select strobe mode, SS = 1 | (RH+1) × E – 3 | (RH+1) × E + 3 | ns |
6 | tosu(BAV-OEL) | Output setup time from BA valid to OE low | (RS+1) × E – 3 | (RS+1) × E + 3 | ns |
7 | toh(OEH-BAIV) | Output hold time from OE high to BA invalid | (RH+1) × E – 3 | (RH+1) × E + 3 | ns |
8 | tosu(AV-OEL) | Output setup time from A valid to OE low | (RS+1) × E – 3 | (RS+1) × E + 3 | ns |
9 | toh(OEH-AIV) | Output hold time from OE high to A invalid | (RH+1) × E – 3 | (RH+1) × E + 3 | ns |
10 | tw(OEL) | OE active time low, when ew = 0. Extended wait mode is disabled. | (RST+1) × E – 3 | (RST+1) × E + 3 | ns |
10 | tw(OEL) | OE active time low, when ew = 1. Extended wait mode is enabled. | (RST+1) × E – 3 | (RST+1) × E + 3 | ns |
11 | td(WAITH-OEH) | Delay time from WAIT deasserted to OE# high | 4E + 3 | ns | |
12 | tsu(D-OEH) | Input setup time from D valid to OE high | 3 | ns | |
13 | th(OEH-D) | Input hold time from OE high to D invalid | 0.5 | ns | |
Write Timing | |||||
15 | tc(CEL) | EMIF write cycle time when ew = 0, meaning not in extended wait mode | (WS+WST+WH+TA+4)*E-3 | (WS+WST+WH+TA+4)*E+3 | ns |
15 | tc(CEL) | EMIF write cycle time when ew =1., meaning extended wait mode is enabled | (WS+WST+WH+TA+4)*E-3 | (WS+WST+WH+TA+4)*E+3 | ns |
16 | tosuCEL-WEL) | Output setup time from CE low to WE low. SS = 0, not in select strobe mode | (WS+1) × E – 3 | ns | |
17 | toh(WEH-CEH) | Output hold time from WE high to CE high. SS = 0, not in select strobe mode | (WH+1) × E – 3 | ns | |
16 | tosuCEL-WEL) | Output setup time from CE low to WE low in select strobe mode, SS = 1 | (WS+1) × E – 3 | ns | |
17 | toh(WEH-CEH) | Output hold time from WE high to CE high in select strobe mode, SS = 1 | (WH+1) × E – 3 | ns | |
18 | tosu(RNW-WEL) | Output setup time from RNW valid to WE low | (WS+1) × E – 3 | ns | |
19 | toh(WEH-RNW) | Output hold time from WE high to RNW invalid | (WH+1) × E – 3 | ns | |
20 | tosu(BAV-WEL) | Output setup time from BA valid to WE low | (WS+1) × E – 3 | ns | |
21 | toh(WEH-BAIV) | Output hold time from WE high to BA invalid | (WH+1) × E – 3 | ns | |
22 | tosu(AV-WEL) | Output setup time from A valid to WE low | (WS+1) × E – 3 | ns | |
23 | toh(WEH-AIV) | Output hold time from WE high to A invalid | (WH+1) × E – 3 | ns | |
24 | tw(WEL) | WE active time low, when ew = 0. Extended wait mode is disabled. | (WST+1) × E – 3 | ns | |
24 | tw(WEL) | WE active time low, when ew = 1. Extended wait mode is enabled. | (WST+1) × E – 3 | ns | |
26 | tosu(DV-WEL) | Output setup time from D valid to WE low | (WS+1) × E – 3 | ns | |
27 | toh(WEH-DIV) | Output hold time from WE high to D invalid | (WH+1) × E – 3 | ns | |
25 | td(WAITH-WEH) | Delay time from WAIT deasserted to WE# high | 4E + 3 | ns |
The debug capabilities of KeyStone II devices include the Debug subsystem module (DEBUGSS). The DEBUGSS module contains the ICEPick module which handles the external JTAG Test Access Port (TAP) and multiple secondary TAPs for the various processing cores of the device. It also provides Debug Access Port (DAP) for system wide memory access from debugger, Cross triggering, System trace, Peripheral suspend generation, Debug port (EMUx) pin management, and so forth. The DEBUGSS module works in conjunction with the debug capability integrated in the processing cores (ARM and DSP subsystems) to provide a comprehensive hardware platform for a rich debug and development experience.
For more information on the AET, see the following documents:
The debugger is connected to the device through its external JTAG interface. The first level of debug interface seen by the debugger is connected to the ICEPick module embedded in the DEBUGSS. ICEPick is the chip-level TAP, responsible for providing access to the IEEE 1149.1 and IEEE 1149.6 boundary scan capabilities of the device.
The device has multiple processors, some with secondary JTAG TAPs (C66x CorePacs) and others with an APB memory mapped interface (ARM CorePac and Coresight components). ICEPick manages the TAPs as well as the power/reset/clock controls for the logic associated with the TAPs as well as the logic associated with the APB ports.
ICEPick provides the following debug capabilities:
The ICEPick module implements a connect register, which must be configured with a predefined key to enable the full set of JTAG instructions. Once the debug connect key has been properly programmed, ICEPick signals and subsystems emulation logic should be turned on.
To include more or fewer secondary TAPS in the scan chain, the debugger must use the ICEPick TAP router to program the TAPs. At its root, ICEPick is a scan-path linker that lets the debugger selectively choose which subsystem TAPs are accessible through the device-level debug interface. Each secondary TAP can be dynamically included in or excluded from the scan path. From external JTAG interface point of view, secondary TAPS that are not selected appear not to exist.
There are two types of components connected through ICEPick to the external debug interface:
Table 11-57 shows the ICEPick secondary taps in the system. For more details on the test related P1500 TAPs, see the DFTSS specification.
TAP # | TYPE | NAME | IR SCAN LENGTH | ACCESS IN SECURE DEVICE | DESCRIPTION |
---|---|---|---|---|---|
0 | n/a | n/a | n/a | No | Reserved (This is an internal TAP and not exposed at the DEBUGSS boundary) |
1 | JTAG | C66x CorePac0 | 38 | No | C66x CorePac0 |
2 | JTAG | C66x CorePac1 | 38 | No | C66x CorePac1 |
3 | JTAG | C66x CorePac2 | 38 | No | C66x CorePac2 |
4 | JTAG | C66x CorePac3 | 38 | No | C66x CorePac3 |
5 | JTAG | C66x CorePac4 | 38 | No | C66x CorePac4 (66AK2H12/14 only) |
6 | JTAG | C66x CorePac5 | 38 | No | C66x CorePac5 (66AK2H12/14 only) |
7 | JTAG | C66x CorePac6 | 38 | No | C66x CorePac6 (66AK2H12/14 only) |
8 | JTAG | C66x CorePac7 | 38 | No | C66x CorePac7 (66AK2H12/14 only) |
9..13 | JTAG | Reserved | NA | No | Spare ports for future expansion |
14 | CS | CS_DAP (APB-AP) | 4 | No | ARM A15 Cores (This is an internal TAP and not exposed at the DEBUGSS boundary) |
CS_DAP (AHB-AP) | PDSP Cores (This is an internal TAP and not exposed at the DEBUGSS boundary) |
For more information on ICEPick, see the KeyStone II Architecture Debug and Trace User’s Guide.
The device also supports 34 emulation pins — EMU[33:0], which includes 19 dedicated EMU pins and 15 pins multiplexed with GPIO. These pins are shared by A15/DSP/STM trace, cross triggering, and debug boot modes as shown in Table 11-61. The 34-pin dedicated emulation interface is also defined in the following table.
NOTE
If EMU[1:0] signals are shared for cross-triggering purposes in the board level, they should not be used for trace purposes.
EMU PINS | CROSS TRIGGERING | ARM TRACE | DSP TRACE | STM | DEBUG BOOT MODE | ||
---|---|---|---|---|---|---|---|
EMU33 | TRCDTa[29] | TRCDTb[31] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or Hi-ZTRCCLK, or Hi-Z | ||||
EMU32 | TRCDTa[28] | TRCDTb[30] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU31 | TRCDTa[27] | TRCDTb[29] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU30 | TRCDTa[26] | TRCDTb[28] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU29 | TRCDTa[25] | TRCDTb[27] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU28 | TRCDTa[24] | TRCDTb[26] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU27 | TRCDTa[23] | TRCDTb[25] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU26 | TRCDTa[22] | TRCDTb[24] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU25 | TRCDTa[21] | TRCDTb[23] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU24 | TRCDTa[20] | TRCDTb[22] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||||
EMU23 | TRCDTa[19] | TRCDTb[21] | TRCDTa[19] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | |||
EMU22 | TRCDTa[18] | TRCDTb[20] | TRCDTa[18] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | |||
EMU21 | TRCDTa[17] | TRCDTb[19] | TRCDTa[17] | TRCDTb[19] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU20 | TRCDTa[16] | TRCDTb[18] | TRCDTa[16] | TRCDTb[18] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU19 | TRCDTa[15] | TRCDTb[17] | TRCDTa[15] | TRCDTb[17] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU18 | TRCDTa[14] | TRCDTb[16] | TRCDTa[14] | TRCDTb[16] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU17 | TRCDTa[13] | TRCDTb[15] | TRCDTa[13] | TRCDTb[15] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU16 | TRCDTa[12] | TRCDTb[14] | TRCDTa[12] | TRCDTb[14] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU15 | TRCDTa[11] | TRCDTb[13] | TRCDTa[11] | TRCDTb[13] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU14 | TRCDTa[10] | TRCDTb[12] | TRCDTa[10] | TRCDTb[12] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU13 | TRCDTa[9] | TRCDTb[11] | TRCDTa[9] | TRCDTb[11] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU12 | TRCDTa[8] | TRCDTb[10] | TRCDTa[8] | TRCDTb[10] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU11 | TRCDTa[7] | TRCDTb[9] | TRCDTa[7] | TRCDTb[9] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU10 | TRCDTa[6] | TRCDTb[8] | TRCDTa[6] | TRCDTb[8] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU9 | TRCDTa[5] | TRCDTb[7] | TRCDTa[5] | TRCDTb[7] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU8 | TRCDTa[4] | TRCDTb[6] | TRCDTa[4] | TRCDTb[6] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU7 | TRCDTa[3] | TRCDTb[5] | TRCDTa[3] | TRCDTb[5] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU6 | TRCDTa[2] | TRCDTb[4] | TRCDTa[2] | TRCDTb[4] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU5 | TRCDTa[1] | TRCDTb[3] | TRCDTa[1] | TRCDTb[3] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU4 | TRCDTa[0] | TRCDTb[2] | TRCDTa[0] | TRCDTb[2] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU3 | TRCCTRL | TRCCTRL | TRCCLKB | TRCCLKB | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU2 | TRCCLK | TRCCLK | TRCCLKA | TRCCLKA | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | ||
EMU1 | Trigger1 | TRCDTb[1] | TRCDTb[1] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | dbgbootmode[1] | ||
EMU0 | Trigger0 | TRCDTb[0] | TRCDTb[0] | TRCDT3, or TRCDT2, or TRCDT1, or TRCDT0, or TRCCLK, or Hi-Z | dbgbootmode[0] |
The following combinations are possible concurrently:
ARM and DSP simultaneous trace is not supported.
Table 11-59 and Table 11-60 describe the master ID for the various hardware and software masters of the STM.
CPTRACER NAME | MSTID [7:0] | CLOCK DOMAIN | SID[4:0] | DESCRIPTION |
---|---|---|---|---|
CPT_MSMCx_MST, where x = 0..3 | 0x94-0x97 | SYSCLK1/1 | 0x0..3 | MSMC SRAM Bank 0 to MSMC SRAM Bank 3 monitors |
CPT_MSMC4_MST | 0xB1 | SYSCLK1/1 | 0x4 | MSMC SRAM Bank 4 |
CPT_MSMCx_MST, where x = 5..7 | 0xAE – 0xB0 | SYSCLK1/1 | 0x5..7 | MSMC SRAM Bank 5to MSMC SRAM Bank 7 monitors |
CPT_DDR3A_MST | 0x98 | SYSCLK1/1 | 0x8 | MSMC DDR3A port monitor |
CPT_L2_x_MST, where x = 0..7 | 0x8C – 0x93 | SYSCLK1/3 | 0x9..0x10 | DSP 0 to 7 SDMA port monitors |
CPT_TPCC0_4_MST | 0xA4 | SYSCLK1/3 | 0x11 | EDMA 0 and EDMA 4 CFG port monitor |
CPT_TPCC1_2_3_MST | 0xA5 | SYSCLK1/3 | 0x12 | EDMA 1, EDMA2 and EDMA3 CFG port monitor |
CPT_INTC_MST | 0xA6 | SYSCLK1/3 | 0x13 | INTC port monitor (for INTC 0/1/2 and GIC400) |
CPT_SM_MST | 0x99 | SYSCLK1/3 | 0x14 | Semaphore CFG port monitors |
CPT_QM_CFG1_MST | 0x9A | SYSCLK1/3 | 0x15 | QMSS CFG1 port monitor |
CPT_QM_CFG2_MST | 0xA0 | SYSCLK1/3 | 0x16 | QMSS CFG2 port monitor |
CPT_QM_M_MST | 0x9B | SYSCLK1/3 | 0x17 | QM_M CFG/DMA port monitor |
CPT_SPI_ROM_EMIF16_MST | 0xA7 | SYSCLK1/3 | 0x18 | SPI ROM EMIF16 CFG port monitor |
CPT_CFG_MST | 0x9C | SYSCLK1/3 | 0x19 | SCR_3P_B and SCR_6P_B CFG peripheral port monitors |
Reserved | 0x1A | Reserved | ||
Reserved | 0x1B | Reserved | ||
Reserved | 0x1C | Reserved | ||
Reserved | 0x1D | Reserved | ||
Reserved | 0x1E | Reserved | ||
CPT_DDR3B_MST | 0xA1 | SYSCLK1/3 | 0x1F | DDR 3B port monitor (on SCR 3C) |
CORE NAME | MSTID [7:0] | DESCRIPTION |
---|---|---|
C66x CorePac0 | 0x0 | C66x CorePac MDMA Master ID |
C66x CorePac1 | 0x1 | C66x CorePac MDMA Master ID |
C66x CorePac2 | 0x2 | C66x CorePac MDMA Master ID |
C66x CorePac3 | 0x3 | C66x CorePac MDMA Master ID |
C66x CorePac4 | 0x4 | (66AK2H14/12 only) |
C66x CorePac5 | 0x5 | (66AK2H14/12 only) |
C66x CorePac6 | 0x6 | (66AK2H14/12 only) |
C66x CorePac7 | 0x7 | (66AK2H14/12 only) |
A15 Core0 | 0x8 | ARM Master IDs |
A15 Core1 | 0x9 | ARM Master ID |
A15 Core2 | 0xA | ARM Master ID |
A15 Core3 | 0xB | ARM Master ID |
QMSS PDSPs | 0x46 | All QMSS PDSPs share the same master ID. Differentiating between the 8 PDSPs is done through the channel number used |
The cross-trigger lines are shared by all the subsystems implementing cross-triggering. An MPU subsystem trigger event can therefore be propagated to any application subsystem or system trace component. The remote subsystem or system trace component can be programmed to be sensitive to the global SOC trigger lines to either:
Table 11-61 describes the cross-triggering connection.
NAME | SOURCE TRIGGERS | SINK TRIGGERS | COMMENTS |
---|---|---|---|
Inside DEBUGSS | |||
Device-to-device trigger via EMU0/1 pins | YES | YES | This is fixed (not affected by configuration) |
MIPI-STM | NO | YES | Trigger input only for MIPI-STM in DebugSS |
CT-TBR | YES | YES | DEBUGSS CT-TBR |
CS-TPIU | NO | YES | DEBUGSS CS-TPIU |
Outside DEBUGSS | |||
DSPSS | YES | YES | |
CP_Tracers | YES | YES | |
ARM | YES | YES | ARM Cores, ARM CS-STM and ARM CT-TBR |
Table 11-62 describes the crosstrigger connection between various cross trigger sources and TI XTRIG module.
NAME | ASSIGNED XTRIG CHANNEL NUMBER |
---|---|
C66x CorePac0-3 (66AK2H06 only) | XTRIG 0-3 (66AK2H06 only) |
C66x CorePac0-7 (66AK2H12/14 only) | XTRIG 0-7 (66AK2H12/14 only) |
CPTracer 0..31 (The CPTracer number refers to the SID[4:0] as shown in Table 11-59 | XTRIG 8 .. 39 |
Table 11-63 lists all the peripherals on this device, and the status of whether or not it supports emulation suspend or emulation request events.
The DEBUGSS supports up to 32 debug suspend sources (processor cores) and 64 debug suspend sinks (peripherals). The assignment of peripherals is shown in Table 11-64 and the assignment of processor cores is shown in Table 11-65. By default the logical AND of all the processor cores is routed to the peripherals. It is possible to select an individual core to be routed to the peripheral (For example: used in tightly coupled peripherals like timers), a logical AND of all cores (Global peripherals) or a logical OR of all cores by programming the DEBUGSS.DRM module.
The SOFT bit should be programmed based on whether or not an immediate pause of the peripheral function is required or if the peripheral suspend should occur only after a particular completion point is reached in the normal peripheral operation. The FREE bit should be programmed to enable or disable the emulation suspend functionality.
PERIPHERAL | EMULATION SUSPEND SUPPORT | EMULATION REQUEST SUPPORT (cemudbg/emudbg) | DEBUG PERIPHERAL ASSIGNMENT | |||
---|---|---|---|---|---|---|
STOP-MODE | REAL-TIME MODE | FREE BIT | STOP BIT | |||
Infrastructure Peripherals | ||||||
EDMA_x, where X=0/1/2/3/4 | N | N | N | N | Y | NA |
QM_SS | Y (CPDMA only) | Y (CPDMA only) | Y (CPDMA only) | Y (CPDMA only) | Y | 20 |
CP_Tracers_X, where X = 0..32 | N | N | N | N | N | NA |
MPU_X, where X = 0..11 | N | N | N | N | Y | NA |
CP_INTC | N | N | N | N | Y | NA |
BOOT_CFG | N | N | N | N | Y | NA |
SEC_MGR | N | N | N | N | Y | NA |
PSC | N | N | N | N | N | NA |
PLL | N | N | N | N | N | NA |
TIMERx, x=0, 1..7, 8..19 | Y | N | Y | Y | N | 0, 1..7, 8..19 |
Semaphore | N | N | N | N | Y | NA |
GPIO | N | N | N | N | N | NA |
Memory Controller Peripherals | ||||||
DDR3A/B | N | N | N | N | Y | NA |
MSMC | N | N | N | N | Y | NA |
EMIF16 | N | N | N | N | Y | NA |
Serial Interfaces | ||||||
I2C_X, where X = 0/1/2 | Y | N | Y | Y | Y | 21/22/23 |
SPI_X, where X = 0/1/2 | N | N | N | N | Y | NA |
UART_X, where X = 0/1 | Y | N | Y | Y | Y | 24/25 |
High Speed Serial Interfaces | ||||||
Hyperlink_0/1 | N | N | N | N | Y | |
PCIeSS 0 | N | N | N | N | N | |
SRIO / NetCP_1 | Y | Y | Y | Y (Soft Only) | Y | 26 |
NetCP (ethernet switch) | Y | Y | Y | Y | N | 27 |
10GbE (ethernet switch)(1) | Y | N | Y | Y | N | 29 |
USBSS | N | N | N | N | N | NA |
Based on Table 11-63, the number of suspend interfaces in Keystone II devices is listed in Table 11-64.
INTERFACES | NUM_SUSPEND_PERIPHERALS |
---|---|
EMUSUSP Interfaces | 54 |
EMUSUSP Realtime Interfaces | 15 |
Table 11-65 summarizes the DEBUG core assignment. Emulation suspend output of all the cores are synchronized to SYSCLK1/6 which is frequency of the slowest peripheral that uses these signals.
CORE # | ASSIGNMENT |
---|---|
0..7 | C66x CorePac0..7 |
8..11 | ARM CorePac 8..11 |
0..7 | C66x CorePac0..3 C66x CorePac4.,7 (66AK2H12/14 only) |
12..29 | Reserved |
30 | Logical OR of Core# 0..11 |
31 | Logical AND of Core #0..11 |
The device supports advanced event triggering (AET). This capability can be used to debug complex problems as well as understand performance characteristics of user applications. AET provides the following capabilities:
For more information on the AET, see the following documents:
The device supports trace. Trace is a debug technology that provides a detailed, historical account of application code execution, timing, and data accesses. Trace collects, compresses, and exports debug information for analysis. Trace works in real-time and does not impact the execution of the system.
For more information on board design guidelines for trace advanced emulation, see the Emulation and Trace Headers Technical Reference Manual.
The Trace switching characteristics are shown in Table 11-66.
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
1 | tw(DPnH) | Pulse duration, DPn/EMUn high | 2.4 | ns | |
1 | tw(DPnH)90% | Pulse duration, DPn/EMUn high detected at 90% Voh | 1.5 | ns | |
2 | tw(DPnL) | Pulse duration, DPn/EMUn low | 2.4 | ns | |
2 | tw(DPnL)10% | Pulse duration, DPn/EMUn low detected at 10% Voh | 1.5 | ns | |
3 | tsko(DPn) | Output skew time, time delay difference between DPn/EMUn pins configured as trace | -1 | 1 | ns |
tskp(DPn) | Pulse skew, magnitude of difference between high-to-low (tphl) and low-to-high (tplh) propagation delays. | 600 | ps | ||
tsldp_o(DPn) | Output slew rate DPn/EMUn | 3.3 | V/ns |
The Joint Test Action Group (JTAG) interface is used to support boundary scan and emulation of the device. The boundary scan supported allows for an asynchronous test reset (TRST) and only the five baseline JTAG signals (for example, no EMU[1:0]) required for boundary scan. Most interfaces on the device follow the Boundary Scan Test Specification (IEEE 1149.1), while all of the SerDes (SGMII) support the AC-coupled net test defined in AC-Coupled Net Test Specification (IEEE 1149.6).
It is expected that all compliant devices are connected through the same JTAG interface, in daisy-chain fashion, in accordance with the specification. The JTAG interface uses 1.8-V LVCMOS buffers, compliant with the Power Supply Voltage and Interface Standard for Nonterminated Digital Integrated Circuit Specification (EAI/JESD8-5).
For maximum reliability, the 66AK2Hxx device includes an internal pulldown (IPD) on the TRST pin to ensure that TRST will always be asserted upon power up and the device’s internal emulation logic will always be properly initialized when this pin is not routed out. JTAG controllers from Texas Instruments actively drive TRST high. However, some third-party JTAG controllers may not drive TRST high, but expect the use of an external pullup resistor on TRST. When using this type of JTAG controller, assert TRST to initialize the device after powerup and externally drive TRST high before attempting any emulation or boundary scan operations.
JTAG test port timing requirements are shown in Table 11-67 and JTAG test port switching characteristics are shown in Table 11-68.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tc(TCK) | Cycle time, TCK | 23 | ns | |
1a | tw(TCKH) | Pulse duration, TCK high (40% of tc) | 9.2 | ns | |
1b | tw(TCKL) | Pulse duration, TCK low (40% of tc) | 9.2 | ns | |
3 | tsu(TDI-TCK) | Input setup time, TDI valid to TCK high | 2 | ns | |
3 | tsu(TMS-TCK) | Input setup time, TMS valid to TCK high | 2 | ns | |
4 | th(TCK-TDI) | Input hold time, TDI valid from TCK high | 10 | ns | |
4 | th(TCK-TMS) | Input hold time, TMS valid from TCK high | 10 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
2 | td(TCKL-TDOV) | Delay time, TCK low to TDO valid | 8.24 | ns |