ZHCSDR5B March   2012  – April 2015 TMS320C6654

PRODUCTION DATA.  

  1. C6654 特性和描述
    1. 1.1 特性
    2. 1.2 KeyStone 架构
    3. 1.3 器件描述
    4. 1.4 功能方框图
  2. 修订历史记录
  3. Device Overview
    1. 3.1 Device Characteristics
    2. 3.2 DSP Core Description
    3. 3.3 Memory Map Summary
    4. 3.4 Boot Sequence
    5. 3.5 Boot Modes Supported and PLL Settings
      1. 3.5.1 Boot Device Field
      2. 3.5.2 Device Configuration Field
        1. 3.5.2.1 EMIF16 / UART / No Boot Device Configuration
          1. 3.5.2.1.1 No Boot Mode
          2. 3.5.2.1.2 UART Boot Mode
          3. 3.5.2.1.3 EMIF16 Boot Mode
        2. 3.5.2.2 Ethernet (SGMII) Boot Device Configuration
        3. 3.5.2.3 NAND Boot Device Configuration
        4. 3.5.2.4 PCI Boot Device Configuration
        5. 3.5.2.5 I2C Boot Device Configuration
          1. 3.5.2.5.1 I2C Master Mode
          2. 3.5.2.5.2 I2C Passive Mode
        6. 3.5.2.6 SPI Boot Device Configuration
      3. 3.5.3 Boot Parameter Table
        1. 3.5.3.1 Sleep / XIP Mode Parameter Table
        2. 3.5.3.2 SRIO Mode Boot Parameter Table
        3. 3.5.3.3 Ethernet Mode Boot Parameter Table
        4. 3.5.3.4 NAND Mode Boot Parameter Table
        5. 3.5.3.5 PCIE Mode Boot Parameter Table
        6. 3.5.3.6 I2C Mode Boot Parameter Table
        7. 3.5.3.7 SPI Mode Boot Parameter Table
        8. 3.5.3.8 Hyperlink Mode Boot Parameter Table
        9. 3.5.3.9 UART Mode Boot Parameter Table
    6. 3.6 PLL Boot Configuration Settings
    7. 3.7 Second-Level Bootloaders
    8. 3.8 Terminals
      1. 3.8.1 Package Terminals
      2. 3.8.2 Pin Map
    9. 3.9 Terminal Functions
  4. Device Configuration
    1. 4.1 Device Configuration at Device Reset
    2. 4.2 Peripheral Selection After Device Reset
    3. 4.3 Device State Control Registers
      1. 4.3.1  Device Status Register
      2. 4.3.2  Device Configuration Register
      3. 4.3.3  JTAG ID (JTAGID) Register Description
      4. 4.3.4  Kicker Mechanism (KICK0 and KICK1) Register
      5. 4.3.5  LRESETNMI PIN Status (LRSTNMIPINSTAT) Register
      6. 4.3.6  LRESETNMI PIN Status Clear (LRSTNMIPINSTAT_CLR) Register
      7. 4.3.7  Reset Status (RESET_STAT) Register
      8. 4.3.8  Reset Status Clear (RESET_STAT_CLR) Register
      9. 4.3.9  Boot Complete (BOOTCOMPLETE) Register
      10. 4.3.10 Power State Control (PWRSTATECTL) Register
      11. 4.3.11 NMI Event Generation to CorePac (NMIGRx) Register
      12. 4.3.12 IPC Generation (IPCGRx) Registers
      13. 4.3.13 IPC Acknowledgement (IPCARx) Registers
      14. 4.3.14 IPC Generation Host (IPCGRH) Register
      15. 4.3.15 IPC Acknowledgement Host (IPCARH) Register
      16. 4.3.16 Timer Input Selection Register (TINPSEL)
      17. 4.3.17 Timer Output Selection Register (TOUTPSEL)
      18. 4.3.18 Reset Mux (RSTMUXx) Register
      19. 4.3.19 Device Speed (DEVSPEED) Register
      20. 4.3.20 Pin Control 0 (PIN_CONTROL_0) Register
      21. 4.3.21 Pin Control 1 (PIN_CONTROL_1) Register
      22. 4.3.22 uPP Clock Source (UPP_CLOCK) Register
    4. 4.4 Pullup/Pulldown Resistors
  5. System Interconnect
    1. 5.1 Internal Buses and Switch Fabrics
    2. 5.2 Switch Fabric Connections Matrix
    3. 5.3 TeraNet Switch Fabric Connections
    4. 5.4 Bus Priorities
      1. 5.4.1 Packet DMA Priority Allocation (PKTDMA_PRI_ALLOC) Register
      2. 5.4.2 EMAC / uPP Priority Allocation (EMAC_UPP_PRI_ALLOC) Register
  6. C66x CorePac
    1. 6.1 Memory Architecture
      1. 6.1.1 L1P Memory
      2. 6.1.2 L1D Memory
      3. 6.1.3 L2 Memory
      4. 6.1.4 MSM Controller
      5. 6.1.5 L3 Memory
    2. 6.2 Memory Protection
    3. 6.3 Bandwidth Management
    4. 6.4 Power-Down Control
    5. 6.5 C66x CorePac Revision
    6. 6.6 C66x CorePac Register Descriptions
  7. Device Operating Conditions
    1. 7.1 Absolute Maximum Ratings
    2. 7.2 Recommended Operating Conditions
    3. 7.3 Electrical Characteristics
    4. 7.4 Power Supply to Peripheral I/O Mapping
  8. Peripheral Information and Electrical Specifications
    1. 8.1  Recommended Clock and Control Signal Transition Behavior
    2. 8.2  Power Supplies
      1. 8.2.1 Power-Supply Sequencing
        1. 8.2.1.1 Core-Before-IO Power Sequencing
        2. 8.2.1.2 IO-Before-Core Power Sequencing
        3. 8.2.1.3 Prolonged Resets
        4. 8.2.1.4 Clocking During Power Sequencing
      2. 8.2.2 Power-Down Sequence
      3. 8.2.3 Power Supply Decoupling and Bulk Capacitors
      4. 8.2.4 SmartReflex
    3. 8.3  Power Sleep Controller (PSC)
      1. 8.3.1 Power Domains
      2. 8.3.2 Clock Domains
      3. 8.3.3 PSC Register Memory Map
    4. 8.4  Reset Controller
      1. 8.4.1 Power-on Reset
      2. 8.4.2 Hard Reset
      3. 8.4.3 Soft Reset
      4. 8.4.4 Local Reset
      5. 8.4.5 Reset Priority
      6. 8.4.6 Reset Controller Register
      7. 8.4.7 Reset Electrical Data / Timing
    5. 8.5  Main PLL and PLL Controller
      1. 8.5.1 Main PLL Controller Device-Specific Information
        1. 8.5.1.1 Internal Clocks and Maximum Operating Frequencies
        2. 8.5.1.2 Main PLL Controller Operating Modes
        3. 8.5.1.3 Main PLL Stabilization, Lock, and Reset Times
      2. 8.5.2 PLL Controller Memory Map
        1. 8.5.2.1 PLL Secondary Control Register (SECCTL)
        2. 8.5.2.2 PLL Controller Divider Register (PLLDIV2, PLLDIV5, PLLDIV8)
        3. 8.5.2.3 PLL Controller Clock Align Control Register (ALNCTL)
        4. 8.5.2.4 PLLDIV Divider Ratio Change Status Register (DCHANGE)
        5. 8.5.2.5 SYSCLK Status Register (SYSTAT)
        6. 8.5.2.6 Reset Type Status Register (RSTYPE)
        7. 8.5.2.7 Reset Control Register (RSTCTRL)
        8. 8.5.2.8 Reset Configuration Register (RSTCFG)
        9. 8.5.2.9 Reset Isolation Register (RSISO)
      3. 8.5.3 Main PLL Control Register
      4. 8.5.4 Main PLL and PLL Controller Initialization Sequence
      5. 8.5.5 Main PLL Controller/PCIe Clock Input Electrical Data/Timing
    6. 8.6  DDR3 PLL
      1. 8.6.1 DDR3 PLL Control Register
      2. 8.6.2 DDR3 PLL Device-Specific Information
      3. 8.6.3 DDR3 PLL Initialization Sequence
      4. 8.6.4 DDR3 PLL Input Clock Electrical Data/Timing
    7. 8.7  Enhanced Direct Memory Access (EDMA3) Controller
      1. 8.7.1 EDMA3 Device-Specific Information
      2. 8.7.2 EDMA3 Channel Controller Configuration
      3. 8.7.3 EDMA3 Transfer Controller Configuration
      4. 8.7.4 EDMA3 Channel Synchronization Events
    8. 8.8  Interrupts
      1. 8.8.1 Interrupt Sources and Interrupt Controller
      2. 8.8.2 CIC Registers
        1. 8.8.2.1 CIC0 Register Map
        2. 8.8.2.2 CIC1 Register Map
      3. 8.8.3 Inter-Processor Register Map
      4. 8.8.4 NMI and LRESET
      5. 8.8.5 External Interrupts Electrical Data/Timing
    9. 8.9  Memory Protection Unit (MPU)
      1. 8.9.1 MPU Registers
        1. 8.9.1.1 MPU Register Map
        2. 8.9.1.2 Device-Specific MPU Registers
          1. 8.9.1.2.1 Configuration Register (CONFIG)
      2. 8.9.2 MPU Programmable Range Registers
        1. 8.9.2.1 Programmable Range n Start Address Register (PROGn_MPSAR)
        2. 8.9.2.2 Programmable Range n End Address Register (PROGn_MPEAR)
        3. 8.9.2.3 Programmable Range n Memory Protection Page Attribute Register (PROGn_MPPA)
        4. 8.9.2.4 MPU Registers Reset Values
    10. 8.10 DDR3 Memory Controller
      1. 8.10.1 DDR3 Memory Controller Device-Specific Information
      2. 8.10.2 DDR3 Memory Controller Electrical Data/Timing
    11. 8.11 I2C Peripheral
      1. 8.11.1 I2C Device-Specific Information
      2. 8.11.2 I2C Peripheral Register Description(s)
      3. 8.11.3 I2C Electrical Data/Timing
        1. 8.11.3.1 Inter-Integrated Circuits (I2C) Timing
    12. 8.12 SPI Peripheral
      1. 8.12.1 SPI Electrical Data/Timing
        1. 8.12.1.1 SPI Timing
    13. 8.13 UART Peripheral
    14. 8.14 PCIe Peripheral
    15. 8.15 EMIF16 Peripheral
      1. 8.15.1 EMIF16 Electrical Data/Timing
    16. 8.16 Ethernet Media Access Controller (EMAC)
      1. 8.16.1 EMAC Device-Specific Information
      2. 8.16.2 EMAC Peripheral Register Description(s)
      3. 8.16.3 EMAC Electrical Data/Timing (SGMII)
    17. 8.17 Management Data Input/Output (MDIO)
      1. 8.17.1 MDIO Peripheral Registers
      2. 8.17.2 MDIO Timing
    18. 8.18 Timers
      1. 8.18.1 Timers Device-Specific Information
      2. 8.18.2 Timers Electrical Data/Timing
    19. 8.19 General-Purpose Input/Output (GPIO)
      1. 8.19.1 GPIO Device-Specific Information
      2. 8.19.2 GPIO Electrical Data/Timing
    20. 8.20 Semaphore2
    21. 8.21 Multichannel Buffered Serial Port (McBSP)
      1. 8.21.1 McBSP Peripheral Register
      2. 8.21.2 McBSP Electrical Data/Timing
        1. 8.21.2.1 McBSP Timing
    22. 8.22 Universal Parallel Port (uPP)
      1. 8.22.1 uPP Register Descriptions
    23. 8.23 Emulation Features and Capability
      1. 8.23.1 Advanced Event Triggering (AET)
      2. 8.23.2 Trace
        1. 8.23.2.1 Trace Electrical Data/Timing
      3. 8.23.3 IEEE 1149.1 JTAG
        1. 8.23.3.1 IEEE 1149.1 JTAG Compatibility Statement
        2. 8.23.3.2 JTAG Electrical Data/Timing
  9. Device and Documentation Support
    1. 9.1 Device Support
      1. 9.1.1 Development Support
      2. 9.1.2 Device and Development-Support Tool Nomenclature
    2. 9.2 Documentation Support
      1. 9.2.1 Related Links
      2. 9.2.2 社区资源
    3. 9.3 商标
    4. 9.4 静电放电警告
    5. 9.5 Glossary
  10. 10Mechanical Data
    1. 10.1 Thermal Data
    2. 10.2 Packaging Information

封装选项

请参考 PDF 数据表获取器件具体的封装图。

机械数据 (封装 | 引脚)
  • CZH|625
散热焊盘机械数据 (封装 | 引脚)
订购信息

8 Peripheral Information and Electrical Specifications

This chapter covers the various peripherals on the C6654 DSP. Peripheral-specific information, timing diagrams, electrical specifications, and register memory maps are described in this chapter.

8.1 Recommended Clock and Control Signal Transition Behavior

All clocks and control signals must transition between VIH and VIL (or between VIL and VIH) in a monotonic manner.

8.2 Power Supplies

The following sections describe the proper power-supply sequencing and timing needed to properly power on the C6654. The various power supply rails and their primary function is listed in Table 8-1.

Table 8-1 Power Supply Rails on C6654

NAME PRIMARY FUNCTION VOLTAGE NOTES
CVDD SmartReflex core supply voltage 0.85 V - 1.1 V Includes core voltage for DDR3 module
CVDD1 Core supply voltage for memory array 1.0 V Fixed supply at 1.0 V
VDDT1 Reserved 1.0 V Connect to CVDD1
VDDT2 SGMII/PCIE SerDes termination supply 1.0 V Filtered version of CVDD1. Special considerations for noise. Filter is not needed if SGMII/PCIE is not in use.
DVDD15 1.5-V DDR3 IO supply 1.5 V
VDDR1 Reserved 1.5 V Connect to DVDD15
VDDR2 PCIE SerDes regulator supply 1.5 V Filtered version of DVDD15. Special considerations for noise. Filter is not needed if PCIE is not in use.
VDDR3 SGMII SerDes regulator supply 1.5 V Filtered version of DVDD15. Special considerations for noise. Filter is not needed if SGMII is not in use.
VDDR4 Reserved 1.5 V Connect to DVDD15
DVDD18 1.8-V IO supply 1.8V
AVDDA1 Main PLL supply 1.8 V Filtered version of DVDD18. Special considerations for noise.
AVDDA2 DDR3 PLL supply 1.8 V Filtered version of DVDD18. Special considerations for noise.
VREFSSTL 0.75-V DDR3 reference voltage 0.75 V Should track the 1.5-V supply. Use 1.5 V as source.
VSS Ground GND

8.2.1 Power-Supply Sequencing

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.

  1. CVDD
  2. CVDD1, VDDT1-2
  3. DVDD18, AVDDA1, AVDDA2
  4. DVDD15, VDDR1-4

The second sequence provides compatibility with other TI processors with the IO voltage starting before the core voltages as shown below.

  1. DVDD18, AVDDA1, AVDDA2
  2. CVDD
  3. CVDD1, VDDT1-2
  4. DVDD15, VDDR1-4

The clock input buffers for CORECLK, DDRCLK, SGMIICLK, and PCIECLK use only 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 CLKs 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 1K ohm resistor. The P leg should be tied to CVDD to ensure it won't 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 broken into two phases. The first phase consists of the time period from the activation of the first power supply until the point in 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 will trigger 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 input that has been selected as the source for the main PLL and SYSCLK1 refers to the main PLL output that is used by the CorePac, see Figure 8-7 for more details.

8.2.1.1 Core-Before-IO Power Sequencing

Figure 8-1 shows the power sequencing and reset control of C6654 for device initialization. POR may be removed after the power has been stable for the required 100 µsec. RESETFULL must be held low for a period 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. Core-before-IO power sequencing is defined in Table 8-2.

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.

TMS320C6654 Core_Before_IO_Power_Sequencing.gifFigure 8-1 Core Before IO Power Sequencing

Table 8-2 Core Before IO Power Sequencing

TIME SYSTEM STATE
1 Begin Power Stabilization Phase
  • CVDD (core AVS) ramps up.
  • POR must be held low through the power stabilization phase. Because POR is low, all the core logic that has async reset (created from POR) is put into the reset state.
2a
  • CVDD1 (core constant) ramps at the same time or shortly following CVDD. Although ramping CVDD1 and CVDD simultaneously is permitted, the voltage for CVDD1 must never exceed CVDD until after CVDD has reached a valid voltage.
  • The purpose of ramping up the core supplies close to each other is to reduce crowbar current. CVDD1 should trail CVDD as this will ensure that the WLs in the memories are turned off and there is no current through the memory bit cells. If, however, CVDD1 (core constant) ramps up before CVDD (core AVS), then the worst-case current could be on the order of twice the specified draw of CVDD1.
2b
  • Once CVDD is valid, the clock drivers should be enabled. Although the clock inputs are not necessary at this time, they should either be driven with a valid clock or be held in a static state with one leg high and one leg low.
2c
  • The DDRCLK and SYSCLK1 may begin to toggle anytime between when CVDD is at a valid level and the setup time before POR goes high specified by t6.
3
  • Filtered versions of 1.8 V can ramp simultaneously with DVDD18.
  • RESETSTAT is driven low once the DVDD18 supply is available.
  • All LVCMOS input and bidirectional pins must not be driven or pulled high until DVDD18 is present. Driving an input or bidirectional pin before DVDD18 is valid could cause damage to the device.
4a
  • DVDD15 (1.5 V) supply is ramped up following DVDD18. Although ramping DVDD18 and DVDD15 simultaneously is permitted, the voltage for DVDD15 must never exceed DVDD18.
4b
  • RESET may be driven high any time after DVDD18 is at a valid level. In a POR-controlled boot, RESET must be high before POR is driven high.
5
  • POR must continue to remain low for at least 100 µs after power has stabilized.
End Power Stabilization Phase
6
  • Device initialization requires 500 SYSCLK1 periods after the Power Stabilization Phase. The maximum clock period is 33.33 nsec, so a delay of an additional 16 µs is required before a rising edge of POR. The clock must be active during the entire 16 µs.
7
  • RESETFULL must be held low for at least 24 transitions of the SYSCLK1 after POR has stabilized at a high level.
8
  • The rising edge of the RESETFULL will remove the reset to the efuse farm allowing the scan to begin.
  • Once device initialization and the efuse farm scan are complete, the RESETSTAT signal is driven high. This delay will be 10000 to 50000 clock cycles.
End Device Initialization Phase
9
  • GPIO configuration bits must be valid for at least 12 transitions of the SYSCLK1 before the rising edge of RESETFULL
10
  • GPIO configuration bits must be held valid for at least 12 transitions of the SYSCLK1 after the rising edge of RESETFULL

8.2.1.2 IO-Before-Core Power Sequencing

The timing diagram for IO-before-core power sequencing is shown in Figure 8-2 and defined in Table 8-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.

TMS320C6654 IO_Before_Core_Power_Sequencing.gifFigure 8-2 IO Before Core Power Sequencing

Table 8-3 IO Before Core Power Sequencing

TIME SYSTEM STATE
1 Begin Power Stabilization Phase
  • Because POR is low, all the core logic having async reset (created from POR) are put into reset state once the core supply ramps. POR must remain low through Power Stabilization Phase.
  • Filtered versions of 1.8 V can ramp simultaneously with DVDD18.
  • RESETSTAT is driven low once the DVDD18 supply is available.
  • All input and bidirectional pins must not be driven or pulled high until DVDD18 is present. Driving an input or bidirectional pin before DVDD18 could cause damage to the device.
2a
  • RESET may be driven high anytime after DVDD18 is at a valid level.
2b
  • CVDD (core AVS) ramps up.
3a
  • CVDD1 (core constant) ramps at the same time or following CVDD. Although ramping CVDD1 and CVDD simultaneously is permitted the voltage for CVDD1 must never exceed CVDD until after CVDD has reached a valid voltage.
  • The purpose of ramping up the core supplies close to each other is to reduce crowbar current. CVDD1 should trail CVDD as this will ensure that the WLs in the memories are turned off and there is no current through the memory bit cells. If, however, CVDD1 (core constant) ramps up before CVDD (core AVS), then the worst case current could be on the order of twice the specified draw of CVDD1.
3b
  • Once CVDD is valid, the clock drivers should be enabled. Although the clock inputs are not necessary at this time, they should either be driven with a valid clock or held in a static state with one leg high and one leg low.
3c
  • The DDRCLK and SYSCLK1 may begin to toggle anytime between when CVDD is at a valid level and the setup time before POR goes high specified by t6.
4
  • DVDD15 (1.5 V) supply is ramped up following CVDD1.
5
  • POR must continue to remain low for at least 100 µs after power has stabilized.
End Power Stabilization Phase
6 Begin Device Initialization
  • Device initialization requires 500 SYSCLK1 periods after the Power Stabilization Phase. The maximum clock period is 33.33 nsec so a delay of an additional 16 µs is required before a rising edge of POR. The clock must be active during the entire 16 µs.
  • POR must remain low.
7
  • RESETFULL is held low for at least 24 transitions of the SYSCLK1 after POR has stabilized at a high level.
  • The rising edge of the RESETFULL will remove the reset to the efuse farm allowing the scan to begin.
8
  • Once device initialization and the efuse farm scan are complete, the RESETSTAT signal is driven high. This delay will be 10000 to 50000 clock cycles.
End Device Initialization Phase
9
  • GPIO configuration bits must be valid for at least 12 transitions of the SYSCLK1 before the rising edge of RESETFULL
10
  • GPIO configuration bits must be held valid for at least 12 transitions of the SYSCLK1 after the rising edge of RESETFULL

8.2.1.3 Prolonged Resets

Holding the device in POR, RESETFULL, or RESET for long periods of time will affect the long term reliability of the part. The device should not be held in a reset for times exceeding one hour and should not be held in reset for more the 5% of the time during which power is applied. Exceeding these limits will cause a gradual reduction in the reliability of the part. This can be avoided by allowing the DSP 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.

8.2.1.4 Clocking During Power Sequencing

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 8-4 describes the clock sequencing and the conditions that affect the clock operation. Note that all clock drivers should be in a high-impedance state until CVDD is at a valid level and that all clock inputs either be active or in a static state with one leg pulled low and the other connected to CVDD.

Table 8-4 Clock Sequencing

CLOCK CONDITION SEQUENCING
DDRCLK None Must be present 16 µsec before POR transitions high.
CORECLK None CORECLK used to clock the core PLL. It must be present 16 µsec before POR transitions high.
SRIOSGMII
CLK
The SGMII port will be used. SRIOSGMIICLK must be present 16 µsec before POR transitions high.
SGMII 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.

8.2.2 Power-Down Sequence

The power down sequence is the exact reverse of the power-up sequence described above. The goal is to prevent a large 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 also affect long term reliability.

8.2.3 Power Supply Decoupling and Bulk Capacitors

In order 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 the Hardware Design Guide for KeyStone Devices (SPRABI2).

8.2.4 SmartReflex

Increasing the device complexity increases its power consumption and with the smaller transistor structures responsible for higher achievable clock rates and increased performance, comes an inevitable penalty, increasing the leakage currents. Leakage currents are present in any active circuit, independently 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, 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 C6654 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 C6654 device.

To guarantee maximizing performance and minimizing power consumption of the device, SmartReflex is required to be implemented whenever the C6654 device is used. The voltage selection is done using 4 VCNTL pins which are used to select the output voltage of the core voltage regulator.

For information on implementation of SmartReflex see the Power Management for KeyStone Devices application report and the Hardware Design Guide for KeyStone Devices (SPRABI2).

Table 8-5 SmartReflex 4-Pin VID Interface Switching Characteristics

(see Figure 8-3)
NO. PARAMETER MIN MAX UNIT
1 td(VCNTL[2:0]-VCNTL[3]) Delay Time - VCNTL[2:0] valid after VCNTL[3] low 300.00 ns
2 toh(VCNTL[3] -VCNTL[2:0]) Output Hold Time - VCNTL[2:0] valid after VCNTL[3] low 0.07 172020C(1) ms
3 td(VCNTL[2:0]-VCNTL[3]) Delay Time - VCNTL[2:0] valid after VCNTL[3] high 300.00 ns
4 toh(VCNTL[3] -VCNTL[2:0]) Output Hold Time - VCNTL[2:0] valid after VCNTL[3] high 0.07 172020C ms
5 VCNTL being valid to CVDD being switched to SmartReflex Voltage(2) 10 ms
(1) C = 1/SYSCLK1 frequency (See Figure 8-9) in ms
(2) SmartReflex voltage must be set before execution of application code
TMS320C6654 SmartReflex_4-Pin_VID_Interface_Timing_NySh.gifFigure 8-3 SmartReflex 4-Pin VID Interface Timing

8.3 Power Sleep Controller (PSC)

The Power Sleep Controller (PSC) controls 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 Power Sleep Controller (PSC) for KeyStone Devices User's Guide (SPRUGV4).

8.3.1 Power Domains

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 8-6 shows the C6654 power domains.

Table 8-6 Power Domains

DOMAIN BLOCK(S) NOTE POWER CONNECTION
0 Most peripheral logic Cannot be disabled Always on
1 Per-core TETB and System TETB RAMs can be powered down Software control
2 Reserved Reserved Reserved
3 PCIe Logic can be powered down Software control
4 Reserved Reserved Reserved
5 Reserved Reserved Reserved
6 Reserved Reserved Reserved
7 Reserved Reserved Reserved
8 Reserved Reserved Reserved
9 Reserved Reserved Reserved
10 Reserved Reserved Reserved
11 Reserved Reserved Reserved
12 Reserved Reserved Reserved
13 C66x Core 0, L1/L2 RAMs L2 RAMs can sleep Software control via C66x CorePac. For details, see the C66x CorePac Reference Guide.
14 Reserved Reserved Reserved
15 Reserved Reserved Reserved

8.3.2 Clock Domains

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 that module's clock(s) at the source. For modules that share a clock with other modules, the LPSC controls the clock gating.

Table 8-7 shows the C6654 clock domains.

Table 8-7 Clock Domains

LPSC NUMBER MODULE(S) NOTES
0 Shared LPSC for all peripherals other than those listed in this table Always on
1 SmartReflex Always on
2 DDR3 EMIF Always on
3 EMAC Software control
4 Reserved Reserved
5 Debug Subsystem and Tracers Software control
6 Per-core TETB and System TETB Software control
7 Reserved Reserved
8 Reserved Reserved
9 Reserved Reserved
10 PCIe Software control
11 Reserved Reserved
12 Reserved Reserved
13 Reserved Reserved
14 Reserved Reserved
15 Reserved Reserved
16 Reserved Reserved
17 Reserved Reserved
18 Reserved Reserved
19 Reserved Reserved
20 Reserved Reserved
21 Reserved Reserved
22 Reserved Reserved
23 C66x CorePac 0 and Timer 0 Software control
24 Timer1 Software control
No LPSC Bootcfg, PSC, and PLL controller These modules do not use LPSC

8.3.3 PSC Register Memory Map

Table 8-8 shows the PSC Register memory map.

Table 8-8 PSC Register Memory Map

OFFSET REGISTER DESCRIPTION
0x000 PID Peripheral Identification Register
0x004 - 0x010 Reserved Reserved
0x014 VCNTLID Voltage Control Identification Register(1)
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 (AlwaysOn)
0x204 PDSTAT1 Power Domain Status Register 1 (Per-core TETB and System TETB)
0x208 PDSTAT2 Power Domain Status Register 2 (Reserved)
0x20C PDSTAT3 Power Domain Status Register 3 (PCIe)
0x210 PDSTAT4 Power Domain Status Register 4 (Reserved)
0x214 PDSTAT5 Power Domain Status Register 5 (Reserved)
0x218 PDSTAT6 Power Domain Status Register 6 (Reserved)
0x21C PDSTAT7 Power Domain Status Register 7(Reserved)
0x220 PDSTAT8 Power Domain Status Register 8 (Reserved)
0x224 PDSTAT9 Power Domain Status Register 9 (Reserved)
0x228 PDSTAT10 Power Domain Status Register 10 (Reserved)
0x22C PDSTAT11 Power Domain Status Register 11(Reserved)
0x230 PDSTAT12 Power Domain Status Register 12 (Reserved)
0x234 PDSTAT13 Power Domain Status Register 13 (C66x CorePac 0)
0x238 PDSTAT14 Power Domain Status Register 14 (Reserved)
0x23C Reserved Reserved
0x240 - 0x2FC Reserved Reserved
0x300 PDCTL0 Power Domain Control Register 0 (AlwaysOn)
0x304 PDCTL1 Power Domain Control Register 1 (Per-core TETB and System TETB)
0x308 PDCTL2 Power Domain Control Register 2 (Reserved)
0x30C PDCTL3 Power Domain Control Register 3 (PCIe)
0x310 PDCTL4 Power Domain Control Register 4 (Reserved)
0x314 PDCTL5 Power Domain Control Register 4 (Reserved)
0x318 PDCTL6 Power Domain Control Register 6 (Reserved)
0x31C PDCTL7 Power Domain Control Register 7 (Reserved)
0x320 PDCTL8 Power Domain Control Register 8 (Reserved)
0x324 PDCTL9 Power Domain Control Register 9 (Reserved)
0x328 PDCTL10 Power Domain Control Register 10 (Reserved)
0x32C PDCTL11 Power Domain Control Register 11(Reserved)
0x330 PDCTL12 Power Domain Control Register 12(Reserved)
0x334 PDCTL13 Power Domain Control Register 13 (C66x CorePac 0)
0x338 PDCTL14 Power Domain Control Register 14 (Reserved)
0x33C Reserved Reserved
0x340 - 0x7FC Reserved Reserved
0x800 MDSTAT0 Module Status Register 0 (Never Gated)
0x804 MDSTAT1 Module Status Register 1 (SmartReflex)
0x808 MDSTAT2 Module Status Register 2 (DDR3 EMIF)
0x80C MDSTAT3 Module Status Register 3 (EMAC)
0x810 MDSTAT4 Module Status Register 4 (Reserved)
0x814 MDSTAT5 Module Status Register 5 (Debug Subsystem and Tracers)
0x818 MDSTAT6 Module Status Register 6 (Per-core TETB and System TETB)
0x81C MDSTAT7 Module Status Register 7 (Reserved)
0x820 MDSTAT8 Module Status Register 8 (Reserved)
0x824 MDSTAT9 Module Status Register 9 (Reserved)
0x828 MDSTAT10 Module Status Register 10 (PCIe)
0x82C MDSTAT11 Module Status Register 11(Reserved)
0x830 MDSTAT12 Module Status Register 12(Reserved)
0x834 MDSTAT13 Module Status Register 13 (Reserved)
0x838 MDSTAT14 Module Status Register 14 (Reserved)
0x83C MDSTAT15 Module Status Register 15 (Reserved)
0x840 MDSTAT16 Module Status Register 16 (Reserved)
0x844 MDSTAT17 Module Status Register 17 (Reserved)
0x848 MDSTAT18 Module Status Register 18 (Reserved)
0x84C MDSTAT19 Module Status Register 19 (Reserved)
0x850 MDSTAT20 Module Status Register 20 (Reserved)
0x854 MDSTAT21 Module Status Register 11 (Reserved)
0x858 MDSTAT22 Module Status Register 22(Reserved)
0x85C MDSTAT23 Module Status Register 23(C66x CorePac 0 and Timer 0)
0x860 MDSTAT24 Timer1
0x864 - 0x9FC Reserved Reserved
0xA00 MDCTL0 Module Control Register 0 (Never Gated)
0xA04 MDCTL1 Module Control Register 1 (SmartReflex)
0xA08 MDCTL2 Module Control Register 2 (DDR3 EMIF)
0xA0C MDCTL3 Module Control Register 3 (EMAC)
0xA10 MDCTL4 Module Control Register 4 (Reserved)
0xA14 MDCTL5 Module Control Register 5 (Debug Subsystem and Tracers)
0xA18 MDCTL6 Module Control Register 6 (Per-core TETB and System TETB)
0xA1C MDCTL7 Module Control Register 7 (Reserved)
0xA20 MDCTL8 Module Control Register 8 (Reserved)
0xA24 MDCTL9 Module Control Register 9 (Reserved)
0xA28 MDCTL10 Module Control Register 10 (PCIe)
0xA2C MDCTL11 Module Control Register 11(Reserved)
0xA30 MDCTL12 Module Control Register 12(Reserved)
0xA34 MDCTL13 Module Control Register 13 (Reserved)
0xA38 MDCTL14 Module Control Register 14 (Reserved)
0xA3C MDCTL15 Module Control Register 15 (Reserved)
0xA40 MDCTL16 Module Control Register 16 (Reserved)
0xA44 MDCTL17 Module Control Register 17 (Reserved)
0xA48 MDCTL18 Module Control Register 18 (Reserved)
0xA4C MDCTL19 Module Control Register 19 (Reserved)
0xA50 MDCTL20 Module Control Register 20 (Reserved)
0xA54 MDCTL21 Module Control Register 21(Reserved)
0xA58 MDCTL22 Module Control Register 22(Reserved)
0xA5C MDCTL23 Module Control Register 23(C66x CorePac 0 and Timer 0)
0xA60 MDCTL24 Timer1
0xA5C - 0xFFC Reserved Reserved
(1) VCNTLID register is available for debug purpose only.

8.4 Reset Controller

The reset controller detects the different type of resets supported on the C6654 device and manages the distribution of those resets throughout the device.

The device has several types of resets:

  • Power-on reset
  • Hard reset
  • Soft reset
  • CPU local reset

Table 8-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 8.4.7.

Table 8-9 Reset Types

RESET TYPE INITIATOR EFFECT ON DEVICE WHEN RESET OCCURS RESETSTAT
PIN STATUS
POR
(Power On Reset)

POR pin active low

RESETFULL pin active low

Total reset of the chip. Everything on the device is reset to its default state in response to this. Activates the POR signal on chip, which is used to reset test/emu logic. Boot configurations are latched. ROM boot process is initiated. Toggles RESETSTAT pin
Hard reset

RESET pin active low

Emulation

PLLCTL register (RSCTRL)

Watchdog timers

Resets everything except for test/emu logic and reset isolation modules. Emulator and reset Isolation modules stay alive during this reset. This reset is also different from POR in that the PLLCTL assumes power and clocks are stable when device reset is asserted. Boot configurations are not latched. ROM boot process is initiated. Toggles RESETSTAT pin
Soft reset

RESET pin active low

PLLCTL register (RSCTRL)

Watchdog timers

Software can program these initiators to be hard or soft. Hard reset is the default, but can be programmed to be soft reset. Soft reset will behave like hard reset except that EMIF16 MMRs, DDR3 EMIF MMRs, sticky bits in PCIe MMRs, and external memory contents are retained. Boot configurations are not latched. ROM boot process is initiated. Toggles RESETSTAT pin
C66x CorePac local reset

Software (through LPSC MMR) Watchdog timers

LRESET pin

MMR bit in LPSC controls C66x CorePac local reset. Used by watchdog timers (in the event of a timeout) to reset C66x CorePac. Can also be initiated by LRESET device pin. C66x CorePac memory system and slave DMA port are still alive when C66x CorePac is in local reset. Provides a local reset of the C66x CorePac, without destroying clock alignment or memory contents. Does not initiate ROM boot process. Does not toggle RESETSTAT pin

8.4.1 Power-on Reset

Power-on reset is used to reset the entire device, including the test and emulation logic.

Power-on reset is initiated by the following:

  1. POR pin
  2. RESETFULL pin

During power-up, the POR pin must be asserted (driven low) until the power supplies have reached their normal operating conditions. A RESETFULL pin is also provided to allow the on-board host to reset the entire device including the reset isolated logic. The assumption is that the device is already powered up and hence, unlike the POR pin, the RESETFULL pin will be driven by the on-board host control instead of the power-good circuitry. For power-on reset, the Main 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:

  1. Wait for all power supplies to reach normal operating conditions while keeping the POR pin asserted (driven low). While POR is asserted, all pins except RESETSTAT will be set to high-impedance. After the POR pin is de-asserted (driven high), all Z group pins, low group pins, and high group pins are set to their reset state and will remain at their reset state until otherwise configured by their respective peripheral. All peripherals that are power managed, are disabled after a power-on reset and must be enabled through the Device State Control Registers (for more details, see Table 4-2).
  2. Clocks are reset, and they are propagated throughout the device to reset any logic that was using reset synchronously. All logic is now reset and RESETSTAT will be driven low indicating that the device is in reset.
  3. POR must be held active until all supplies on the board are stable then for at least an additional time for the chip-level PLLs to lock.
  4. The POR pin can now be de-asserted. Reset-sampled pin values are latched at this point. The chip level PLLs are taken out of reset and begin their locking sequence, and all power-on device initialization also begins.
  5. After device initialization is complete, the RESETSTAT pin is de-asserted (driven high). By this time, the DDR3 PLL has already completed its locking sequence and is outputting a valid clock. The system clocks of both PLL controllers are allowed to finish their current cycles and then paused for 10 cycles of their respective system reference clocks. After the pause, the system clocks are restarted at their default divide by settings.
  6. The device is now out of reset and device execution begins as dictated by the selected boot mode.

NOTE

To most of the device, reset is de-asserted only when the POR and RESET pins are both de-asserted (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 together with the POR pin.

8.4.2 Hard Reset

A hard reset will reset everything on the device except the PLLs, test, emulation logic, and reset isolation modules. POR should also remain de-asserted during this time.

Hard reset is initiated by the following:

  • RESET pin
  • RSCTRL register in PLLCTL
  • Watchdog timer
  • Emulation

All the above initiators, by default, are configured to act as a hard reset. Except emulation, all the other three initiators can be configured as soft resets in the RSCFG register in PLLCTL.

The following sequence must be followed during a hard reset:

  1. The RESET pin is pulled active low for a minimum of 24 input clock cycles. During this time, the RESET signal is able to propagate to all modules (except those specifically mentioned above). All I/O are Hi-Z for modules affected by RESET, to prevent off-chip contention during the warm reset.
  2. Once all logic is reset, RESETSTAT is driven active to denote that the device is in reset.
  3. The RESET pin can now be released. A minimal device initialization begins to occur. Note that configuration pins are not re-latched and clocking is unaffected within the device.
  4. After device initialization is complete, the RESETSTAT pin is de-asserted (driven high).

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 together with the POR pin.

8.4.3 Soft Reset

A soft reset will behave like a hard reset except that the PCIe MMR sticky bits and DDR3 EMIF MMRs contents are retained. POR should also remain de-asserted during this time.

Soft reset is initiated by the following:

  • RESET pin
  • RSCTRL register in PLLCTL
  • Watchdog timer

All the above initiators by default are configured to act as hard reset. Except emulation, all the other three initiators can be configured as soft resets in the RSCFG register in PLLCTL.

In the case of a soft reset, the clock logic or 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 DDR3 memory controller registers are not reset. In addition, the DDR3 SDRAM memory content is retained if the user places the DDR3 SDRAM in self-refresh mode before invoking the soft reset.

During a soft reset, the following happens:

  1. The RESETSTAT pin goes low to indicate an internal reset is being generated. The reset is allowed to propagate through the system. Internal system clocks are not affected. PLLs also remain locked.
  2. After device initialization is complete, the RESETSTAT pin is deasserted (driven high). In addition, the PLL controllers pause their system clocks for about 8 cycles.
    • At this point:
      • The state of the peripherals before the soft reset is not changed.
      • The I/O pins are controlled as dictated by the DEVSTAT register.
      • The DDR3 MMRs and PCIe MMR sticky bits retain their previous values. Only the DDR3 Memory Controller and PCIe state machines are reset by the soft reset.
      • The PLL controllers are operating in the mode prior to soft reset. System clocks are unaffected.

The boot sequence is started after the system clocks are restarted. Since the configuration pins are not latched with a system reset, the previous values, as shown in the DEVSTAT register, are used to select the boot mode.

8.4.4 Local Reset

The local reset can be used to reset a particular CorePac without resetting any other chip components.

Local reset is initiated by the following (for more details see the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2):

  • LRESET pin
  • Watchdog timer should cause one of the below based on the setting of the CORESEL[2:0] and RSTCFG register in the PLL controller. See Section 8.5.2.8 and Section 8.8.2:
    • Local Reset
    • NMI
    • NMI followed by a time delay and then a local reset for the CorePac selected
    • Hard Reset by requesting reset via PLLCTL
  • LPSC MMRs (memory-mapped registers)

8.4.5 Reset Priority

If any of the above reset sources occur simultaneously, the PLLCTL processes only the highest priority reset request. The reset request priorities are as follows (high to low):

  • Power-on reset
  • Hard/soft reset

8.4.6 Reset Controller Register

The reset controller register is part of the PLLCTL MMRs. All C6654 device-specific MMRs are covered in Section 8.5.3. For more details on these registers and how to program them, see the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2).

8.4.7 Reset Electrical Data / Timing

Table 8-10 Reset Timing Requirements(1)

(see Figure 8-4 and Figure 8-5)
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
(1) C = 1 / CORECLK(N|P) frequency in ns.

Table 8-11 Reset Switching Characteristics Over Recommended Operating Conditions(1)

(see Figure 8-4 and Figure 8-5)
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
(1) C = 1 / CORECLK(N|P) frequency in ns.
TMS320C6654 Resetfull_Reset_Timing.gifFigure 8-4 RESETFULL Reset Timing
TMS320C6654 Soft-Hard_Reset_Timing.gifFigure 8-5 Soft/Hard-Reset Timing

Table 8-12 Boot Configuration Timing Requirements(1)

(See Figure 8-6)
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
(1) C = 1/SYSCLK1 frequency in ns.
TMS320C6654 Boot_Config_Timing_NySh.gifFigure 8-6 Boot Configuration Timing

8.5 Main PLL and PLL Controller

This section provides a description of the Main PLL and the PLL controller. For details on the operation of the PLL controller module, see the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2).

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. Figure 8-7 shows a block diagram of the main PLL and the PLL controller.

TMS320C6654 Main_PLL_and_PLL_controller_f1.gifFigure 8-7 Main PLL and PLL Controller

NOTE

PLLM[5:0] bits of the multiplier are controlled by the PLLM register inside the PLL controller and PLLM[12:6] bits are controlled by the chip level MAINPLLCTL0 register. The complete 13-bit value is latched when the GO operation is initiated in the PLL controller. Only PLLDIV2, PLLDIV5, and PLLDIV8 are programmable on the C6654 device. See the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2) 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 PLL Controller. The PLL controller also controls reset propagation through the chip, clock alignment, and test points. The 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 the Hardware Design Guide for KeyStone Devices (SPRABI2) 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 8.5.5.

CAUTION

The PLL controller module as described in the Phase Locked Loop (PLL) for KeyStone Devices User's GuideSPRUGV2 includes a superset of features, some of which are not supported on the C6654 device. The following sections describe the registers that are supported; it should be assumed that any registers not included in these sections is 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.

8.5.1 Main PLL Controller Device-Specific Information

8.5.1.1 Internal Clocks and Maximum Operating Frequencies

The Main PLL, used to drive the CorePacs, the switch fabric, and a majority of the peripheral clocks (all but the DDR3) requires a PLL controller to manage the various clock divisions, gating, and synchronization. The Main PLL’s PLL controller has several SYSCLK outputs that are listed below, along with the clock description. 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.

  • SYSCLK1: Full-rate clock for the CorePac.
  • SYSCLK2: 1/x-rate clock for CorePac emulation. The default rate for this is 1/3. It is programmable from /1 to /32, where this clock does not violate the max of 350 MHz. The SYSCLK2 can be turned off by software.
  • SYSCLK3: 1/2-rate clock used to clock the MSMC and DDR EMIF.
  • SYSCLK4: 1/3-rate clock for the switch fabrics and fast peripherals. The Debug_SS and ETBs use this as well.
  • SYSCLK5: 1/y-rate clock for the system trace module only. The default rate for this is 1/5. It is configurable and the max configurable clock is 210 MHz and min configurable clock is 32 MHz. The SYSCLK5 can be turned off by software.
  • SYSCLK6: 1/64-rate clock. 1/64 rate clock (emif_ptv) used to clock the PVT-compensated buffers for DDR3 EMIF.
  • SYSCLK7: 1/6-rate clock for slow peripherals (GPIO, UART, Timer, I2C, SPI, EMIF16, McBSP, etc.) and sources the SYSCLKOUT output pin.
  • SYSCLK8: 1/z-rate clock. This clock is used as slow_sysclk in the system. Default is 1/64. It is programmable from /24 to /80.
  • SYSCLK9: 1/12-rate clock for SmartReflex.
  • SYSCLK11: 1/6-rate clock for PSC only.

Only SYSCLK2, SYSCLK5, and SYSCLK8 are programmable on theC6654 device.

NOTE

In case any of the other programmable SYSCLKs are set slower than 1/64 rate, then SYSCLK8 (SLOW_SYSCLK) needs to be programmed to either match, or be slower than, the slowest SYSCLK in the system.

8.5.1.2 Main PLL Controller Operating Modes

The Main PLL controller has two modes of operation: bypass mode and PLL mode. The mode of operation is determined by BYPASS bit of the PLL Secondary Control Register (SECCTL). In PLL mode, SYSCLK1 is generated from the PLL output using the values set in PLLM and PLLD bit fields in the MAINPLLCTL0 Register. In bypass mode, PLL input is fed directly out as SYSCLK1.

All hosts must hold off accesses to the DSP while the frequency of its internal clocks is changing. A mechanism must be in place such that the DSP notifies the host when the PLL configuration has completed.

8.5.1.3 Main PLL Stabilization, Lock, and Reset Times

The PLL stabilization time is the amount of time that must be allotted for the internal PLL regulators to become stable after device powerup. The PLL should not be operated 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 8-13.

The PLL lock time is the amount of time needed from when the PLL is taken out of reset (PLLRST = 1 with PLLEN = 0) to when to when the PLL controller can be switched to PLL mode (PLLEN = 1). The Main PLL lock time is given in Table 8-13.

Table 8-13 Main PLL Stabilization, Lock, and Reset Times

MIN TYP MAX UNIT
PLL stabilization time 100 µs
PLL lock time 500 ×(PLLD(1)+1) × C(2)
PLL reset time 1000 ns
(1) PLLD is the value in PLLD bit fields of MAINPLLCTL0 register
(2) C = SYSCLK1(N|P) cycle time in ns.

8.5.2 PLL Controller Memory Map

The memory map of the PLL controller is shown in Table 8-14. C6654-specific PLL Controller register definitions can be found in the sections following Table 8-14. For other registers in the table, see the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2).

CAUTION

Note that only registers documented here are accessible on the C6654. Other addresses in the PLL controller memory map including the reserved registers should not be modified. 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. It is recommended to use read-modify-write sequence to make any changes to the valid bits in the register.

Table 8-14 PLL Controller Registers (Including Reset Controller)

HEX ADDRESS RANGE FIELD REGISTER NAME
0231 0000 - 0231 00E3 - Reserved
0231 00E4 RSTYPE Reset Type Status Register (Reset Controller)
0231 00E8 RSTCTRL Software Reset Control Register (Reset Controller)
0231 00EC RSTCFG Reset Configuration Register (Reset Controller)
0231 00F0 RSISO Reset Isolation Register (Reset Controller)
0231 00F0 - 0231 00FF - Reserved
0231 0100 PLLCTL PLL Control Register
0231 0104 - Reserved
0231 0108 SECCTL PLL Secondary Control Register
0231 010C - Reserved
0231 0110 PLLM PLL Multiplier Control Register
0231 0114 - Reserved
0231 0118 PLLDIV1 Reserved
0231 011C PLLDIV2 PLL Controller Divider 2 Register
0231 0120 PLLDIV3 Reserved
0231 0124 - Reserved
0231 0128 - Reserved
0231 012C - 0231 0134 - Reserved
0231 0138 PLLCMD PLL Controller Command Register
0231 013C PLLSTAT PLL Controller Status Register
0231 0140 ALNCTL PLL Controller Clock Align Control Register
0231 0144 DCHANGE PLLDIV Ratio Change Status Register
0231 0148 CKEN Reserved
0231 014C CKSTAT Reserved
0231 0150 SYSTAT SYSCLK Status Register
0231 0154 - 0231 015C - Reserved
0231 0160 PLLDIV4 Reserved
0231 0164 PLLDIV5 PLL Controller Divider 5 Register
0231 0168 PLLDIV6 Reserved
0231 016C PLLDIV7 Reserved
0231 0170 PLLDIV8 PLL Controller Divider 8 Register
0231 0174 - 0231 0193 PLLDIV9 - PLLDIV16 Reserved
0231 0194 - 0231 01FF - Reserved

8.5.2.1 PLL Secondary Control Register (SECCTL)

The PLL Secondary Control Register contains extra fields to control the Main PLL and is shown in Figure 8-8 and described in Table 8-15.

Figure 8-8 PLL Secondary Control Register (SECCTL)
31 24 23 22 19 18 0
Reserved BYPASS OUTPUT_DIVIDE Reserved
R-0000 0000 RW-0 RW-0001 RW-001 0000 0000 0000 0000
Legend: R/W = Read/Write; R = Read only; -n = value after reset

Table 8-15 PLL Secondary Control Register (SECCTL) Field Descriptions

Bit Field Description
31-24 Reserved Reserved
23 BYPASS Main PLL Bypass Enable
  • 0 = Main PLL Bypass disabled.
  • 1 = Main PLL Bypass enabled.
22-19 OUTPUT_DIVIDE Output Divider ratio bits.
  • 0h = ÷1. Divide frequency by 1.
  • 1h = ÷2. Divide frequency by 2.
  • 2h - Fh = Reserved.
18-0 Reserved Reserved

8.5.2.2 PLL Controller Divider Register (PLLDIV2, PLLDIV5, PLLDIV8)

The PLL Controller Divider Registers (PLLDIV2, PLLDIV5, and PLLDIV8) are shown in Figure 8-9 and described in Table 8-16. The default values of the RATIO field on a reset for PLLDIV2, PLLDIV5, and PLLDIV8 are different and mentioned in the footnote of Figure 8-9.

Figure 8-9 PLL Controller Divider Register (PLLDIVn)
31 16 15 14 8 7 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
(1) D2EN for PLLDIV2; D5EN for PLLDIV5; D8EN for PLLDIV8
(2) n=02h for PLLDIV2; n=04h for PLLDIV5; n=3Fh for PLLDIV8

Table 8-16 PLL Controller Divider Register (PLLDIVn) Field Descriptions

Bit Field Description
31-16 Reserved Reserved.
15 DnEN Divider Dn enable bit. (see footnote of Figure 8-9)
  • 0 = Divider n is disabled.
  • 1 = No clock output. Divider n is enabled.
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 8-9)
  • 0h = ÷1. Divide frequency by 1.
  • 1h = ÷2. Divide frequency by 2.
  • 2h = ÷3. Divide frequency by 3.
  • 3h = ÷4. Divide frequency by 4.
  • 4h - 4Fh = ÷5 to ÷80. Divide frequency by 5 to divide frequency by 80.

8.5.2.3 PLL Controller Clock Align Control Register (ALNCTL)

The PLL controller clock align control register (ALNCTL) is shown in Figure 8-10 and described in Table 8-17.

Figure 8-10 PLL Controller Clock Align Control Register (ALNCTL)
31 8 7 6 5 4 3 2 1 0
Reserved ALN8 Reserved ALN5 Reserved ALN2 Reserved
R-0 R/W-1 R-0 R/W-1 R-0 R/W-1 R-0
Legend: R/W = Read/Write; R = Read only; -n = value after reset, for reset value

Table 8-17 PLL Controller Clock Align Control Register (ALNCTL) Field Descriptions

Bit Field Description
31-8 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
7 ALN8 SYSCLKn alignment. Do not change the default values of these fields.
  • 0 = Do not align SYSCLKn to other SYSCLKs during GO operation. If SYSn in DCHANGE is set, SYSCLKn switches to the new ratio immediately after the GOSET bit in PLLCMD is set.
  • 1 = Align SYSCLKn to other SYSCLKs selected in ALNCTL when the GOSET bit in PLLCMD is set and SYSn in DCHANGE is 1. The SYSCLKn rate is set to the ratio programmed in the RATIO bit in PLLDIVn.
6-5 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
4 ALN5 SYSCLKn alignment. Do not change the default values of these fields.
  • 0 = Do not align SYSCLKn to other SYSCLKs during GO operation. If SYSn in DCHANGE is set, SYSCLKn switches to the new ratio immediately after the GOSET bit in PLLCMD is set.
  • 1 = Align SYSCLKn to other SYSCLKs selected in ALNCTL when the GOSET bit in PLLCMD is set and SYSn in DCHANGE is 1. The SYSCLKn rate is set to the ratio programmed in the RATIO bit in PLLDIVn.
3-2 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
1 ALN2 SYSCLKn alignment. Do not change the default values of these fields.
  • 0 = Do not align SYSCLKn to other SYSCLKs during GO operation. If SYSn in DCHANGE is set, SYSCLKn switches to the new ratio immediately after the GOSET bit in PLLCMD is set.
  • 1 = Align SYSCLKn to other SYSCLKs selected in ALNCTL when the GOSET bit in PLLCMD is set and SYSn in DCHANGE is 1. The SYSCLKn rate is set to the ratio programmed in the RATIO bit in PLLDIVn.
0 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.

8.5.2.4 PLLDIV Divider Ratio Change Status Register (DCHANGE)

When a different ratio is written to the PLLDIVn registers, the PLLCTL flags the change in the DCHANGE Status Register. During the GO operation, the PLL controller will change 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 8-11 and described in Table 8-18.

Figure 8-11 PLLDIV Divider Ratio Change Status Register (DCHANGE)
31 8 7 6 5 4 3 2 1 0
Reserved SYS8 Reserved SYS5 Reserved SYS2 Reserved
R-0 R/W-0 R-0 R/W-0 R-0 R/W-0 R-0
Legend: R/W = Read/Write; R = Read only; -n = value after reset, for reset value

Table 8-18 PLLDIV Divider Ratio Change Status Register (DCHANGE) Field Descriptions

Bit Field Description
31-8 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
7 SYS8 Identifies when the SYSCLKn divide ratio has been modified.
  • 0 = SYSCLKn ratio has not been modified. When GOSET is set, SYSCLKn will not be affected.
  • 1 = SYSCLKn ratio has been modified. When GOSET is set, SYSCLKn will change to the new ratio.
6-5 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
4 SYS5 Identifies when the SYSCLKn divide ratio has been modified.
  • 0 = SYSCLKn ratio has not been modified. When GOSET is set, SYSCLKn will not be affected.
  • 1 = SYSCLKn ratio has been modified. When GOSET is set, SYSCLKn will change to the new ratio.
3-2 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
1 SYS2 Identifies when the SYSCLKn divide ratio has been modified.
  • 0 = SYSCLKn ratio has not been modified. When GOSET is set, SYSCLKn will not be affected.
  • 1 = SYSCLKn ratio has been modified. When GOSET is set, SYSCLKn will change to the new ratio.
0 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.

8.5.2.5 SYSCLK Status Register (SYSTAT)

The SYSCLK Status Register (SYSTAT) shows the status of SYSCLK[11:1]. SYSTAT is shown in Figure 8-12 and described in Table 8-19.

Figure 8-12 SYSCLK Status Register (SYSTAT)
31 11 10 9 8 7 6 5 4 3 2 1 0
Reserved SYS11
ON
SYS10
ON
SYS9ON SYS8ON SYS7ON SYS6ON SYS5ON SYS4ON SYS3ON SYS2ON SYS1ON
R-n R-1 R-1 R-1 R-1 R-1 R-1 R-1 R-1 R-1 R-1 R-1
Legend: R/W = Read/Write; R = Read only; -n = value after reset

Table 8-19 SYSCLK Status Register (SYSTAT) Field Descriptions

Bit Field Description
31-11 Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
10-0 SYS[N(1)]ON SYSCLK[N]on status.
  • 0 = SYSCLK[N]is gated.
  • 1 = SYSCLK[N]is on.
(1) Where N = 1, 2, 3,....N (Not all these output clocks may be used on a specific device. For more information, see the device-specific data manual)

8.5.2.6 Reset Type Status Register (RSTYPE)

The Reset Type Status (RSTYPE) Register 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 8-13 and described in Table 8-20.

Figure 8-13 Reset Type Status Register (RSTYPE)
31 29 28 27 12 11 8 7 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

Table 8-20 Reset Type Status Register (RSTYPE) Field Descriptions

Bit Field Description
31-29 Reserved Reserved. Read only. Always reads as 0. Writes have no effect.
28 EMU-RST Reset initiated by emulation.
  • 0 = Not the last reset to occur.
  • 1 = The last reset to occur.
27-12 Reserved Reserved. Read only. Always reads as 0. Writes have no effect.
11 WDRST3 Reset initiated by watchdog timer[N].
  • 0 = Not the last reset to occur.
  • 1 = The last reset to occur.
10 WDRST2 Reset initiated by watchdog timer[N].
  • 0 = Not the last reset to occur.
  • 1 = The last reset to occur.
9 WDRST1 Reset initiated by watchdog timer[N].
  • 0 = Not the last reset to occur.
  • 1 = The last reset to occur.
8 WDRST0 Reset initiated by watchdog timer[N].
  • 0 = Not the last reset to occur.
  • 1 = The last reset to occur.
7-3 Reserved Reserved. Read only. Always reads as 0. Writes have no effect.
2 PLLCTLRST Reset initiated by PLLCTL.
  • 0 = Not the last reset to occur.
  • 1 = The last reset to occur.
1 RESET RESET reset.
  • 0 = RESET was not the last reset to occur.
  • 1 = RESET was the last reset to occur.
0 POR Power-on reset.
  • 0 = Power-on reset was not the last reset to occur.
  • 1 = Power-on reset was the last reset to occur.

8.5.2.7 Reset Control Register (RSTCTRL)

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 8-14 and described in Table 8-21.

Figure 8-14 Reset Control Register (RSTCTRL)
31 17 16 15 0
Reserved SWRST KEY
R-0x0000 R/W-0x(1) R/W-0x0003
Legend: R = Read only; -n = value after reset;
(1) Writes are conditional based on valid key.

Table 8-21 Reset Control Register (RSTCTRL) Field Descriptions

Bit Field Description
31-17 Reserved Reserved.
16 SWRST Software reset
  • 0 = Reset
  • 1 = Not reset
15-0 KEY Key used to enable writes to RSTCTRL and RSTCFG.

8.5.2.8 Reset Configuration Register (RSTCFG)

This register is used to configure the type of reset initiated by RESET, watchdog timer and the PLL controller’s RSTCTRL Register; i.e., a hard reset or a soft reset. By default, these resets will be hard resets. The Reset Configuration Register (RSTCFG) is shown in Figure 8-15 and described in Table 8-22.

Figure 8-15 Reset Configuration Register (RSTCFG)
31 14 13 12 11 4 3 0
Reserved PLLCTLRST
TYPE
RESETTYPE Reserved WDTYPE[N(1)]
R-0 R/W-0(2) R/W-02 R-0 R/W-02
Legend: R = Read only; R/W = Read/Write; -n = value after reset
(1) Where N = 1, 2, 3,....N (Not all these output may be used on a specific device. For more information, see the device-specific data manual)
(2) Writes are conditional based on valid key. For details, see Section 8.5.2.7.

Table 8-22 Reset Configuration Register (RSTCFG) Field Descriptions

Bit Field Description
31-14 Reserved Reserved.
13 PLLCTLRSTTYPE PLL controller initiates a software-driven reset of type:
  • 0 = Hard reset (default)
  • 1 = Soft reset
12 RESETTYPE RESET initiates a reset of type:
  • 0 = Hard Reset (default)
  • 1 = Soft Reset
11-4 Reserved Reserved.
3 WDTYPE3 Watchdog timer [N] initiates a reset of type:
  • 0 = Hard Reset (default)
  • 1 = Soft Reset
2 WDTYPE2 Watchdog timer [N] initiates a reset of type:
  • 0 = Hard Reset (default)
  • 1 = Soft Reset
1 WDTYPE1 Watchdog timer [N] initiates a reset of type:
  • 0 = Hard Reset (default)
  • 1 = Soft Reset
0 WDTYPE0 Watchdog timer [N] initiates a reset of type:
  • 0 = Hard Reset (default)
  • 1 = Soft Reset

8.5.2.9 Reset Isolation Register (RSISO)

This register is used to select the module clocks that must maintain their clocking without pausing through non power-on reset. Setting any of these bits effectively blocks reset to all PLLCTL registers in order to maintain current values of PLL multiplier, divide ratios, and other settings. Along with setting module specific bit in RSISO, the corresponding MDCTLx[12] bit also needs to be set in PSC to reset-isolate a particular module. For more information on MDCTLx Register see the Power Sleep Controller (PSC) for KeyStone Devices User's Guide (SPRUGV4). The Reset Isolation Register (RSTCTRL) is shown below.

Figure 8-16 Reset Isolation Register (RSISO)
31 10 9 8 7 0
Reserved Reserved SRISO Reserved
R-0 R/W-0 R/W-0 R-0
Legend: R = Read only; R/W = Read/Write; -n = value after reset

Table 8-23 Reset Isolation Register (RSISO) Field Descriptions

Bit Field Description
31-10 Reserved Reserved.
9 Reserved Reserved.
8 SRISO Isolate SmartReflex
  • 0 = Not reset isolated
  • 1 = Reset Isolated
7-0 Reserved Reserved.

8.5.3 Main PLL Control Register

The Main PLL uses two chip-level registers (MAINPLLCTL0 and MAINPLLCTL1) along with the PLL controller for its configuration. These MMRs exist inside the Bootcfg space. To write to these registers, software should go through an unlocking sequence using KICK0/KICK1 registers. For valid configurable values into the MAINPLLCTL0 and MAINPLLCTL1 Registers, see Section 3.6. See Section 4.3.4 for the address location of the registers and locking and unlocking sequences for accessing the registers. The registers are reset on POR only.

Figure 8-17 Main PLL Control Register 0 (MAINPLLCTL0)
31 24 23 19 18 12 11 6 5 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

Table 8-24 Main PLL Control Register 0 (MAINPLLCTL0) Field Descriptions

Bit Field Description
31-24 BWADJ[7:0] BWADJ[11:8] and BWADJ[7:0] are located in separate registers. The combination (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] A 13-bit bus that selects the values for the multiplication factor (see Note below)
11-6 Reserved Reserved
5-0 PLLD A 6-bit bus that selects the values for the reference divider
Figure 8-18 Main PLL Control Register 1 (MAINPLLCTL1)
31 7 6 5 4 3 0
Reserved ENSAT Reserved BWADJ[11:8]
RW-0000000000000000000000000 RW-0 RW-00 RW-0000
Legend: RW = Read/Write; -n = value after reset

Table 8-25 Main PLL Control Register 1 (MAINPLLCTL1) Field Descriptions

Bit Field Description
31-7 Reserved Reserved
6 ENSAT Needs to be set to 1 for proper operation of PLL
5-4 Reserved Reserved
3-0 BWADJ[11:8] BWADJ[11:8] and BWADJ[7:0] are located in separate registers. The combination (BWADJ[11:0]) should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) -1

NOTE

PLLM[5:0] bits of the multiplier are controlled by the PLLM Register inside the PLL controller and PLLM[12:6] bits are controlled by the MAINPLLCTL0 chip-level register. The MAINPLLCTL0 Register PLLM[12:6] bits should be written just before writing to the 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 Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2) for the recommended programming sequence. Output divide ratio and bypass enable/disable of the Main PLL is controlled by the SECCTL Register in the PLL Controller. See the Section 8.5.2.1for more details.

8.5.4 Main PLL and PLL Controller Initialization Sequence

See the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2) for details on the initialization sequence for Main PLL and PLL Controller.

8.5.5 Main PLL Controller/PCIe Clock Input Electrical Data/Timing

Table 8-26 Main PLL Controller/PCIe Clock Input Timing Requirements

(see Figure 8-19 and Figure 8-20)
NO. MIN MAX UNIT
CORECLK[P:N]
1 tc(CORCLKN) Cycle time _ CORECLKN cycle time 3.2 25 ns
1 tc(CORECLKP) Cycle time _ CORECLKP cycle time 3.2 25 ns
3 tw(CORECLKN) Pulse width _ CORECLKN high 0.45*tc(CORECLKN) 0.55*tc(CORECLKN) ns
2 tw(CORECLKN) Pulse width _ CORECLKN low 0.45*tc(CORECLKN) 0.55*tc(CORECLKN) ns
2 tw(CORECLKP) Pulse width _ CORECLKP high 0.45*tc(CORECLKP) 0.55*tc(CORECLKP) ns
3 tw(CORECLKP) Pulse width _ CORECLKP low 0.45*tc(CORECLKP) 0.55*tc(CORECLKP) ns
4 tr(CORECLK_250mv) Transition time _ CORECLK differential rise time (250mV) 50 350 ps
4 tf(CORECLK_250mv) Transition time _ CORECLK differential fall time (250 mV) 50 350 ps
5 tj(CORECLKN) Jitter, peak_to_peak _ periodic CORECLKN 100 ps
5 tj(CORECLKP) Jitter, peak_to_peak _ periodic CORECLKP 100 ps
SRIOSGMIICLK[P:N]
1 tc(SRIOSGMIICLKN) Cycle time _ SRIOSGMIICLKN cycle time 3.2 or 4 or 6.4 ns
1 tc(SRIOSGMIICLKP) Cycle time _ SRIOSGMIICLKP cycle time 3.2 or 4 or 6.4 ns
3 tw(SRIOSGMIICLKN) Pulse with _ 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_250mv) Transition time _ SRIOSGMIICLK differential rise time (250 mV) 50 350 ps
4 tf(SRIOSGMIICLK_250mv) Transition time _ SRIOSGMIICLK differential fall time (250 mV) 50 350 ps
5 tj(SRIOSGMIICLKN) Jitter, peak_to_peak _ periodic SRIOSGMIICLKN 4 ps,RMS
5 tj(SRIOSGMIICLKP) Jitter, peak_to_peak _ periodic SRIOSGMIICLKP 4 ps,RMS
5 tj(SRIOSGMIICLKN) Jitter, peak_to_peak _ periodic SRIOSGMIICLKN (SRIO not used) 8 ps,RMS
5 tj(SRIOSGMIICLKP) Jitter, peak_to_peak _ periodic SRIOSGMIICLKP (SRIO not used) 8 ps,RMS
PCIECLK[P:N]
1 tc(PCIECLKN) Cycle time _ PCIECLKN cycle time 3.2 10 ns
1 tc(PCIECLKP) Cycle time _ PCIECLKP cycle time 3.2 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_250mv) Transition time _ PCIECLK differential rise time (250 mV) 50 350 ps
4 tf(PCIECLK_250mv) Transition time _ PCIECLK differential fall time (250 mV) 50 350 ps
5 tj(PCIECLKN) Jitter, peak_to_peak _ periodic PCIECLKN 4 ps,RMS
5 tj(PCIECLKP) Jitter, peak_to_peak _ periodic PCIECLKP 4 ps,RMS
TMS320C6654 PLL1_Timing_NySh.gifFigure 8-19 Main PLL Controller/PCIe Clock Input Timing
TMS320C6654 Main_PLL_clock_input_transition.gifFigure 8-20 Main PLL Clock Input Transition Time

8.6 DDR3 PLL

The DDR3 PLL generates interface clocks for the DDR3 memory controller. When coming out of power-on reset, the DDR3 PLL is programmed to a valid frequency during the boot config before being enabled and used.

DDR3 PLL power is supplied externally via the Main PLL power-supply pin (AVDDA2). An external EMI filter circuit must be added to all PLL supplies. See the Hardware Design Guide for KeyStone Devices (SPRABI2). 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).

Figure 8-21 shows the DDR3 PLL.

TMS320C6654 DDR3_PLL_Block_Diagram_6678.gifFigure 8-21 DDR3 PLL Block Diagram

8.6.1 DDR3 PLL Control Register

The DDR3 PLL, which is used to drive the DDR PHY for the EMIF, does not use a PLL controller. The DDR3 PLL can be controlled using the DDR3PLLCTL0 and DDR3PLLCTL1 Registers located in the Bootcfg module. These MMRs exist inside the Bootcfg space. To write to these registers, software should go through an un-locking sequence using the KICK0/KICK1 registers. For suggested configurable values, see Section 4.3.4 for the address location of the registers and locking and unlocking sequences for accessing the registers. This register is reset on POR only.

Figure 8-22 DDR3 PLL Control Register 0 (DDR3PLLCTL0)(1)
31 24 23 22 19 18 6 5 0
BWADJ[7:0] BYPASS Reserved PLLM PLLD
RW,+0000 1001 RW,+0 RW,+0001 RW,+0000000010011 RW,+000000
Legend: RW = Read/Write; -n = value after reset
(1) This register is Reset on POR only. The regreset, reset and bgreset from PLL are all tied to a common pll0_ctrl_rst_n The pwrdn, regpwrdn, bgpwrdn are all tied to common pll0_ctrl_to_pll_pwrdn.

Table 8-27 DDR3 PLL Control Register 0 Field Descriptions

Bit Field Description
31-24 BWADJ[7:0] BWADJ[11:8] and BWADJ[7:0] are located in DDR3PLLCTL0 and DDR3PLLCTL1 registers. The combination (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 Enable bypass mode
  • 0 = Bypass disabled
  • 1 = Bypass enabled
22-19 Reserved Reserved
18-6 PLLM A 13-bit bus that selects the values for the multiplication factor
5-0 PLLD A 6-bit bus that selects the values for the reference divider
Figure 8-23 DDR3 PLL Control Register 1 (DDR3PLLCTL1)
31 14 13 12 7 6 5 4 3 0
Reserved PLLRST Reserved ENSAT Reserved BWADJ[11:8]
RW-000000000000000000 RW-0 RW-000000 RW-0 R-0 RW-0000
Legend: RW = Read/Write; -n = value after reset

Table 8-28 DDR3 PLL Control Register 1 Field Descriptions

Bit Field Description
31-14 Reserved Reserved
13 PLLRST PLL reset bit.
  • 0 = PLL reset is released.
  • 1 = PLL reset is asserted.
12-7 Reserved Reserved
6 ENSAT Needs to be set to 1 for proper operation of the PLL
5-4 Reserved Reserved
3-0 BWADJ[11:8] BWADJ[11:8] and BWADJ[7:0] are located in separate registers. The combination (BWADJ[11:0]) should be programmed to a value related to PLLM[12:0] value based on the equation: BWADJ = ((PLLM+1)>>1) -1

8.6.2 DDR3 PLL Device-Specific Information

As shown in Figure 8-21, the output of DDR3 PLL (PLLOUT) is divided by 2 and directly fed to the DDR3 memory controller. The DDR3 PLL is affected by power-on reset. During power-on resets, the internal clocks of the DDR3 PLL are affected as described in Section 8.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.

8.6.3 DDR3 PLL Initialization Sequence

See the Phase Locked Loop (PLL) for KeyStone Devices User's Guide (SPRUGV2) for details on the initialization sequence for DDR3 PLL.

8.6.4 DDR3 PLL Input Clock Electrical Data/Timing

Table 8-29 DDR3 PLL DDRSYSCLK1(N|P) Timing Requirements

(see Figure 8-24 and Figure 8-20)
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_250mv) Transition time _ DDRCLK differential rise time (250 mV) 50 350 ps
4 tf(DDRCLK_250mv) Transition time _ DDRCLK differential fall time (250 mV) 50 350 ps
5 tj(DDRCLKN) Jitter, peak_to_peak _ periodic DDRCLKN 0.025*tc(DDRCLKN) ps
5 tj(DDRCLKP) Jitter, peak_to_peak _ periodic DDRCLKP 0.025*tc(DDRCLKP) ps
TMS320C6654 DDR3_PLL_DDRCLK_Timing_NySh.gifFigure 8-24 DDR3 PLL DDRCLK Timing

8.7 Enhanced Direct Memory Access (EDMA3) Controller

The primary purpose of the EDMA3 is to service user-programmed data transfers between two memory-mapped slave endpoints on the device. The EDMA3 services software-driven paging transfers (e.g., data movement between external memory and internal memory), performs sorting or subframe extraction of various data structures, services event driven peripherals, and offloads data transfers from the device CPU.

There is one EDMA Channel Controller on the C6654 device: EDMA3_CC. It has four transfer controllers: TC0, TC1, TC2, and TC3. In the context of this document, TCx associated with CC is referred to as EDMA3_CC_TCx. Each of the transfer controllers has a direct connection to the switch fabric. Section 5.2 lists the peripherals that can be accessed by the transfer controllers.

The EDMA3 Channel Controller includes the following features:

  • Fully orthogonal transfer description
    • Three transfer dimensions:
      • Array (multiple bytes)
      • Frame (multiple arrays)
      • Block (multiple frames)
    • Single event can trigger transfer of array, frame, or entire block
    • Independent indexes on source and destination
  • Flexible transfer definition:
    • Increment or FIFO transfer addressing modes
    • Linking mechanism allows for ping-pong buffering, circular buffering, and repetitive/continuous transfers, all with no CPU intervention
    • Chaining allows multiple transfers to execute with one event
  • 512 PaRAM entries
    • Used to define transfer context for channels
    • Each PaRAM entry can be used as a DMA entry, QDMA entry, or link entry
  • 64 DMA channels
    • Manually triggered (CPU writes to channel controller register), external event triggered, and chain triggered (completion of one transfer triggers another)
  • Eight Quick DMA (QDMA) channels
    • Used for software-driven transfers
    • Triggered upon writing to a single PaRAM set entry
  • Four transfer controllers and four event queues with programmable system-level priority
  • Interrupt generation for transfer completion and error conditions
  • Debug visibility
    • Queue watermarking/threshold allows detection of maximum usage of event queues
    • Error and status recording to facilitate debug

8.7.1 EDMA3 Device-Specific Information

The EDMA supports two addressing modes: constant addressing and increment addressing mode. Constant addressing mode is applicable to a very limited set of use cases. For most applications, increment mode must be used. On the C6654, the EDMA can use constant addressing mode only with the Enhanced Viterbi-Decoder Coprocessor (VCP) and the Enhanced Turbo Decoder Coprocessor (TCP). Constant addressing mode is not supported by any other peripheral or internal memory in the device. Note that increment mode is supported by all peripherals, including VCP and TCP. For more information on these two addressing modes, see the Enhanced Direct Memory Access 3 (EDMA3) for KeyStone Devices User's Guide (SPRUGS5).

For the range of memory addresses that include EDMA3 channel controller (EDMA3_CC) control registers and EDMA3 transfer controller (TC) control register, see Table 3-2. For memory offsets and other details on EDMA3_CC and TC control registers entries, see the Enhanced Direct Memory Access 3 (EDMA3) for KeyStone Devices User's Guide (SPRUGS5).

8.7.2 EDMA3 Channel Controller Configuration

Table 8-30 provides the configuration of the EDMA3 channel controller present on the device.

Table 8-30 EDMA3 Channel Controller Configuration

DESCRIPTION EDMA3 CC
Number of DMA channels in Channel Controller 64
Number of QDMA channels 8
Number of interrupt channels 64
Number of PaRAM set entries 512
Number of event queues 4
Number of Transfer Controllers 4
Memory Protection Existence Yes
Number of Memory Protection and Shadow Regions 8

8.7.3 EDMA3 Transfer Controller Configuration

Each transfer controller on a device is designed differently based on considerations like performance requirements, system topology (like main TeraNet bus width, external memory bus width), and so on. The parameters that determine the transfer controller configurations are:

  • FIFOSIZE: Determines the size in bytes for the data FIFO that is the temporary buffer for the in-flight data. The data FIFO is where the read return data read by the TC read controller from the source endpoint is stored and subsequently written out to the destination endpoint by the TC write controller.
  • BUSWIDTH: The width of the read and write data buses, in bytes, for the TC read and write controller, respectively. This is typically equal to the bus width of the main TeraNet interface.
  • Default Burst Size (DBS): The DBS is the maximum number of bytes per read/write command issued by a transfer controller.
  • DSTREGDEPTH: This determines the number of destination FIFO register set. The number of destination FIFO register set for a transfer controller determines the maximum number of outstanding transfer requests.

All four parameters listed above are specified by the design of the device.

Table 8-31 provides the configuration of the EDMA3 transfer controller present on the device.

Table 8-31 EDMA3 Transfer Controller Configuration

PARAMETER EDMA3 CC
TC0 TC1 TC2 TC3
FIFOSIZE 1024 bytes 512 bytes 512 bytes 1024 bytes
BUSWIDTH 16 bytes 16 bytes 16 bytes 16 bytes
DSTREGDEPTH 4 entries 4 entries 4 entries 4 entries
DBS 64 bytes 64 bytes 64 bytes 64 bytes

8.7.4 EDMA3 Channel Synchronization Events

The EDMA3 supports up to 64 DMA channels for EDMA3_CC that can be used to service system peripherals and to move data between system memories. DMA channels can be triggered by synchronization events generated by system peripherals. The following tables lists the source of the synchronization event associated with each of the EDMA3_CC DMA channels. On the C6654, the association of each synchronization event and DMA channel is fixed and cannot be reprogrammed.

For more detailed information on the EDMA3 module and how EDMA3 events are enabled, captured, processed, prioritized, linked, chained, and cleared, etc., see the Enhanced Direct Memory Access 3 (EDMA3) for KeyStone Devices User's Guide (SPRUGS5).

Table 8-32 EDMA3_CC Events for C6654

EVENT NUMBER EVENT EVENT DESCRIPTION
0 Reserved
1 Reserved
2 TINT2L Timer2 interrupt low
3 TINT2H Timer2 interrupt high
4 URXEVT UART0 receive event
5 UTXEVT UART0 transmit event
6 GPINT0 GPIO interrupt
7 GPINT1 GPIO interrupt
8 GPINT2 GPIO Interrupt
9 GPINT3 GPIO interrupt
10 Reserved
11 Reserved
12 Reserved
13 Reserved
14 URXEVT_B UART1 receive event
15 UTXEVT_B UART1 transmit event
16 SPIINT0 SPI interrupt
17 SPIINT1 SPI interrupt
18 SEMINT0 Semaphore interrupt
19 SEMINT1 Semaphore interrupt
20 SEMINT2 Semaphore interrupt
21 SEMINT3 Semaphore interrupt
22 TINT4L Timer4 interrupt low
23 TINT4H Timer4 interrupt high
24 TINT5L Timer5 interrupt low
25 TINT5H Timer5 interrupt high
26 TINT6L Timer6 interrupt low
27 TINT6H Timer6 interrupt high
28 TINT7L Timer7 interrupt low
29 TINT7H Timer7 interrupt high
30 SPIXEVT SPI transmit event
31 SPIREVT SPI receive event
32 I2CREVET I2C receive event
33 I2CXEVT I2C transmit event
34 TINT3L Timer3 interrupt low
35 TINT3H Timer3 interrupt high
36 MCBSP0_REVT McBSP_0 receive event
37 MCBSP0_XEVT McBSP_0 transmit event
38 MCBSP1_REVT McBSP_1 receive event
39 MCBSP1_XEVT McBSP_1 transmit event
40 TETBHFULLINT TETB half full interrupt
41 TETBHFULLINT0 TETB half full interrupt
42 TETBHFULLINT1 TETB half full interrupt
43 CIC1_OUT0 Interrupt Controller output
44 CIC1_OUT1 Interrupt Controller output
45 CIC1_OUT2 Interrupt Controller output
46 CIC1_OUT3 Interrupt Controller output
47 CIC1_OUT4 Interrupt Controller output
48 CIC1_OUT5 Interrupt Controller output
49 CIC1_OUT6 Interrupt Controller output
50 CIC1_OUT7 Interrupt Controller output
51 CIC1_OUT8 Interrupt Controller output
52 CIC1_OUT9 Interrupt Controller output
53 CIC1_OUT10 Interrupt Controller output
54 CIC1_OUT11 Interrupt Controller output
55 CIC1_OUT12 Interrupt Controller output
56 CIC1_OUT13 Interrupt Controller output
57 CIC1_OUT14 Interrupt Controller output
58 CIC1_OUT15 Interrupt Controller output
59 CIC1_OUT16 Interrupt Controller output
60 CIC1_OUT17 Interrupt Controller output
61 TETBFULLINT TETB full interrupt
62 TETBFULLINT0 TETB full interrupt
63 TETBFULLINT1 TETB full interrupt

8.8 Interrupts

8.8.1 Interrupt Sources and Interrupt Controller

The CPU interrupts on the C6654 device are configured through the C66x CorePac Interrupt Controller. The interrupt controller allows for up to 128 system events to be programmed to any of the twelve CPU interrupt inputs (CPUINT4 - CPUINT15), the CPU exception input (EXCEP), or the advanced emulation logic. The 128 system events consist of both internally-generated events (within the CorePac) and chip-level events.

Additional system events are routed to each of the C66x CorePacs to provide chip-level events that are not required as CPU interrupts/exceptions to be routed to the interrupt controller as emulation events. In addition, error-class events or infrequently used events are also routed through the system event router to offload the C66x CorePac interrupt selector. This is accomplished through CIC blocks, CIC[1:0]. This is clocked using CPU/6.

The event controllers consist of simple combination logic to provide additional events to the C66x CorePacs, plus the EDMA3_CC and CIC0 provide 12 additional events as well as 8 broadcast events to the C66x CorePacs. CIC1 provides 18 additional events to EDMA3_CC.

There are a large number of events on the chip level. The chip level CIC provides a flexible way to combine and remap those events. Multiple events can be combined to a single event through chip level CIC. However, an event can be mapped only to a single event output from the chip level CIC. The chip level CIC also allows the software to trigger system events through memory writes. The broadcast events to C66x CorePacs can be used for synchronization among multiple cores, inter-processor communication purposes, etc. For more details on the CIC features, please refer to the Chip Interrupt Controller (CIC) for KeyStone Devices User's Guide (SPRUGW4).

NOTE

Modules such as MPU, Tracer, and BOOT_CFG have level interrupts and an EOI handshaking interface. The EOI value is 0 for MPU, Tracer, and BOOT_CFG.

Figure 8-25 shows the C6654 interrupt topology.

TMS320C6654 Interrupt_Topology_block_diagram_6654.gifFigure 8-25 C6654 Interrupt Topology

Table 8-33 shows the mapping of system events. For more information on the Interrupt Controller, see the C66x CorePac User's Guide (SPRUGW0).

Table 8-33 C6654 System Event Inputs — C66x CorePac Primary Interrupts

INPUT EVENT NUMBER INTERRUPT EVENT DESCRIPTION
0 EVT0 Event combiner 0 output
1 EVT1 Event combiner 1 output
2 EVT2 Event combiner 2 output
3 EVT3 Event combiner 3 output
4 TETBHFULLINTn(1) TETB is half full
5 TETBFULLINTn(1) TETB is full
6 TETBACQINTn(1) Acquisition has been completed
7 TETBOVFLINTn(1) Overflow condition interrupt
8 TETBUNFLINTn(1) Underflow condition interrupt
9 EMU_DTDMA ECM interrupt for:
  • 1. Host scan access
  • 2. DTDMA transfer complete
  • 3. AET interrupt
10 MSMC_mpf_errorn(2) Memory protection fault indicators for local core
11 EMU_RTDXRX RTDX receive complete
12 EMU_RTDXTX RTDX transmit complete
13 IDMA0 IDMA channel 0 interrupt
14 IDMA1 IDMA channel 1 interrupt
15 SEMERRn(3) Semaphore error interrupt
16 SEMINTn(3) Semaphore interrupt
17 PCIExpress_MSI_INTn(4) Message signaled interrupt mode
18 PCIExpress_MSI_INTn+4(4) Message signaled interrupt mode
19 MACINTn(7) EMAC interrupt
20 Reserved
21 Reserved
22 CIC0_OUT(0+20*n)(5) Interrupt Controller Output
23 CIC0_OUT(1+20*n)(5) Interrupt Controller Output
24 CIC0_OUT(2+20*n)(5) Interrupt Controller Output
25 CIC0_OUT(3+20*n)(5) Interrupt Controller Output
26 CIC0_OUT(4+20*n)(5) Interrupt Controller Output
27 CIC0_OUT(5+20*n)(5) Interrupt Controller Output
28 CIC0_OUT(6+20*n)(5) Interrupt Controller Output
29 CIC0_OUT(7+20*n)(5) Interrupt Controller Output
30 CIC0_OUT(8+20*n)(5) Interrupt Controller Output
31 CIC0_OUT(9+20*n)(5) Interrupt Controller Output
32 QM_INT_LOW_0 QM Interrupt for 0~31 Queues
33 QM_INT_LOW_1 QM Interrupt for 32~63 Queues
34 QM_INT_LOW_2 QM Interrupt for 64~95 Queues
35 QM_INT_LOW_3 QM Interrupt for 96~127 Queues
36 QM_INT_LOW_4 QM Interrupt for 128~159 Queues
37 QM_INT_LOW_5 QM Interrupt for 160~191 Queues
38 QM_INT_LOW_6 QM Interrupt for 192~223 Queues
39 QM_INT_LOW_7 QM Interrupt for 224~255 Queues
40 QM_INT_LOW_8 QM Interrupt for 256~287 Queues
41 QM_INT_LOW_9 QM Interrupt for 288~319 Queues
42 QM_INT_LOW_10 QM Interrupt for 320~351 Queues
43 QM_INT_LOW_11 QM Interrupt for 352~383 Queues
44 QM_INT_LOW_12 QM Interrupt for 384~415 Queues
45 QM_INT_LOW_13 QM Interrupt for 416~447 Queues
46 QM_INT_LOW_14 QM Interrupt for 448~479 Queues
47 QM_INT_LOW_15 QM Interrupt for 480~511 Queues
48 QM_INT_HIGH_n(5) QM Interrupt for Queue 704+n(5)
49 QM_INT_HIGH_(n+4)(5) QM Interrupt for Queue 708+n(5)
50 QM_INT_HIGH_(n+8)(5) QM Interrupt for Queue 712+n(5)
51 QM_INT_HIGH_(n+12)(5) QM Interrupt for Queue 716+n(5)
52 QM_INT_HIGH_(n+16)(5) QM Interrupt for Queue 720+n(5)
53 QM_INT_HIGH_(n+20)(5) QM Interrupt for Queue 724+n(5)
54 QM_INT_HIGH_(n+24)(5) QM Interrupt for Queue 728+n(5)
55 QM_INT_HIGH_(n+28)(5) QM Interrupt for Queue 732+n(5)
56 CIC0_OUT40 Interrupt Controller Output
57 CIC0_OUT41 Interrupt Controller Output
58 CIC0_OUT42 Interrupt Controller Output
59 CIC0_OUT43 Interrupt Controller Output
60 CIC0_OUT44 Interrupt Controller Output
61 CIC0_OUT45 Interrupt Controller Output
62 CIC0_OUT46 Interrupt Controller Output
63 CIC0_OUT47 Interrupt Controller Output
64 TINTLn(6) Local timer interrupt low
65 TINTHn(6) Local timer interrupt high
66 TINT2L Timer2 interrupt low
67 TINT2H Timer2 interrupt high
68 TINT3L Timer3 interrupt low
69 TINT3H Timer3 interrupt high
70 PCIExpress_MSI_INTn+2(4) Message signaled interrupt mode
71 PCIExpress_MSI_INTn+6(4) Message signaled interrupt mode
72 GPINT2 GPIO interrupt
73 GPINT3 GPIO interrupt
74 MACINTn+2(7) EMAC interrupt
75 MACTXINTn+2(7) EMAC interrupt
76 MACTRESHn+2(7) EMAC interrupt
77 MACRXINTn+2(7) EMAC interrupt
78 GPINT4 GPIO interrupt
79 GPINT5 GPIO interrupt
80 GPINT6 GPIO interrupt
81 GPINT7 GPIO interrupt
82 GPINT8 GPIO interrupt
83 GPINT9 GPIO interrupt
84 GPINT10 GPIO interrupt
85 GPINT11 GPIO interrupt
86 GPINT12 GPIO interrupt
87 GPINT13 GPIO interrupt
88 GPINT14 GPIO interrupt
89 GPINT15 GPIO interrupt
90 IPC_LOCAL Inter DSP interrupt from IPCGRn
91 GPINTn(8) Local GPIO interrupt
92 CIC0_OUT(10+20*n)(5) Interrupt Controller Output
93 CIC0_OUT(11+20*n)(5) Interrupt Controller Output
94 MACTXINTn(7) EMAC interrupt
95 MACTRESHn(7) EMAC interrupt
96 INTERR Dropped CPU interrupt event
97 EMC_IDMAERR Invalid IDMA parameters
98 Reserved
99 MACRXINTn(7) EMAC interrupt
100 EFIINTA EFI Interrupt from side A
101 EFIINTB EFI Interrupt from side B
102 QM_INT_HIGH_(n+2)(5) QM Interrupt for Queue 706+n(5)
103 QM_INT_HIGH_(n+6)(5) QM Interrupt for Queue 710+n(5)
104 QM_INT_HIGH_(n+10)(5) QM Interrupt for Queue 714+n(5)
105 QM_INT_HIGH_(n+14)(5) QM Interrupt for Queue 718+n(5)
106 QM_INT_HIGH_(n+18)(5) QM Interrupt for Queue 722+n(5)
107 QM_INT_HIGH_(n+22)(5) QM Interrupt for Queue 726+n(5)
108 QM_INT_HIGH_(n+26)(5) QM Interrupt for Queue 730+n(5)
109 QM_INT_HIGH_(n+30)(5) QM Interrupt for Queue 734+n(5)
110 MDMAERREVT VbusM error event
111 Reserved
112 Reserved
113 PMC_ED Single bit error detected during DMA read
114 Reserved
115 EDMA3_CC_AETEVT EDMA3 CC AET Event
116 UMC_ED1 Corrected bit error detected
117 UMC_ED2 Uncorrected bit error detected
118 PDC_INT Power down sleep interrupt
119 SYS_CMPA SYS CPU memory protection fault event
120 PMC_CMPA PMC CPU memory protection fault event
121 PMC_DMPA PMC DMA memory protection fault event
122 DMC_CMPA DMC CPU memory protection fault event
123 DMC_DMPA DMC DMA memory protection fault event
124 UMC_CMPA UMC CPU memory protection fault event
125 UMC_DMPA UMC DMA memory protection fault event
126 EMC_CMPA EMC CPU memory protection fault event
127 EMC_BUSERR EMC bus error interrupt
(1) CorePac[n] will receive TETBHFULLINTn, TETBFULLINTn, TETBACQINTn, TETBOVFLINTn, and TETBUNFLINTn.
(2) CorePac[n] will receive MSMC_mpf_errorn.
(3) CorePac[n] will receive SEMINTn and SEMERRn.
(4) CorePac[n] will receive PCIEXpress_MSI_INTn.
(5) n is core number.
(6) CorePac[n] will receive TINTLn and TINTHn.
(7) CorePac[n] will receive MACINTn/MACRXINTn/MACTXINTn/MACTRESHn.
(8) CorePac[n] will receive GPINTn.

Table 8-34 CIC0 Event Inputs (Secondary Interrupts for C66x CorePacs)

INPUT EVENT# ON CIC SYSTEM INTERRUPT DESCRIPTION
0 GPINT16 GPIO interrupt
1 GPINT17 GPIO interrupt
2 GPINT18 GPIO interrupt
3 GPINT19 GPIO interrupt
4 GPINT20 GPIO interrupt
5 GPINT21 GPIO interrupt
6 GPINT22 GPIO interrupt
7 GPINT23 GPIO interrupt
8 GPINT24 GPIO interrupt
9 GPINT25 GPIO interrupt
10 GPINT26 GPIO interrupt
11 GPINT27 GPIO interrupt
12 GPINT28 GPIO interrupt
13 GPINT29 GPIO interrupt
14 GPINT30 GPIO interrupt
15 GPINT31 GPIO interrupt
16 EDMA3_CC_ERRINT EDMA3_CC error interrupt
17 EDMA3_CC_MPINT EDMA3_CC memory protection interrupt
18 EDMA3_TC_ERRINT0 EDMA3_CC TC0 error interrupt
19 EDMA3_TC_ERRINT1 EDMA3_CC TC1 error interrupt
20 EDMA3_TC_ERRINT2 EDMA3_CC TC2 error interrupt
21 EDMA3_TC_ERRINT3 EDMA3_CC TC3 error interrupt
22 EDMA3_CC_GINT EDMA3_CC GINT
23 Reserved
24 EDMA3_CC_INT0 EDMA3_CC individual completion interrupt
25 EDMA3_CC_INT1 EDMA3_CC individual completion interrupt
26 EDMA3_CC_INT2 EDMA3_CC individual completion interrupt
27 EDMA3_CC_INT3 EDMA3_CC individual completion interrupt
28 EDMA3_CC_INT4 EDMA3_CC individual completion interrupt
29 EDMA3_CC_INT5 EDMA3_CC individual completion interrupt
30 EDMA3_CC_INT6 EDMA3_CC individual completion interrupt
31 EDMA3_CC_INT7 EDMA3_CC individual completion interrupt
32 MCBSP0_RINT McBSP0 interrupt
33 MCBSP0_XINT McBSP0 interrupt
34 MCBSP0_REVT McBSP0 interrupt
35 MCBSP0_XEVT McBSP0 interrupt
36 MCBSP1_RINT McBSP1 interrupt
37 MCBSP1_XINT McBSP1 interrupt
38 MCBSP1_REVT McBSP1 interrupt
39 MCBSP1_XEVT McBSP1 interrupt
40 UARTINT_B UART_1 interrupt
41 URXEVT_B UART_1 interrupt
42 UTXEVT_B UART_1 interrupt
43 Reserved
44 Reserved
45 Reserved
46 Reserved
47 Reserved
48 PCIEXpress_ERR_INT Protocol error interrupt
49 PCIEXpress_PM_INT Power management interrupt
50 PCIEXpress_Legacy_INTA Legacy interrupt mode
51 PCIEXpress_Legacy_INTB Legacy interrupt mode
52 PCIEXpress_Legacy_CIC Legacy interrupt mode
53 PCIEXpress_Legacy_INTD Legacy interrupt mode
54 SPIINT0 SPI interrupt0
55 SPIINT1 SPI interrupt1
56 SPIXEVT Transmit event
57 SPIREVT Receive event
58 I2CINT I2C interrupt
59 I2CREVT I2C receive event
60 I2CXEVT I2C transmit event
61 Reserved
62 Reserved
63 TETBHFULLINT TETB is half full
64 TETBFULLINT TETB is full
65 TETBACQINT Acquisition has been completed
66 TETBOVFLINT Overflow condition occur
67 TETBUNFLINT Underflow condition occur
68 SEMINT2 Semaphore interrupt
69 SEMINT3 Semaphore interrupt
70 SEMERR2 Semaphore interrupt
71 SEMERR3 Semaphore interrupt
72 Reserved
73 Tracer_core_0_INTD Tracer sliding time window interrupt for individual core
74 Reserved
75 Reserved
76 Reserved
77 Tracer_DDR_INTD Tracer sliding time window interrupt for DDR3 EMIF1
78 Tracer_MSMC_0_INTD Tracer sliding time window interrupt for MSMC SRAM bank0
79 Tracer_MSMC_1_INTD Tracer sliding time window interrupt for MSMC SRAM bank1
80 Tracer_MSMC_2_INTD Tracer sliding time window interrupt for MSMC SRAM bank2
81 Tracer_MSMC_3_INTD Tracer sliding time window interrupt for MSMC SRAM bank3
81 Tracer_CFG_INTD Tracer sliding time window interrupt for CFG0 TeraNet
82 Tracer_QM_CFG_INTD Tracer sliding time window interrupt for QM_SS CFG
84 Tracer_QM_DMA_INTD Tracer sliding time window interrupt for QM_SS slave
85 Tracer_SM_INTD Tracer sliding time window interrupt for semaphore
86 PSC_ALLINT Power/sleep controller interrupt
87 Reserved
88 BOOTCFG_INTD Chip-level MMR error register
89 po_vcon_smpserr_intr SmartReflex VolCon error status
90 MPU0_INTD (MPU0_ADDR_ERR_INT and MPU0_PROT_ERR_INT combined) MPU0 addressing violation interrupt and protection violation interrupt.
91 Reserved
92 MPU1_INTD (MPU1_ADDR_ERR_INT and MPU1_PROT_ERR_INT combined) MPU1 addressing violation interrupt and protection violation interrupt.
93 Reserved
94 MPU2_INTD (MPU2_ADDR_ERR_INT and MPU2_PROT_ERR_INT combined) MPU2 addressing violation interrupt and protection violation interrupt.
95 Reserved
96 MPU3_INTD (MPU3_ADDR_ERR_INT and MPU3_PROT_ERR_INT combined) MPU3 addressing violation interrupt and protection violation interrupt.
97 Reserved
98 Reserved
99 Reserved
100 Reserved
101 Reserved
102 MSMC_mpf_error8 Memory protection fault indicators for each system master PrivID
103 MSMC_mpf_error9 Memory protection fault indicators for each system master PrivID
104 MSMC_mpf_error10 Memory protection fault indicators for each system master PrivID
105 MSMC_mpf_error11 Memory protection fault indicators for each system master PrivID
105 MSMC_mpf_error12 Memory protection fault indicators for each system master PrivID
107 MSMC_mpf_error13 Memory protection fault indicators for each system master PrivID
108 MSMC_mpf_error14 Memory protection fault indicators for each system master PrivID
109 MSMC_mpf_error15 Memory protection fault indicators for each system master PrivID
110 DDR3_ERR DDR3 EMIF error interrupt
111 Reserved
112 Reserved
113 Reserved
114 Reserved
115 Reserved
116 Reserved
117 Reserved
118 Reserved
119 Reserved
120 Reserved
121 Reserved
122 Reserved
123 Reserved
124 Reserved
125 Reserved
126 Reserved
127 Reserved
128 Reserved
129 Reserved
130 po_vp_smpsack_intr Indicating that Volt_Proc receives the r-edge at its smpsack input
131 Reserved
132 Reserved
133 Reserved
134 QM_INT_PASS_TXQ_PEND_662 Queue manager pend event
135 QM_INT_PASS_TXQ_PEND_663 Queue manager pend event
136 QM_INT_PASS_TXQ_PEND_664 Queue manager pend event
137 QM_INT_PASS_TXQ_PEND_665 Queue manager pend event
138 QM_INT_PASS_TXQ_PEND_666 Queue manager pend event
139 QM_INT_PASS_TXQ_PEND_667 Queue manager pend event
140 QM_INT_PASS_TXQ_PEND_668 Queue manager pend event
141 QM_INT_PASS_TXQ_PEND_669 Queue manager pend event
142 QM_INT_PASS_TXQ_PEND_670 Queue manager pend event
143 Reserved
144 Reserved
145 TINT4L Timer4 interrupt low
146 TINT4H Timer4 interrupt high
147 Reserved
148 Reserved
149 Reserved
150 Reserved
151 TINT5L Timer5 interrupt low
152 TINT5H Timer5 interrupt high
153 TINT6L Timer6 interrupt low
154 TINT6H Timer6 interrupt high
155 Reserved
156 UPPINT uPP interrupt
157 Reserved
158 Reserved
159 Reserved
160 MSMC_mpf_error2 Memory protection fault indicators for each system master PrivID
161 MSMC_mpf_error3 Memory protection fault indicators for each system master PrivID
162 TINT7L Timer7 interrupt low
163 TINT7H Timer7interrupt high
164 UARTINT_A UART_0 interrupt
165 URXEVT_A UART_0 interrupt
166 UTXEVT_A UART_0 interrupt
167 EASYNCERR EMIF16 error interrupt
168 Tracer_EMIF16 Tracer sliding time window interrupt for EMIF16
169 Reserved
170 MSMC_mpf_error4 Memory protection fault indicators for each system master PrivID
171 MSMC_mpf_error5 Memory protection fault indicators for each system master PrivID
172 MSMC_mpf_error6 Memory protection fault indicators for each system master PrivID
173 MSMC_mpf_error7 Memory protection fault indicators for each system master PrivID
174 MPU4_INTD (MPU4_ADDR_ERR_INT and MPU4_PROT_ERR_INT combined) MPU4 addressing violation interrupt and protection violation interrupt.
175 QM_INT_PASS_TXQ_PEND_671 Queue manager pend event
176 QM_INT_PKTDMA_0 QM interrupt for CDMA starvation
177 QM_INT_PKTDMA_1 QM interrupt for CDMA starvation
178 Reserved
179 Reserved
180 Reserved
181 SmartReflex_intrreq0 SmartReflex sensor interrupt
182 SmartReflex_intrreq1 SmartReflex sensor interrupt
183 SmartReflex_intrreq2 SmartReflex sensor interrupt
184 SmartReflex_intrreq3 SmartReflex sensor interrupt
185 VPNoSMPSAck VPVOLTUPDATE has been asserted but SMPS has not been responded to in a defined time interval
186 VPEqValue SRSINTERUPT is asserted, but the new voltage is not different from the current SMPS voltage
187 VPMaxVdd The new voltage required is equal to or greater than MaxVdd.
188 VPMinVdd The new voltage required is equal to or less than MinVdd.
189 VPINIDLE Indicating that the FSM of voltage processor is in idle.
190 VPOPPChangeDone Indicating that the average frequency error is within the desired limit.
191 Reserved
192 MACINT4 EMAC interrupt
193 MACRXINT4 EMAC interrupt
194 MACTXINT4 EMAC interrupt
195 MACTRESH4 EMAC interrupt
196 MACINT5 EMAC interrupt
197 MACRXINT5 EMAC interrupt
198 MACTXINT5 EMAC interrupt
199 MACTRESH5 EMAC interrupt
200 MACINT6 EMAC interrupt
201 MACRXINT6 EMAC interrupt
202 MACTXINT6 EMAC interrupt
203 MACTRESH6 EMAC interrupt
204 MACINT7 EMAC interrupt
205 MACRXINT7 EMAC interrupt
206 MACTXINT7 EMAC interrupt
207 MACTRESH7 EMAC interrupt

Table 8-35 CIC1 Event Inputs (Secondary Events for EDMA3_CC)

INPUT EVENT # ON CIC SYSTEM INTERRUPT DESCRIPTION
0 GPINT8 GPIO interrupt
1 GPINT9 GPIO interrupt
2 GPINT10 GPIO interrupt
3 GPINT11 GPIO interrupt
4 GPINT12 GPIO interrupt
5 GPINT13 GPIO interrupt
6 GPINT14 GPIO interrupt
7 GPINT15 GPIO interrupt
8 Reserved
9 Reserved
10 TETBACQINT System TETB acquisition has been completed
11 Reserved
12 Reserved
13 TETBACQINT0 TETB0 acquisition has been completed
14 Reserved
15 Reserved
16 Reserved
17 GPINT16 GPIO interrupt
18 GPINT17 GPIO interrupt
19 GPINT18 GPIO interrupt
20 GPINT19 GPIO interrupt
21 GPINT20 GPIO interrupt
22 GPINT21 GPIO interrupt
23 Reserved
24 QM_INT_HIGH_16 QM interrupt
25 QM_INT_HIGH_17 QM interrupt
26 QM_INT_HIGH_18 QM interrupt
27 QM_INT_HIGH_19 QM interrupt
28 QM_INT_HIGH_20 QM interrupt
29 QM_INT_HIGH_21 QM interrupt
30 QM_INT_HIGH_22 QM interrupt
31 QM_INT_HIGH_23 QM interrupt
32 QM_INT_HIGH_24 QM interrupt
33 QM_INT_HIGH_25 QM interrupt
34 QM_INT_HIGH_26 QM interrupt
35 QM_INT_HIGH_27 QM interrupt
36 QM_INT_HIGH_28 QM interrupt
37 QM_INT_HIGH_29 QM interrupt
38 QM_INT_HIGH_30 QM interrupt
39 QM_INT_HIGH_31 QM interrupt
40 Reserved
41 Reserved
42 Reserved
43 Reserved
44 Reserved
45 Tracer_core_0_INTD Tracer sliding time window interrupt for individual core
46 Reserved
47 GPINT22 GPIO interrupt
48 GPINT23 GPIO interrupt
49 Tracer_DDR_INTD Tracer sliding time window interrupt for DDR3 EMIF
50 Tracer_MSMC_0_INTD Tracer sliding time window interrupt for MSMC SRAM bank0
51 Tracer_MSMC_1_INTD Tracer sliding time window interrupt for MSMC SRAM bank1
52 Tracer_MSMC_2_INTD Tracer sliding time window interrupt for MSMC SRAM bank2
53 Tracer_MSMC_3_INTD Tracer sliding time window interrupt for MSMC SRAM bank3
54 Tracer_CFG_INTD Tracer sliding time window interrupt for CFG0 TeraNet
55 Tracer_QM_CFG_INTD Tracer sliding time window interrupt for QM_SS CFG
56 Tracer_QM_DMA_INTD Tracer sliding time window interrupt for QM_SS slave port
57 Tracer_SEM_INTD Tracer sliding time window interrupt for semaphore
58 SEMERR0 Semaphore interrupt
59 SEMERR1 Semaphore interrupt
60 SEMERR2 Semaphore interrupt
61 SEMERR3 Semaphore interrupt
62 BOOTCFG_INTD BOOTCFG interrupt BOOTCFG_ERR and BOOTCFG_PROT
63 UPPINT uPP interrupt
64 MPU0_INTD (MPU0_ADDR_ERR_INT and MPU0_PROT_ERR_INT combined) MPU0 addressing violation interrupt and protection violation interrupt.
65 Reserved
66 MPU1_INTD (MPU1_ADDR_ERR_INT and MPU1_PROT_ERR_INT combined) MPU1 addressing violation interrupt and protection violation interrupt.
67 Reserved
68 MPU2_INTD (MPU2_ADDR_ERR_INT and MPU2_PROT_ERR_INT combined) MPU2 addressing violation interrupt and protection violation interrupt.
69 QM_INT_PKTDMA_0 QM interrupt for packet DMA starvation
70 MPU3_INTD (MPU3_ADDR_ERR_INT and MPU3_PROT_ERR_INT combined) MPU3 addressing violation interrupt and protection violation interrupt.
71 QM_INT_PKTDMA_1 QM interrupt for packet DMA starvation
72 Reserved
73 Reserved
74 Reserved
75 Reserved
76 MSMC_mpf_error0 Memory protection fault indicators for each system master PrivID
77 MSMC_mpf_error1 Memory protection fault indicators for each system master PrivID
78 MSMC_mpf_error2 Memory protection fault indicators for each system master PrivID
79 MSMC_mpf_error3 Memory protection fault indicators for each system master PrivID
80 MSMC_mpf_error4 Memory protection fault indicators for each system master PrivID
81 MSMC_mpf_error5 Memory protection fault indicators for each system master PrivID
82 MSMC_mpf_error6 Memory protection fault indicators for each system master PrivID
83 MSMC_mpf_error7 Memory protection fault indicators for each system master PrivID
84 MSMC_mpf_error8 Memory protection fault indicators for each system master PrivID
85 MSMC_mpf_error9 Memory protection fault indicators for each system master PrivID
86 MSMC_mpf_error10 Memory protection fault indicators for each system master PrivID
87 MSMC_mpf_error11 Memory protection fault indicators for each system master PrivID
88 MSMC_mpf_error12 Memory protection fault indicators for each system master PrivID
89 MSMC_mpf_error13 Memory protection fault indicators for each system master PrivID
90 MSMC_mpf_error14 Memory protection fault indicators for each system master PrivID
91 MSMC_mpf_error15 Memory protection fault indicators for each system master PrivID
92 Reserved
93 Reserved
94 Reserved
95 Reserved
96 Reserved
97 Reserved
98 Reserved
99 Reserved
100 Reserved
101 Reserved
102 Reserved
103 Reserved
104 Reserved
105 Reserved
106 Reserved
107 Reserved
108 Reserved
109 Reserved
110 Reserved
111 Reserved
112 Reserved
113 Reserved
114 Reserved
115 Reserved
116 Reserved
117 GPINT24 GPIO interrupt
118 GPINT25 GPIO interrupt
119 Reserved
120 Reserved
121 GPINT26 GPIO interrupt
122 GPINT27 GPIO interrupt
123 Reserved
124 GPINT28 GPIO interrupt
125 GPINT29 GPIO interrupt
126 GPINT30 GPIO interrupt
127 GPINT31 GPIO interrupt
128 GPINT4 GPIO interrupt
129 GPINT5 GPIO interrupt
130 GPINT6 GPIO interrupt
131 GPINT7 GPIO interrupt
132 Reserved
133 Tracer_EMIF16 Tracer sliding time window interrupt for EMIF16
134 EASYNCERR EMIF16 error interrupt
135 MPU4_INTD (MPU4_ADDR_ERR_INT and MPU4_PROT_ERR_INT combined) MPU4 addressing violation interrupt and protection violation interrupt.
136 Reserved
137 QM_INT_HIGH_0 QM interrupt
138 QM_INT_HIGH_1 QM interrupt
139 QM_INT_HIGH_2 QM interrupt
140 QM_INT_HIGH_3 QM interrupt
141 QM_INT_HIGH_4 QM interrupt
142 QM_INT_HIGH_5 QM interrupt
143 QM_INT_HIGH_6 QM interrupt
144 QM_INT_HIGH_7 QM interrupt
145 QM_INT_HIGH_8 QM interrupt
146 QM_INT_HIGH_9 QM interrupt
147 QM_INT_HIGH_10 QM interrupt
148 QM_INT_HIGH_11 QM interrupt
149 QM_INT_HIGH_12 QM interrupt
150 QM_INT_HIGH_13 QM interrupt
151 QM_INT_HIGH_14 QM interrupt
152 QM_INT_HIGH_15 QM interrupt
153 Reserved
154 Reserved
155 Reserved
156 Reserved
157 Reserved
158 Reserved
159 DDR3_ERR DDR3 error interrupt

8.8.2 CIC Registers

This section includes the offsets for CIC registers. The base addresses for interrupt control registers are CIC0 - 0x0260 0000 and CIC1 - 0x0260 4000.

8.8.2.1 CIC0 Register Map

Table 8-36 CIC0 Register

ADDRESS OFFSET REGISTER MNEMONIC REGISTER NAME
0x0 REVISION_REG Revision Register
0x4 CONTROL_REG Control Register
0xc HOST_CONTROL_REG Host Control Register
0x10 GLOBAL_ENABLE_HINT_REG Global Host Int Enable Register
0x20 STATUS_SET_INDEX_REG Status Set Index Register
0x24 STATUS_CLR_INDEX_REG Status Clear Index Register
0x28 ENABLE_SET_INDEX_REG Enable Set Index Register
0x2c ENABLE_CLR_INDEX_REG Enable Clear Index Register
0x34 HINT_ENABLE_SET_INDEX_REG Host Int Enable Set Index Register
0x38 HINT_ENABLE_CLR_INDEX_REG Host Int Enable Clear Index Register
0x200 RAW_STATUS_REG0 Raw Status Register 0
0x204 RAW_STATUS_REG1 Raw Status Register 1
0x208 RAW_STATUS_REG2 Raw Status Register 2
0x20c RAW_STATUS_REG3 Raw Status Register 3
0x210 RAW_STATUS_REG4 Raw Status Register 4
0x214 RAW_STATUS_REG5 Raw Status Register 5
0x218 RAW_STATUS_REG6 Raw Status Register 6
0x280 ENA_STATUS_REG0 Enabled Status Register 0
0x284 ENA_STATUS_REG1 Enabled Status Register 1
0x288 ENA_STATUS_REG2 Enabled Status Register 2
0x28c ENA_STATUS_REG3 Enabled Status Register 3
0x290 ENA_STATUS_REG4 Enabled Status Register 4
0x294 ENA_STATUS_REG5 Enabled Status Register 5
0x298 ENA_STATUS_REG6 Enabled Status Register 6
0x300 ENABLE_REG0 Enable Register 0
0x304 ENABLE_REG1 Enable Register 1
0x308 ENABLE_REG2 Enable Register 2
0x30c ENABLE_REG3 Enable Register 3
0x310 ENABLE_REG4 Enable Register 4
0x314 ENABLE_REG5 Enable Register 5
0x318 ENABLE_REG6 Enable Register 6
0x380 ENABLE_CLR_REG0 Enable Clear Register 0
0x384 ENABLE_CLR_REG1 Enable Clear Register 1
0x388 ENABLE_CLR_REG2 Enable Clear Register 2
0x38c ENABLE_CLR_REG3 Enable Clear Register 3
0x390 ENABLE_CLR_REG4 Enable Clear Register 4
0x394 ENABLE_CLR_REG5 Enable Clear Register 5
0x398 ENABLE_CLR_REG6 Enable Clear Register 6
0x400 CH_MAP_REG0 Interrupt Channel Map Register for 0 to 0+3
0x404 CH_MAP_REG1 Interrupt Channel Map Register for 4 to 4+3
0x408 CH_MAP_REG2 Interrupt Channel Map Register for 8 to 8+3
0x40c CH_MAP_REG3 Interrupt Channel Map Register for 12 to 12+3
0x410 CH_MAP_REG4 Interrupt Channel Map Register for 16 to 16+3
0x414 CH_MAP_REG5 Interrupt Channel Map Register for 20 to 20+3
0x418 CH_MAP_REG6 Interrupt Channel Map Register for 24 to 24+3
0x41c CH_MAP_REG7 Interrupt Channel Map Register for 28 to 28+3
0x420 CH_MAP_REG8 Interrupt Channel Map Register for 32 to 32+3
0x424 CH_MAP_REG9 Interrupt Channel Map Register for 36 to 36+3
0x428 CH_MAP_REG10 Interrupt Channel Map Register for 40 to 40+3
0x42c CH_MAP_REG11 Interrupt Channel Map Register for 44 to 44+3
0x430 CH_MAP_REG12 Interrupt Channel Map Register for 48 to 48+3
0x434 CH_MAP_REG13 Interrupt Channel Map Register for 52 to 52+3
0x438 CH_MAP_REG14 Interrupt Channel Map Register for 56 to 56+3
0x43c CH_MAP_REG15 Interrupt Channel Map Register for 60 to 60+3
0x440 CH_MAP_REG16 Interrupt Channel Map Register for 64 to 64+3
0x444 CH_MAP_REG17 Interrupt Channel Map Register for 68 to 68+3
0x448 CH_MAP_REG18 Interrupt Channel Map Register for 72 to 72+3
0x44c CH_MAP_REG19 Interrupt Channel Map Register for 76 to 76+3
0x450 CH_MAP_REG20 Interrupt Channel Map Register for 80 to 80+3
0x454 CH_MAP_REG21 Interrupt Channel Map Register for 84 to 84+3
0x458 CH_MAP_REG22 Interrupt Channel Map Register for 88 to 88+3
0x45c CH_MAP_REG23 Interrupt Channel Map Register for 92 to 92+3
0x460 CH_MAP_REG24 Interrupt Channel Map Register for 96 to 96+3
0x464 CH_MAP_REG25 Interrupt Channel Map Register for 100 to 100+3
0x468 CH_MAP_REG26 Interrupt Channel Map Register for 104 to 104+3
0x46c CH_MAP_REG27 Interrupt Channel Map Register for 108 to 108+3
0x470 CH_MAP_REG28 Interrupt Channel Map Register for 112 to 112+3
0x474 CH_MAP_REG29 Interrupt Channel Map Register for 116 to 116+3
0x478 CH_MAP_REG30 Interrupt Channel Map Register for 120 to 120+3
0x47c CH_MAP_REG31 Interrupt Channel Map Register for 124 to 124+3
0x480 CH_MAP_REG32 Interrupt Channel Map Register for 128 to 128+3
0x484 CH_MAP_REG33 Interrupt Channel Map Register for 132 to 132+3
0x488 CH_MAP_REG34 Interrupt Channel Map Register for 136 to 136+3
0x48c CH_MAP_REG35 Interrupt Channel Map Register for 140 to 140+3
0x490 CH_MAP_REG36 Interrupt Channel Map Register for 144 to 144+3
0x494 CH_MAP_REG37 Interrupt Channel Map Register for 148 to 148+3
0x498 CH_MAP_REG38 Interrupt Channel Map Register for 152 to 152+3
0x49c CH_MAP_REG39 Interrupt Channel Map Register for 156 to 156+3
0x4a0 CH_MAP_REG40 Interrupt Channel Map Register for 160 to 160+3
0x4a4 CH_MAP_REG41 Interrupt Channel Map Register for 164 to 164+3
0x4a8 CH_MAP_REG42 Interrupt Channel Map Register for 168 to 168+3
0x4ac CH_MAP_REG43 Interrupt Channel Map Register for 172 to 172+3
0x4b0 CH_MAP_REG44 Interrupt Channel Map Register for 176 to 176+3
0x4b4 CH_MAP_REG45 Interrupt Channel Map Register for 180 to 180+3
0x4b8 CH_MAP_REG46 Interrupt Channel Map Register for 184 to 184+3
0x4bc CH_MAP_REG47 Interrupt Channel Map Register for 188 to 188+3
0x4c0 CH_MAP_REG48 Interrupt Channel Map Register for 192 to 192+3
0x4c4 CH_MAP_REG49 Interrupt Channel Map Register for 196 to 196+3
0x4c8 CH_MAP_REG50 Interrupt Channel Map Register for 200 to 200+3
0x4cc CH_MAP_REG51 Interrupt Channel Map Register for 204 to 204+3
0x800 HINT_MAP_REG0 Host Interrupt Map Register for 0 to 0+3
0x804 HINT_MAP_REG1 Host Interrupt Map Register for 4 to 4+3
0x808 HINT_MAP_REG2 Host Interrupt Map Register for 8 to 8+3
0x80c HINT_MAP_REG3 Host Interrupt Map Register for 12 to 12+3
0x810 HINT_MAP_REG4 Host Interrupt Map Register for 16 to 16+3
0x814 HINT_MAP_REG5 Host Interrupt Map Register for 20 to 20+3
0x818 HINT_MAP_REG6 Host Interrupt Map Register for 24 to 24+3
0x81c HINT_MAP_REG7 Host Interrupt Map Register for 28 to 28+3
0x820 HINT_MAP_REG8 Host Interrupt Map Register for 32 to 32+3
0x824 HINT_MAP_REG9 Host Interrupt Map Register for 36 to 36+3
0x828 HINT_MAP_REG10 Host Interrupt Map Register for 40 to 40+3
0x82c HINT_MAP_REG11 Host Interrupt Map Register for 44 to 44+3
0x830 HINT_MAP_REG12 Host Interrupt Map Register for 48 to 48+3
0x834 HINT_MAP_REG13 Host Interrupt Map Register for 52 to 52+3
0x838 HINT_MAP_REG14 Host Interrupt Map Register for 56 to 56+3
0x83c HINT_MAP_REG15 Host Interrupt Map Register for 60 to 60+3
0x840 HINT_MAP_REG16 Host Interrupt Map Register for 64 to 64+3
0x844 HINT_MAP_REG17 Host Interrupt Map Register for 68 to 68+3
0x848 HINT_MAP_REG18 Host Interrupt Map Register for 72 to 72+3
0x84c HINT_MAP_REG19 Host Interrupt Map Register for 76 to 76+3
0x850 HINT_MAP_REG20 Host Interrupt Map Register for 80 to 80+3
0x854 HINT_MAP_REG21 Host Interrupt Map Register for 84 to 84+3
0x858 HINT_MAP_REG22 Host Interrupt Map Register for 88 to 88+3
0x860 HINT_MAP_REG23 Host Interrupt Map Register for 92 to 92+3
0x1500 ENABLE_HINT_REG0 Host Int Enable Register 0
0x1504 ENABLE_HINT_REG1 Host Int Enable Register 1
0x1508 ENABLE_HINT_REG2 Host Int Enable Register 2

8.8.2.2 CIC1 Register Map

Table 8-37 CIC1 Register

ADDRESS OFFSET REGISTER MNEMONIC REGISTER NAME
0x0 REVISION_REG Revision Register
0x10 GLOBAL_ENABLE_HINT_REG Global Host Int Enable Register
0x20 STATUS_SET_INDEX_REG Status Set Index Register
0x24 STATUS_CLR_INDEX_REG Status Clear Index Register
0x28 ENABLE_SET_INDEX_REG Enable Set Index Register
0x2c ENABLE_CLR_INDEX_REG Enable Clear Index Register
0x34 HINT_ENABLE_SET_INDEX_REG Host Int Enable Set Index Register
0x38 HINT_ENABLE_CLR_INDEX_REG Host Int Enable Clear Index Register
0x200 RAW_STATUS_REG0 Raw Status Register 0
0x204 RAW_STATUS_REG1 Raw Status Register 1
0x208 RAW_STATUS_REG2 Raw Status Register 2
0x20c RAW_STATUS_REG3 Raw Status Register 3
0x210 RAW_STATUS_REG4 Raw Status Register 4
0x280 ENA_STATUS_REG0 Enabled Status Register 0
0x284 ENA_STATUS_REG1 Enabled Status Register 1
0x288 ENA_STATUS_REG2 Enabled Status Register 2
0x28c ENA_STATUS_REG3 Enabled Status Register 3
0x290 ENA_STATUS_REG4 Enabled Status Register 4
0x300 ENABLE_REG0 Enable Register 0
0x304 ENABLE_REG1 Enable Register 1
0x308 ENABLE_REG2 Enable Register 2
0x30c ENABLE_REG3 Enable Register 3
0x310 ENABLE_REG4 Enable Register 4
0x380 ENABLE_CLR_REG0 Enable Clear Register 0
0x384 ENABLE_CLR_REG1 Enable Clear Register 1
0x388 ENABLE_CLR_REG2 Enable Clear Register 2
0x38c ENABLE_CLR_REG3 Enable Clear Register 3
0x390 ENABLE_CLR_REG4 Enable Clear Register 4
0x400 CH_MAP_REG0 Interrupt Channel Map Register for 0 to 0+3
0x404 CH_MAP_REG1 Interrupt Channel Map Register for 4 to 4+3
0x408 CH_MAP_REG2 Interrupt Channel Map Register for 8 to 8+3
0x40c CH_MAP_REG3 Interrupt Channel Map Register for 12 to 12+3
0x410 CH_MAP_REG4 Interrupt Channel Map Register for 16 to 16+3
0x414 CH_MAP_REG5 Interrupt Channel Map Register for 20 to 20+3
0x418 CH_MAP_REG6 Interrupt Channel Map Register for 24 to 24+3
0x41c CH_MAP_REG7 Interrupt Channel Map Register for 28 to 28+3
0x420 CH_MAP_REG8 Interrupt Channel Map Register for 32 to 32+3
0x424 CH_MAP_REG9 Interrupt Channel Map Register for 36 to 36+3
0x428 CH_MAP_REG10 Interrupt Channel Map Register for 40 to 40+3
0x42c CH_MAP_REG11 Interrupt Channel Map Register for 44 to 44+3
0x430 CH_MAP_REG12 Interrupt Channel Map Register for 48 to 48+3
0x434 CH_MAP_REG13 Interrupt Channel Map Register for 52 to 52+3
0x438 CH_MAP_REG14 Interrupt Channel Map Register for 56 to 56+3
0x43c CH_MAP_REG15 Interrupt Channel Map Register for 60 to 60+3
0x440 CH_MAP_REG16 Interrupt Channel Map Register for 64 to 64+3
0x444 CH_MAP_REG17 Interrupt Channel Map Register for 68 to 68+3
0x448 CH_MAP_REG18 Interrupt Channel Map Register for 72 to 72+3
0x44c CH_MAP_REG19 Interrupt Channel Map Register for 76 to 76+3
0x450 CH_MAP_REG20 Interrupt Channel Map Register for 80 to 80+3
0x454 CH_MAP_REG21 Interrupt Channel Map Register for 84 to 84+3
0x458 CH_MAP_REG22 Interrupt Channel Map Register for 88 to 88+3
0x45c CH_MAP_REG23 Interrupt Channel Map Register for 92 to 92+3
0x460 CH_MAP_REG24 Interrupt Channel Map Register for 96 to 96+3
0x464 CH_MAP_REG25 Interrupt Channel Map Register for 100 to 100+3
0x468 CH_MAP_REG26 Interrupt Channel Map Register for 104 to 104+3
0x46c CH_MAP_REG27 Interrupt Channel Map Register for 108 to 108+3
0x470 CH_MAP_REG28 Interrupt Channel Map Register for 112 to 112+3
0x474 CH_MAP_REG29 Interrupt Channel Map Register for 116 to 116+3
0x478 CH_MAP_REG30 Interrupt Channel Map Register for 120 to 120+3
0x47c CH_MAP_REG31 Interrupt Channel Map Register for 124 to 124+3
0x480 CH_MAP_REG32 Interrupt Channel Map Register for 128 to 128+3
0x484 CH_MAP_REG33 Interrupt Channel Map Register for 132 to 132+3
0x488 CH_MAP_REG34 Interrupt Channel Map Register for 136 to 136+3
0x48c CH_MAP_REG35 Interrupt Channel Map Register for 140 to 140+3
0x490 CH_MAP_REG36 Interrupt Channel Map Register for 144 to 144+3
0x494 CH_MAP_REG37 Interrupt Channel Map Register for 148 to 148+3
0x498 CH_MAP_REG38 Interrupt Channel Map Register for 152 to 152+3
0x49c CH_MAP_REG39 Interrupt Channel Map Register for 156 to 156+3
0x800 HINT_MAP_REG0 Host Interrupt Map Register for 0 to 0+3
0x804 HINT_MAP_REG1 Host Interrupt Map Register for 4 to 4+3
0x808 HINT_MAP_REG2 Host Interrupt Map Register for 8 to 8+3
0x80c HINT_MAP_REG3 Host Interrupt Map Register for 12 to 12+3
0x810 HINT_MAP_REG4 Host Interrupt Map Register for 16 to 16+3
0x814 HINT_MAP_REG5 Host Interrupt Map Register for 20 to 20+3
0x818 HINT_MAP_REG6 Host Interrupt Map Register for 24 to 24+3
0x81c HINT_MAP_REG7 Host Interrupt Map Register for 28 to 28+3
0x820 HINT_MAP_REG8 Host Interrupt Map Register for 32 to 32+3
0x824 HINT_MAP_REG9 Host Interrupt Map Register for 36 to 36+3
0x828 HINT_MAP_REG10 Host Interrupt Map Register for 40 to 40+3
0x82c HINT_MAP_REG11 Host Interrupt Map Register for 44 to 44+3
0x830 HINT_MAP_REG12 Host Interrupt Map Register for 48 to 48+3
0x834 HINT_MAP_REG13 Host Interrupt Map Register for 52 to 52+3
0x838 HINT_MAP_REG14 Host Interrupt Map Register for 56 to 56+3
0x83c HINT_MAP_REG15 Host Interrupt Map Register for 60 to 60+3
0x1500 ENABLE_HINT_REG0 Host Int Enable Register 0
0x1504 ENABLE_HINT_REG1 Host Int Enable Register 1

8.8.3 Inter-Processor Register Map

Table 8-38 IPC Generation Registers (IPCGRx)

ADDRESS START ADDRESS END SIZE REGISTER NAME DESCRIPTION
0x02620200 0x02620203 4B NMIGR0 NMI Event Generation Register for CorePac0
0x02620204 0x02620207 4B Reserved
0x02620208 0x0262020B 4B Reserved Reserved
0x0262020C 0x0262020F 4B Reserved Reserved
0x02620210 0x02620213 4B Reserved Reserved
0x02620214 0x02620217 4B Reserved Reserved
0x02620218 0x0262021B 4B Reserved Reserved
0x0262021C 0x0262021F 4B Reserved Reserved
0x02620220 0x0262023F 32B Reserved Reserved
0x02620240 0x02620243 4B IPCGR0 IPC Generation Register for CorePac 0
0x02620244 0x02620247 4B Reserved
0x02620248 0x0262024B 4B Reserved Reserved
0x0262024C 0x0262024F 4B Reserved Reserved
0x02620250 0x02620253 4B Reserved Reserved
0x02620254 0x02620257 4B Reserved Reserved
0x02620258 0x0262025B 4B Reserved Reserved
0x0262025C 0x0262025F 4B Reserved Reserved
0x02620260 0x0262027B 28B Reserved Reserved
0x0262027C 0x0262027F 4B IPCGRH IPC Generation Register for Host
0x02620280 0x02620283 4B IPCAR0 IPC Acknowledgement Register for CorePac 0
0x02620284 0x02620287 4B Reserved
0x02620288 0x0262028B 4B Reserved Reserved
0x0262028C 0x0262028F 4B Reserved Reserved
0x02620290 0x02620293 4B Reserved Reserved
0x02620294 0x02620297 4B Reserved Reserved
0x02620298 0x0262029B 4B Reserved Reserved
0x0262029C 0x0262029F 4B Reserved Reserved
0x026202A0 0x026202BB 28B Reserved Reserved
0x026202BC 0x026202BF 4B IPCARH IPC Acknowledgement Register for Host

8.8.4 NMI and LRESET

Non-maskable interrupts (NMI) can be generated by chip-level registers and the LRESET can be generated by software writing into LPSC registers. LRESET and NMI can also be asserted by device pins or watchdog timers. One NMI pin and one LRESET pin are shared by all CorePacs on the device. The CORESEL[3:0] pins can be configured to select between the CorePacs available as shown in Table 8-39.

Table 8-39 LRESET and NMI Decoding

CORESEL[1:0]
PIN INPUT
LRESET
PIN INPUT
NMI
PIN INPUT
LRESETNMIEN
PIN INPUT
RESET MUX BLOCK OUTPUT
XX X X 1 No local reset or NMI assertion.
00 0 X 0 Assert local reset to CorePac 0
01 0 X 0 Reserved
1x 0 X 0 Assert local reset to all CorePacs
00 1 1 0 De-assert local reset & NMI to CorePac 0
01 1 1 0 Reserved
1x 1 1 0 De-assert local reset & NMI to all CorePacs
00 1 0 0 Assert NMI to CorePac 0
01 1 0 0 Reserved
1x 1 0 0 Assert NMI to all CorePacs

8.8.5 External Interrupts Electrical Data/Timing

Table 8-40 NMI and Local Reset Timing Requirements(1)

(see Figure 8-26)
NO. MIN MAX UNIT
1 tsu(LRESET-LRESETNMIENL) Setup Time - LRESET valid before LRESETNMIEN low 12*P ns
1 tsu(NMI-LRESETNMIENL) Setup Time - NMI valid before LRESETNMIEN low 12*P ns
1 tsu(CORESELn-LRESETNMIENL) Setup Time - CORESEL[2:0] valid before LRESETNMIEN low 12*P ns
2 th(LRESETNMIENL-LRESET) Hold Time - LRESET valid after LRESETNMIEN high 12*P ns
2 th(LRESETNMIENL-NMI) Hold Time - NMI valid after LRESETNMIEN high 12*P ns
2 th(LRESETNMIENL-CORESELn) Hold Time - CORESEL[2:0] valid after LRESETNMIEN high 12*P ns
3 tw(LRESETNMIEN) Pulse Width - LRESETNMIEN low width 12*P ns
(1) P = 1/SYSCLK1 clock frequency in ns.
TMS320C6654 NMI_and_Local_reset_timing.gifFigure 8-26 NMI and Local Reset Timing

8.9 Memory Protection Unit (MPU)

The C6654 supports five MPUs:

  • One MPU is used to protect main CORE/3 CFG TeraNet (CFG space of all slave devices on the TeraNet is protected by the MPU).
  • Two MPUs are used for QM_SS (one for the DATA PORT port and the other is for the CFG PORT port).
  • One MPU is used for Semaphore.
  • One MPU is used for EMIF16

This section contains MPU register map and details of device-specific MPU registers only. For MPU features and details of generic MPU registers, see the Memory Protection Unit (MPU) for KeyStone Devices User's Guide (SPRUGW5).

The following tables show the configuration of each MPU and the memory regions protected by each MPU.

Table 8-41 MPU Default Configuration

SETTING MPU0 (MAIN CFG TERANET) MPU1 (QM_SS DATA PORT) MPU2 (QM_SS CFG PORT) MPU3
(SEMAPHORE)
MPU4
(EMIF16)
Default permission Assume allowed Assume allowed Assume allowed Assume allowed Assume allowed
Number of allowed IDs supported 16 16 16 16 16
Number of programmable ranges supported 16 5 16 1 16
Compare width 1KB granularity 1KB granularity 1KB granularity 1KB granularity 1KB granularity

Table 8-42 MPU Memory Regions

MEMORY PROTECTION START ADDRESS END ADDRESS
MPU0 Main CFG TeraNet 0x01D00000 0x026207FF
MPU1 QM_SS DATA PORT 0x34000000 0x340BFFFF
MPU2 QM_SS CFG PORT 0x02A00000 0x02ABFFFF
MPU3 Semaphore 0x02640000 0x026407FF
MPU4 EMIF16 0x70000000 0x7FFFFFFF

Table 8-43 shows the privilege ID of each CORE and every mastering peripheral. Table 8-43 also shows the privilege level (supervisor vs. user), and access type (instruction read vs. data/DMA read or write) of each master on the device. In some cases, a particular setting depends on software being executed at the time of the access or the configuration of the master peripheral.

Table 8-43 Privilege ID Settings

PRIVILEGE ID MASTER PRIVILEGE LEVEL ACCESS TYPE
0 CorePac0 SW dependant, driven by MSMC DMA
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 uPP User DMA
7 EMAC User DMA
8 QM_PKTDMA User DMA
9 Reserved
10 QM_second User DMA
11 PCIe Supervisor DMA
12 DAP Driven by Debug_SS DMA
13 Reserved
14 Reserved
15 Reserved

Table 8-44 shows the master ID of each CorePac and every mastering peripheral. Master IDs are used to determine allowed connections between masters and slaves. Unlike privilege IDs, which can be shared across different masters, master IDs are unique to each master.

Table 8-44 Master ID Settings(1)

MASTER ID MASTER MASTER ID MASTER
0 CorePac0 40 - 47 Reserved
1 Reserved 48 DAP
2 Reserved 49 Reserved
3 Reserved 50 EDMA3_CC
4 Reserved 51 Reserved
5 Reserved 52 MSMC(2)
6 Reserved 53 PCIe
7 Reserved 54 Reserved
8 CorePac0_CFG 55 Reserved
9 Reserved 56 EMAC
10 Reserved 57 - 87 Reserved
11 Reserved 88 - 91 QM_PKTDMA
12 Reserved 92 - 93 QM_Second
13 Reserved 94 Reserved
14 Reserved 95 uPP
15 Reserved 96 - 127 Reserved
16 Reserved 128 Tracer_core_0(3)
17 Reserved 129 Reserved
18 Reserved 130 Reserved
19 Reserved 131 Reserved
20 Reserved 132 Reserved
21 Reserved 133 Reserved
22 Reserved 134 Reserved
23 Reserved 135 Reserved
24 Reserved 136 Reserved
25 Reserved 137 Reserved
26 Reserved 138 Reserved
27 Reserved 139 Reserved
28 EDMA_TC0 read 140 Tracer_DDR
29 EDMA_TC0 write 141 Tracer_SEM
30 EDMA_TC1 read 142 Tracer_QM_CFG
31 EDMA_TC1 write 143 Tracer_QM_DMA
32 EDMA_TC2 read 144 Tracer_CFG
33 EDMA_TC2 write 145 Reserved
34 EDMA_TC3 read 146 Reserved
35 EDMA_TC3 write 147 Reserved
36 - 37 Reserved 148 Tracer_EMIF16
38 - 39 Reserved
(1) Some of the PKTDMA-based peripherals require multiple master IDs. QMS_PKTDMA is assigned with 88,89,90,91, but only 88-89 are actually used. There are two master ID values are assigned for the QM_second master port, one master ID for external linking RAM and the other one for the PDSP/MCDM accesses.
(2) The master ID for MSMC is for the transactions initiated by MSMC internally and sent to the DDR.
(3) All Tracers are set to the same master ID and bit 7 of the master ID needs to be 1.

8.9.1 MPU Registers

This section includes the offsets for MPU registers and definitions for device specific MPU registers.

8.9.1.1 MPU Register Map

Table 8-45 MPU0 Registers

OFFSET NAME DESCRIPTION
0h REVID Revision ID
4h CONFIG Configuration
10h IRAWSTAT Interrupt raw status/set
14h IENSTAT Interrupt enable status/clear
18h IENSET Interrupt enable
1Ch IENCLR Interrupt enable clear
20h EOI End of interrupt
200h PROG0_MPSAR Programmable range 0, start address
204h PROG0_MPEAR Programmable range 0, end address
208h PROG0_MPPA Programmable range 0, memory page protection attributes
210h PROG1_MPSAR Programmable range 1, start address
214h PROG1_MPEAR Programmable range 1, end address
218h PROG1_MPPA Programmable range 1, memory page protection attributes
220h PROG2_MPSAR Programmable range 2, start address
224h PROG2_MPEAR Programmable range 2, end address
228h PROG2_MPPA Programmable range 2, memory page protection attributes
230h PROG3_MPSAR Programmable range 3, start address
234h PROG3_MPEAR Programmable range 3, end address
238h PROG3_MPPA Programmable range 3, memory page protection attributes
240h PROG4_MPSAR Programmable range 4, start address
244h PROG4_MPEAR Programmable range 4, end address
248h PROG4_MPPA Programmable range 4, memory page protection attributes
250h PROG5_MPSAR Programmable range 5, start address
254h PROG5_MPEAR Programmable range 5, end address
258h PROG5_MPPA Programmable range 5, memory page protection attributes
260h PROG6_MPSAR Programmable range 6, start address
264h PROG6_MPEAR Programmable range 6, end address
268h PROG6_MPPA Programmable range 6, memory page protection attributes
270h PROG7_MPSAR Programmable range 7, start address
274h PROG7_MPEAR Programmable range 7, end address
278h PROG7_MPPA Programmable range 7, memory page protection attributes
280h PROG8_MPSAR Programmable range 8, start address
284h PROG8_MPEAR Programmable range 8, end address
288h PROG8_MPPA Programmable range 8, memory page protection attributes
290h PROG9_MPSAR Programmable range 9, start address
294h PROG9_MPEAR Programmable range 9, end address
298h PROG9_MPPA Programmable range 9, memory page protection attributes
2A0h PROG10_MPSAR Programmable range 10, start address
2A4h PROG10_MPEAR Programmable range 10, end address
2A8h PROG10_MPPA Programmable range 10, memory page protection attributes
2B0h PROG11_MPSAR Programmable range 11, start address
2B4h PROG11_MPEAR Programmable range 11, end address
2B8h PROG11_MPPA Programmable range 11, memory page protection attributes
2C0h PROG12_MPSAR Programmable range 12, start address
2C4h PROG12_MPEAR Programmable range 12, end address
2C8h PROG12_MPPA Programmable range 12, memory page protection attributes
2D0h PROG13_MPSAR Programmable range 13, start address
2D4h PROG13_MPEAR Programmable range 13, end address
2Dh PROG13_MPPA Programmable range 13, memory page protection attributes
2E0h PROG14_MPSAR Programmable range 14, start address
2E4h PROG14_MPEAR Programmable range 14, end address
2E8h PROG14_MPPA Programmable range 14, memory page protection attributes
2F0h PROG15_MPSAR Programmable range 15, start address
2F4h PROG15_MPEAR Programmable range 15, end address
2F8h PROG15_MPPA Programmable range 15, memory page protection attributes
300h FLTADDRR Fault address
304h FLTSTAT Fault status
308h FLTCLR Fault clear

Table 8-46 MPU1 Registers

OFFSET NAME DESCRIPTION
0h REVID Revision ID
4h CONFIG Configuration
10h IRAWSTAT Interrupt raw status/set
14h IENSTAT Interrupt enable status/clear
18h IENSET Interrupt enable
1Ch IENCLR Interrupt enable clear
20h EOI End of interrupt
200h PROG0_MPSAR Programmable range 0, start address
204h PROG0_MPEAR Programmable range 0, end address
208h PROG0_MPPA Programmable range 0, memory page protection attributes
210h PROG1_MPSAR Programmable range 1, start address
214h PROG1_MPEAR Programmable range 1, end address
218h PROG1_MPPA Programmable range 1, memory page protection attributes
220h PROG2_MPSAR Programmable range 2, start address
224h PROG2_MPEAR Programmable range 2, end address
228h PROG2_MPPA Programmable range 2, memory page protection attributes
230h PROG3_MPSAR Programmable range 3, start address
234h PROG3_MPEAR Programmable range 3, end address
238h PROG3_MPPA Programmable range 3, memory page protection attributes
240h PROG4_MPSAR Programmable range 4, start address
244h PROG4_MPEAR Programmable range 4, end address
248h PROG4_MPPA Programmable range 4, memory page protection attributes
300h FLTADDRR Fault address
304h FLTSTAT Fault status
308h FLTCLR Fault clear

Table 8-47 MPU2 Registers

OFFSET NAME DESCRIPTION
0h REVID Revision ID
4h CONFIG Configuration
10h IRAWSTAT Interrupt raw status/set
14h IENSTAT Interrupt enable status/clear
18h IENSET Interrupt enable
1Ch IENCLR Interrupt enable clear
20h EOI End of interrupt
200h PROG0_MPSAR Programmable range 0, start address
204h PROG0_MPEAR Programmable range 0, end address
208h PROG0_MPPA Programmable range 0, memory page protection attributes
210h PROG1_MPSAR Programmable range 1, start address
214h PROG1_MPEAR Programmable range 1, end address
218h PROG1_MPPA Programmable range 1, memory page protection attributes
220h PROG2_MPSAR Programmable range 2, start address
224h PROG2_MPEAR Programmable range 2, end address
228h PROG2_MPPA Programmable range 2, memory page protection attributes
230h PROG3_MPSAR Programmable range 3, start address
234h PROG3_MPEAR Programmable range 3, end address
238h PROG3_MPPA Programmable range 3, memory page protection attributes
240h PROG4_MPSAR Programmable range 4, start address
244h PROG4_MPEAR Programmable range 4, end address
248h PROG4_MPPA Programmable range 4, memory page protection attributes
250h PROG5_MPSAR Programmable range 5, start address
254h PROG5_MPEAR Programmable range 5, end address
258h PROG5_MPPA Programmable range 5, memory page protection attributes
260h PROG6_MPSAR Programmable range 6, start address
264h PROG6_MPEAR Programmable range 6, end address
268h PROG6_MPPA Programmable range 6, memory page protection attributes
270h PROG7_MPSAR Programmable range 7, start address
274h PROG7_MPEAR Programmable range 7, end address
278h PROG7_MPPA Programmable range 7, memory page protection attributes
280h PROG8_MPSAR Programmable range 8, start address
284h PROG8_MPEAR Programmable range 8, end address
288h PROG8_MPPA Programmable range 8, memory page protection attributes
290h PROG9_MPSAR Programmable range 9, start address
294h PROG9_MPEAR Programmable range 9, end address
298h PROG9_MPPA Programmable range 9, memory page protection attributes
2A0h PROG10_MPSAR Programmable range 10, start address
2A4h PROG10_MPEAR Programmable range 10, end address
2A8h PROG10_MPPA Programmable range 10, memory page protection attributes
2B0h PROG11_MPSAR Programmable range 11, start address
2B4h PROG11_MPEAR Programmable range 11, end address
2B8h PROG11_MPPA Programmable range 11, memory page protection attributes
2C0h PROG12_MPSAR Programmable range 12, start address
2C4h PROG12_MPEAR Programmable range 12, end address
2C8h PROG12_MPPA Programmable range 12, memory page protection attributes
2D0h PROG13_MPSAR Programmable range 13, start address
2D4h PROG13_MPEAR Programmable range 13, end address
2Dh PROG13_MPPA Programmable range 13, memory page protection attributes
2E0h PROG14_MPSAR Programmable range 14, start address
2E4h PROG14_MPEAR Programmable range 14, end address
2E8h PROG14_MPPA Programmable range 14, memory page protection attributes
2F0h PROG15_MPSAR Programmable range 15, start address
2F4h PROG15_MPEAR Programmable range 15, end address
2F8h PROG15_MPPA Programmable range 15, memory page protection attributes
300h FLTADDRR Fault address
304h FLTSTAT Fault status
308h FLTCLR Fault clear

Table 8-48 MPU3 Registers

OFFSET NAME DESCRIPTION
0h REVID Revision ID
4h CONFIG Configuration
10h IRAWSTAT Interrupt raw status/set
14h IENSTAT Interrupt enable status/clear
18h IENSET Interrupt enable
1Ch IENCLR Interrupt enable clear
20h EOI End of interrupt
200h PROG0_MPSAR Programmable range 0, start address
204h PROG0_MPEAR Programmable range 0, end address
208h PROG0_MPPA Programmable range 0, memory page protection attributes
300h FLTADDRR Fault address
304h FLTSTAT Fault status
308h FLTCLR Fault clear

Table 8-49 MPU4 Registers

OFFSET NAME DESCRIPTION
0h REVID Revision ID
4h CONFIG Configuration
10h IRAWSTAT Interrupt raw status/set
14h IENSTAT Interrupt enable status/clear
18h IENSET Interrupt enable
1Ch IENCLR Interrupt enable clear
20h EOI End of interrupt
200h PROG0_MPSAR Programmable range 0, start address
204h PROG0_MPEAR Programmable range 0, end address
208h PROG0_MPPA Programmable range 0, memory page protection attributes
210h PROG1_MPSAR Programmable range 1, start address
214h PROG1_MPEAR Programmable range 1, end address
218h PROG1_MPPA Programmable range 1, memory page protection attributes
220h PROG2_MPSAR Programmable range 2, start address
224h PROG2_MPEAR Programmable range 2, end address
228h PROG2_MPPA Programmable range 2, memory page protection attributes
230h PROG3_MPSAR Programmable range 3, start address
234h PROG3_MPEAR Programmable range 3, end address
238h PROG3_MPPA Programmable range 3, memory page protection attributes
240h PROG4_MPSAR Programmable range 4, start address
244h PROG4_MPEAR Programmable range 4, end address
248h PROG4_MPPA Programmable range 4, memory page protection attributes
250h PROG5_MPSAR Programmable range 5, start address
254h PROG5_MPEAR Programmable range 5, end address
258h PROG5_MPPA Programmable range 5, memory page protection attributes
260h PROG6_MPSAR Programmable range 6, start address
264h PROG6_MPEAR Programmable range 6, end address
268h PROG6_MPPA Programmable range 6, memory page protection attributes
270h PROG7_MPSAR Programmable range 7, start address
274h PROG7_MPEAR Programmable range 7, end address
278h PROG7_MPPA Programmable range 7, memory page protection attributes
280h PROG8_MPSAR Programmable range 8, start address
284h PROG8_MPEAR Programmable range 8, end address
288h PROG8_MPPA Programmable range 8, memory page protection attributes
290h PROG9_MPSAR Programmable range 9, start address
294h PROG9_MPEAR Programmable range 9, end address
298h PROG9_MPPA Programmable range 9, memory page protection attributes
2A0h PROG10_MPSAR Programmable range 10, start address
2A4h PROG10_MPEAR Programmable range 10, end address
2A8h PROG10_MPPA Programmable range 10, memory page protection attributes
2B0h PROG11_MPSAR Programmable range 11, start address
2B4h PROG11_MPEAR Programmable range 11, end address
2B8h PROG11_MPPA Programmable range 11, memory page protection attributes
2C0h PROG12_MPSAR Programmable range 12, start address
2C4h PROG12_MPEAR Programmable range 12, end address
2C8h PROG12_MPPA Programmable range 12, memory page protection attributes
2D0h PROG13_MPSAR Programmable range 13, start address
2D4h PROG13_MPEAR Programmable range 13, end address
2Dh PROG13_MPPA Programmable range 13, memory page protection attributes
2E0h PROG14_MPSAR Programmable range 14, start address
2E4h PROG14_MPEAR Programmable range 14, end address
2E8h PROG14_MPPA Programmable range 14, memory page protection attributes
2F0h PROG15_MPSAR Programmable range 15, start address
2F4h PROG15_MPEAR Programmable range 15, end address
2F8h PROG15_MPPA Programmable range 15, memory page protection attributes
300h FLTADDRR Fault address
304h FLTSTAT Fault status
308h FLTCLR Fault clear

8.9.1.2 Device-Specific MPU Registers

8.9.1.2.1 Configuration Register (CONFIG)

The Configuration Register (CONFIG) contains the configuration value of the MPU.

Figure 8-27 Configuration Register (CONFIG)
31 24 23 20 19 16 15 12 11 1 0
ADDR_WIDTH NUM_FIXED NUM_PROG NUM_AIDS Reserved ASSUME_ALLOWED
Reset Values MPU0 R-0 R-0 R-16 R-16 R-0 R-1
MPU1 R-0 R-0 R-5 R-16 R-0 R-1
MPU2 R-0 R-0 R-16 R-16 R-0 R-1
MPU3 R-0 R-0 R-1 R-16 R-0 R-1
MPU4 R-0 R-0 R-16 R-16 R-0 R-1
Legend: R = Read only; -n = value after reset

Table 8-50 Configuration Register (CONFIG) Field Descriptions

Bit Field Description
31 – 24 ADDR_WIDTH Address alignment for range checking
  • 0 = 1KB alignment
  • 6 = 64KB alignment
23 – 20 NUM_FIXED Number of fixed address ranges
19 – 16 NUM_PROG Number of programmable address ranges
15 – 12 NUM_AIDS Number of supported AIDs
11 – 1 Reserved Reserved. These bits will always reads as 0.
0 ASSUME_ALLOWED Assume allowed bit. When an address is not covered by any MPU protection range, this bit determines whether the transfer is assumed to be allowed or not.
  • 0 = Assume disallowed
  • 1 = Assume allowed

8.9.2 MPU Programmable Range Registers

8.9.2.1 Programmable Range n Start Address Register (PROGn_MPSAR)

The Programmable Address Start Register holds the start address for the range. This register is writeable by a supervisor entity only.

The start address must be aligned on a page boundary. The size of the page is 1K byte. The size of the page determines the width of the address field in MPSAR and MPEAR.

Figure 8-28 Programmable Range n Start Address Register (PROGn_MPSAR)
31 10 9 0
START_ADDR Reserved
R/W R
Legend: R = Read only; R/W = Read/Write

Table 8-51 Programmable Range n Start Address Register (PROGn_MPSAR) Field Descriptions

Bit Field Description
31 – 10 START_ADDR Start address for range n.
9 – 0 Reserved Reserved and these bits always read as 0.

8.9.2.2 Programmable Range n End Address Register (PROGn_MPEAR)

The Programmable Address End Register holds the end address for the range. This register is writeable by a supervisor entity only.

The end address must be aligned on a page boundary. The size of the page depends on the MPU number. The page size for MPU1 is 1K byte and for MPU2 it is 64K bytes. The size of the page determines the width of the address field in MPSAR and MPEAR

Figure 8-29 Programmable Range n End Address Register (PROGn_MPEAR)
31 10 9 0
END_ADDR Reserved
R/W R
Legend: R = Read only; R/W = Read/Write

Table 8-52 Programmable Range n End Address Register (PROGn_MPEAR) Field Descriptions

Bit Field Description
31 – 10 END_ADDR End address for range n.
9 – 0 Reserved Reserved and these bits always read as 3FFh.

8.9.2.3 Programmable Range n Memory Protection Page Attribute Register (PROGn_MPPA)

The Programmable Address Memory Protection Page Attribute Register holds the permissions for the region. This register is writeable only by a non-debug supervisor entity.

Figure 8-30 Programmable Range n Memory Protection Page Attribute Register (PROGn_MPPA)
31 26 25 24 23 22 21 20 19 18 17 16 15
Reserved AID15 AID14 AID13 AID12 AID11 AID10 AID9 AID8 AID7 AID6 AID5
R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AID4 AID3 AID2 AID1 AID0 AIDX Reserved Reserved EMU SR SW SX UR UW UX
R/W R/W R/W R/W R/W R/W R R R/W R/W R/W R/W R/W R/W R/W
Legend: R = Read only; R/W = Read/Write

Table 8-53 Programmable Range n Memory Protection Page Attribute Register (PROGn_MPPA) Field Descriptions

Bit Field Description
31 – 26 Reserved Reserved. These bits will always reads as 0.
25 AID15 Controls permission check of ID = 15
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
24 AID14 Controls permission check of ID = 14
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
23 AID13 Controls permission check of ID = 13
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
22 AID12 Controls permission check of ID = 12
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
21 AID11 Controls permission check of ID = 11
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
20 AID10 Controls permission check of ID = 10
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
19 AID9 Controls permission check of ID = 9
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
18 AID8 Controls permission check of ID = 8
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
17 AID7 Controls permission check of ID = 7
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
16 AID6 Controls permission check of ID = 6
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
15 AID5 Controls permission check of ID = 5
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
14 AID4 Controls permission check of ID = 4
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
13 AID3 Controls permission check of ID = 3
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
12 AID2 Controls permission check of ID = 2
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
11 AID1 Controls permission check of ID = 1
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
10 AID0 Controls permission check of ID = 0
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
9 AIDX Controls permission check of ID > 15
  • 0 = AID is not checked for permissions
  • 1 = AID is checked for permissions
8 Reserved Always reads as 0.
7 Reserved Always reads as 1.
6 EMU Emulation (debug) access permission.
  • 0 = Debug access not allowed.
  • 1 = Debug access allowed.
5 SR Supervisor Read permission
  • 0 = Access not allowed.
  • 1 = Access allowed.
4 SW Supervisor Write permission
  • 0 = Access not allowed.
  • 1 = Access allowed.
3 SX Supervisor Execute permission
  • 0 = Access not allowed.
  • 1 = Access allowed.
2 UR User Read permission
  • 0 = Access not allowed.
  • 1 = Access allowed
1 UW User Write permission
  • 0 = Access not allowed.
  • 1 = Access allowed.
0 UX User Execute permission
  • 0 = Access not allowed.
  • 1 = Access allowed.

8.9.2.4 MPU Registers Reset Values

Table 8-54 Programmable Range n Registers Reset Values for MPU0

PROGRAMMABLE RANGE MPU0 (MAIN CFG TERANET)
START ADDRESS (PROGn_MPSAR) END ADDRESS (PROGn_MPEAR) MEMORY PAGE PROTECTION ATTRIBUTE (PROGn_MPPA) MEMORY PROTECTION
PROG0 0x01D0_0000 0x01D8_007F 0x03FF_FCB6 Tracers
PROG1 0x01F0_0000 0x01F7_FFFF 0x03FF_FC80 Reserved
PROG2 0x0200_0000 0x0209_FFFF 0x03FF_FCB6 Reserved
PROG3 0x01E0_0000 0x01EB_FFFF 0x03FF_FCB6 Reserved
PROG4 0x021C_0000 0x021E_0C3F 0x03FF_FCB6 Reserved
PROG5 0x021F_0000 0x021F_7FFF 0x03FF_FCB6 Reserved
PROG6 0x0220_0000 0x0227_007F 0x03FF_FCB6 Timers
PROG7 0x0231_0000 0x0231_03FF 0x03FF_FCB4 PLL
PROG8 0x0232_0000 0x0232_03FF 0x03FF_FCB4 GPIO
PROG9 0x0233_0000 0x0233_03FF 0x03FF_FCB4 SmartReflex
PROG10 0x0235_0000 0x0235_0FFF 0x03FF_FCB4 PSC
PROG11 0x0240_0000 0x0245_3FFF 0x03FF_FCB6 DEBUG_SS, Tracer Formatters
PROG12 0x0250_0000 0x0252_03FF 0x03FF_FCB4 EFUSE
PROG13 0x0253_0000 0x0255_03FF 0x03FF_FCB6 I2C, UART
PROG14 0x0260_0000 0x0260_BFFF 0x03FF_FCB4 CICs
PROG15 0x0262_0000 0x0262_07FF 0x03FF_FCB4 Chip-level Registers

Table 8-55 Programmable Range n Registers Reset Values for MPU1

PROGRAMMABLE RANGE MPU1 (QM_SS DATA PORT)
START ADDRESS (PROGn_MPSAR) END ADDRESS (PROGn_MPEAR) MEMORY PAGE PROTECTION ATTRIBUTE (PROGn_MPPA) MEMORY PROTECTION
PROG0 0x3400_0000 0x3401_FFFF 0x03FF_FC80 Queue Manager subsystem data
PROG1 0x3402_0000 0x3405_FFFF 0x000F_FCB6
PROG2 0x3406_0000 0x3406_7FFF 0x03FF_FCB4
PROG3 0x3406_8000 0x340B_7FFF 0x03FF_FC80
PROG4 0x340B_8000 0x340B_FFFF 0x03FF_FCB6

Table 8-56 Programmable Range n Registers Reset Values for MPU2

PROGRAMMABLE RANGE MPU2 (QM_SS CFG PORT)
START ADDRESS (PROGn_MPSAR) END ADDRESS (PROGn_MPEAR) MEMORY PAGE PROTECTION ATTRIBUTE (PROGn_MPPA) MEMORY PROTECTION
PROG0 0x02A0_0000 0x02A1_FFFF 0x03FF_FCA4 Queue Manager subsystem configuration
PROG1 0x02A2_0000 0x02A3_FFFF 0x000F_FCB6
PROG2 0x02A4_0000 0x02A5_FFFF 0x000F_FCB6
PROG3 0x02A6_0000 0x02A6_7FFF 0x03FF_FCB4
PROG4 0x02A6_8000 0x02A6_8FFF 0x03FF_FCB4
PROG5 0x02A6_9000 0x02A6_9FFF 0x03FF_FCB4
PROG6 0x02A6_A000 0x02A6_AFFF 0x03FF_FCB4
PROG7 0x02A6_B000 0x02A6_BFFF 0x03FF_FCB4
PROG8 0x02A6_C000 0x02A6_DFFF 0x03FF_FCB4
PROG9 0x02A6_E000 0x02A6_FFFF 0x03FF_FCB4
PROG10 0x02A8_0000 0x02A8_FFFF 0x03FF_FCA4
PROG11 0x02A9_0000 0x02A9_FFFF 0x03FF_FCB4
PROG12 0x02AA_0000 0x02AA_7FFF 0x03FF_FCB4
PROG13 0x02AA_8000 0x02AA_FFFF 0x03FF_FCB4
PROG14 0x02AB_0000 0x02AB_7FFF 0x03FF_FCB4
PROG15 0x02AB_8000 0x02AB_FFFF 0x03FF_FCB6

Table 8-57 Programmable Range n Registers Reset Values for MPU3

PROGRAMMABLE RANGE MPU3 (SEMAPHORE)
START ADDRESS (PROGn_MPSAR) END ADDRESS (PROGn_MPEAR) MEMORY PAGE PROTECTION ATTRIBUTES (PROGn_MPPA) MEMORY PROTECTION
PROG0 0x0264_0000 0x0264_07FF 0x0003_FCB6 Semaphore

Table 8-58 Programmable Range n Registers Reset Values for MPU4

PROGRAMMABLE RANGE MPU4 (EMIF16)
START ADDRESS (PROGn_MPSAR) END ADDRESS (PROGn_MPEAR) MEMORY PAGE PROTECTION ATTRIBUTE (PROGn_MPPA) MEMORY PROTECTION
PROG0 0x7000_0000 0x70FF_FFFF 0x03FF_FCB6 EMIF16 data
PROG1 0x7100_0000 0x71FF_FFFF 0x03FF_FCB6
PROG2 0x7200_0000 0x72FF_FFFF 0x03FF_FCB6
PROG3 0x7300_0000 0x73FF_FFFF 0x03FF_FCB6
PROG4 0x7400_0000 0x74FF_FFFF 0x03FF_FCB6
PROG5 0x7500_0000 0x75FF_FFFF 0x03FF_FCB6
PROG6 0x7600_0000 0x76FF_FFFF 0x03FF_FCB6
PROG7 0x7700_0000 0x77FF_FFFF 0x03FF_FCB6
PROG8 0x7800_0000 0x78FF_FFFF 0x03FF_FCB6
PROG9 0x7900_0000 0x79FF_FFFF 0x03FF_FCB6
PROG10 0x7A00_0000 0x7AFF_FFFF 0x03FF_FCB6
PROG11 0x7B00_0000 0x7BFF_FFFF 0x03FF_FCB6
PROG12 0x7C00_0000 0x7CFF_FFFF 0x03FF_FCB6
PROG13 0x7D00_0000 0x7DFF_FFFF 0x03FF_FCB6
PROG14 0x7E00_0000 0x7EFF_FFFF 0x03FF_FCB6
PROG15 0x7F00_0000 0x7FFF_FFFF 0x03FF_FCB6

8.10 DDR3 Memory Controller

The 32-bit DDR3 Memory Controller bus of the C6654 is used to interface to JEDEC-standard-compliant DDR3 SDRAM devices. The DDR3 external bus interfaces only to DDR3 SDRAM devices; it does not share the bus with any other types of peripherals.

8.10.1 DDR3 Memory Controller Device-Specific Information

The C6654 includes one 32-bit wide 1.5-V DDR3 SDRAM EMIF interface. The DDR3 interface can operate at 800 Mega transfers per second (MTS) and 1033 MTS.

Due to the complicated nature of the interface, a limited number of topologies will be supported to provide a 16-bit or 32-bit interface.

The DDR3 electrical requirements are fully specified in the DDR Jedec Specification JESD79-3C. Standard DDR3 SDRAMs are available in 8- and 16-bit versions, allowing for the following bank topologies to be supported by the interface:

  • 36-bit: Three 16-bit SDRAMs (including 4 bits of ECC)
  • 36-bit: Five 8-bit SDRAMs (including 4 bits of ECC)
  • 32-bit: Two 16-bit SDRAMs
  • 32-bit: Four 8-bit SDRAMs
  • 16-bit: One 16-bit SDRAM
  • 16-bit: Two 8-bit SDRAM

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, then the master B read may bypass the master A write and, thus, master B may read stale data and, therefore, receive an incorrect message.

Some master peripherals (e.g., EDMA3 transfer controllers with TCCMOD=0) will 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 via software.

If master A does not wait for indication that a write is complete, it must perform the following workaround:

  1. Perform the required write to DDR3 memory space.
  2. Perform a dummy write to the DDR3 memory controller module ID and revision register.
  3. Perform a dummy read from the DDR3 memory controller module ID and revision register.
  4. Indicate to master B that the data is ready to be read after completion of the read in step 3. The completion of the read in step 3 ensures that the previous write was done.

8.10.2 DDR3 Memory Controller Electrical Data/Timing

The KeyStone DSP DDR3 Implementation Guidelines (SPRABI1) 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/timing information is supplied here for this interface.

NOTE

TI supports only designs that follow the board design guidelines outlined in the application report.

8.11 I2C Peripheral

The inter-integrated circuit (I2C) module provides an interface between DSP and other devices compliant with Philips Semiconductors Inter-IC bus (I2C bus) specification version 2.1 and connected by way of an I2C bus. External components attached to this 2-wire serial bus can transmit/receive up to 8-bit data to/from the DSP through the I2C module.

8.11.1 I2C Device-Specific Information

The C6654 device includes an I2C peripheral module.

NOTE

When using the I2C module, ensure there are external pullup resistors on the SDA and SCL pins.

The I2C modules on the C6654 may be used by the DSP to control local peripheral ICs (DACs, ADCs, etc.) or may be used to communicate with other controllers in a system or to implement a user interface.

The I2C port is compatible with Philips I2C specification revision 2.1 (January 2000) and supports:

  • Fast mode up to 400 Kbps (no fail-safe I/O buffers)
  • Noise filter to remove noise 50 ns or less
  • 7-bit and 10-bit device addressing modes
  • Multi-master (transmit/receive) and slave (transmit/receive) functionality
  • Events: DMA, interrupt, or polling
  • Slew-rate limited open-drain output buffers

Figure 8-31 shows a block diagram of the I2C module.

TMS320C6654 I2C_Module_block_diagram.gifFigure 8-31 I2C Module Block Diagram

8.11.2 I2C Peripheral Register Description(s)

Table 8-59 I2C Registers

HEX ADDRESS RANGE REGISTER REGISTER NAME
0253 0000 ICOAR I2C Own Address Register
0253 0004 ICIMR I2C Interrupt Mask/Status Register
0253 0008 ICSTR I2C Interrupt Status Register
0253 000C ICCLKL I2C Clock Low-Time Divider Register
0253 0010 ICCLKH I2C Clock High-Time Divider Register
0253 0014 ICCNT I2C Data Count Register
0253 0018 ICDRR I2C Data Receive Register
0253 001C ICSAR I2C Slave Address Register
0253 0020 ICDXR I2C Data Transmit Register
0253 0024 ICMDR I2C Mode Register
0253 0028 ICIVR I2C Interrupt Vector Register
0253 002C ICEMDR I2C Extended Mode Register
0253 0030 ICPSC I2C Prescaler Register
0253 0034 ICPID1 I2C Peripheral Identification Register 1 [Value: 0x0000 0105]
0253 0038 ICPID2 I2C Peripheral Identification Register 2 [Value: 0x0000 0005]
0253 003C - 0253 007F - Reserved

8.11.3 I2C Electrical Data/Timing

8.11.3.1 Inter-Integrated Circuits (I2C) Timing

Table 8-60 I2C Timing Requirements(1)

(see Figure 8-32)
NO. STANDARD MODE FAST MODE UNITS
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
15 Cb (5) Capacitive load for each bus line 400 400 pF
(1) The I2C pins SDA and SCL do not feature fail-safe I/O buffers. These pins could potentially draw current when the device is powered down
(2) A Fast-mode I2C-bus™ device can be used in a Standard-mode I2C-bus™ system, but the requirement tsu(SDA-SCLH) ≥ 250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line tr max + tsu(SDA-SCLH) = 1000 + 250 = 1250 ns (according to the Standard-mode I2C-Bus Specification) before the SCL line is released.
(3) A device must internally provide a hold time of at least 300 ns for the SDA signal (referred to the VIHmin of the SCL signal) to bridge the undefined region of the falling edge of SCL.
(4) The maximum th(SDA-SCLL) has only to be met if the device does not stretch the low period [tw(SCLL)] of the SCL signal.
(5) Cb = total capacitance of one bus line in pF. If mixed with HS-mode devices, faster fall-times are allowed.
TMS320C6654 I2C_Receive_Timings.gifFigure 8-32 I2C Receive Timings

Table 8-61 I2C Switching Characteristics(1)

(see Figure 8-33)
NO. PARAMETER STANDARD MODE FAST MODE UNIT
MIN MAX MIN MAX
16 tc(SCL) Cycle time, SCL 10 2.5 ms
17 tsu(SCLH-SDAL) Setup time, SCL high to SDA low (for a repeated START condition) 4.7 0.6 ms
18 th(SDAL-SCLL) Hold time, SDA low after SCL low (for a START and a repeated START condition) 4 0.6 ms
19 tw(SCLL) Pulse duration, SCL low 4.7 1.3 ms
20 tw(SCLH) Pulse duration, SCL high 4 0.6 ms
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 ms
23 tw(SDAH) Pulse duration, SDA high between STOP and START conditions 4.7 1.3 ms
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 ms
29 Cp Capacitance for each I2C pin 10 10 pF
(1) Cb = total capacitance of one bus line in pF. If mixed with HS-mode devices, faster fall-times are allowed.
TMS320C6654 I2C_Transmit_Timings_NySh.gifFigure 8-33 I2C Transmit Timings

8.12 SPI Peripheral

The serial peripheral interconnect (SPI) module provides an interface between the DSP 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 the C6654 is supported only in master mode. Additional chip-level components can also be included, such as temperature sensors or an I/O expander.

8.12.1 SPI Electrical Data/Timing

8.12.1.1 SPI Timing

Table 8-62 SPI Timing Requirements

(See Figure 8-34)
NO. MIN MAX UNIT
Master Mode Timing Diagrams — Base Timings for 3 Pin Mode
7 tsu(SDI-SPC) Input Setup Time, SPIDIN valid before receive edge of SPICLK. Polarity = 0 Phase = 0 2 ns
7 tsu(SDI-SPC) Input Setup Time, SPIDIN valid before receive edge of SPICLK. Polarity = 0 Phase = 1 2 ns
7 tsu(SDI-SPC) Input Setup Time, SPIDIN valid before receive edge of SPICLK. Polarity = 1 Phase = 0 2 ns
7 tsu(SDI-SPC) Input Setup Time, SPIDIN valid before receive edge of SPICLK. Polarity = 1 Phase = 1 2 ns
8 th(SPC-SDI) Input Hold Time, SPIDIN valid after receive edge of SPICLK. Polarity = 0 Phase = 0 5 ns
8 th(SPC-SDI) Input Hold Time, SPIDIN valid after receive edge of SPICLK. Polarity = 0 Phase = 1 5 ns
8 th(SPC-SDI) Input Hold Time, SPIDIN valid after receive edge of SPICLK. Polarity = 1 Phase = 0 5 ns
8 th(SPC-SDI) Input Hold Time, SPIDIN valid after receive edge of SPICLK. Polarity = 1 Phase = 1 5 ns

Table 8-63 SPI Switching Characteristics

(See Figure 8-34 and Figure 8-35)
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*tc - 1 ns
3 tw(SPCL) Pulse Width Low, SPICLK, All Master Modes 0.5*tc - 1 ns
4 td(SDO-SPC) Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK. Polarity = 0, Phase = 0. 5 ns
4 td(SDO-SPC) Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK. Polarity = 0, Phase = 1. 5 ns
4 td(SDO-SPC) Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK Polarity = 1, Phase = 0 5 ns
4 td(SDO-SPC) Setup (Delay), initial data bit valid on SPIDOUT to initial edge on SPICLK Polarity = 1, Phase = 1 5 ns
5 td(SPC-SDO) Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK. Polarity = 0 Phase = 0 2 ns
5 td(SPC-SDO) Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK Polarity = 0 Phase = 1 2 ns
5 td(SPC-SDO) Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK Polarity = 1 Phase = 0 2 ns
5 td(SPC-SDO) Setup (Delay), subsequent data bits valid on SPIDOUT to initial edge on SPICLK Polarity = 1 Phase = 1 2 ns
6 toh(SPC-SDO) 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-SDO) 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-SDO) 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-SDO) 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 SPISCS[n] active to first SPICLK. Polarity = 0 Phase = 0 2*P2 - 5 2*P2 + 5 ns
19 td(SCS-SPC) Delay from SPISCS[n] 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 SPISCS[n] active to first SPICLK. Polarity = 1 Phase = 0 2*P2 - 5 2*P2 + 5 ns
19 td(SCS-SPC) Delay from SPISCS[n] 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 SPISCS[n]. Polarity = 0 Phase = 0 1*P2 - 5 1*P2 + 5 ns
20 td(SPC-SCS) Delay from final SPICLK edge to master deasserting SPISCS[n]. 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 SPISCS[n]. Polarity = 1 Phase = 0 1*P2 - 5 1*P2 + 5 ns
20 td(SPC-SCS) Delay from final SPICLK edge to master deasserting SPISCS[n]. Polarity = 1 Phase = 1 0.5*tc + (1*P2) - 5 0.5*tc + (1*P2) + 5 ns
tw(SCSH) Minimum inactive time on SPISCS[n] pin between two transfers when SPISCS[n] is not held using the CSHOLD feature. 2*P2 - 5 ns
(1) P2 = 1/SYSCLK7
TMS320C6654 SPI_Master_Mode_Timing_Diagrams_-_Base_Timings_for_3_Pin_Modes_NySh.gifFigure 8-34 SPI Master Mode Timing Diagrams — Base Timings for 3 Pin Mode
TMS320C6654 SPI_Additional_Timings_for_4_Pin_Master_Mode_with_Chip_Select_NySh.gifFigure 8-35 SPI Additional Timings for 4 Pin Master Mode with Chip Select Option

8.13 UART Peripheral

The universal asynchronous receiver/transmitter (UART) module provides an interface between the DSP 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 DSP 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 DSP. The DSP 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 Universal Asynchronous Receiver/Transmitter (UART) for KeyStone Devices User's Guide (SPRUGP1).

Table 8-64 UART Timing Requirements

(see Figure 8-36 and Figure 8-37)
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 1.5*(0.96U) 1.5*(1.05U) ns
6 tw(RXSTOP2) Pulse width, receive stop bit 2 2*(0.96U) 2*(1.05U) ns
Autoflow Timing Requirements
8 td(CTSL-TX) Delay time, CTS asserted to START bit transmit P(2) 5P ns
(1) U = UART baud time = 1/programmed baud rate
(2) P = 1/SYSCLK7
TMS320C6654 UART_Receive_Timing_Waveform_NySh.gifFigure 8-36 UART Receive Timing Waveform
TMS320C6654 UART_CTS_Autoflow_Timing_Waveform_NySh.gifFigure 8-37 UART CTS (Clear-to-Send Input) — Autoflow Timing Waveform

Table 8-65 UART Switching Characteristics

(See Figure 8-38 and Figure 8-39)
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
(1) U = UART baud time = 1/programmed baud rate
(2) P = 1/SYSCLK7
TMS320C6654 UART_Transmit_Timing_Waveform_NySh.gifFigure 8-38 UART Transmit Timing Waveform
TMS320C6654 UART_RTS_Autoflow_Timing_Waveform_NySh.gifFigure 8-39 UART RTS (Request-to-Send Output) — Autoflow Timing Waveform

8.14 PCIe Peripheral

The two-lane PCI express (PCIe) module on the device provides an interface between the DSP and other PCIe-compliant devices. The PCI Express module provides low-pin-count, high-reliability, and high-speed data transfer at rates of 5.0 GBaud per lane on the serial links. For more information, see the Peripheral Component Interconnect Express (PCIe) for KeyStone Devices User's Guide (SPRUGS6). The PCIe electrical requirements are fully specified in the PCI Express Base Specification Revision 2.0 of PCI-SIG. TI has performed the simulation and system characterization to ensure all PCIe interface timings in this solution are met; therefore, no electrical data/timing information is supplied here for this interface.

8.15 EMIF16 Peripheral

The EMIF16 module provides an interface between DSP and external memories such as NAND and NOR flash. For more information, see the External Memory Interface (EMIF16) for KeyStone Devices User's Guide (SPRUGZ3).

8.15.1 EMIF16 Electrical Data/Timing

Table 8-66 EMIF16 Asynchronous Memory Timing Requirements(1)(2)

(see Figure 8-40 and Figure 8-41)
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+WAIT+RH+3)*E-3 (RS+RST+WAIT+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+3)*E-3 (WS+WST+WH+3)*E+3 ns
15 tc(CEL) EMIF write cycle time when ew =1., meaning extended wait mode is enabled (WS+WST+WAIT+WH+3)*E-3 (WS+WST+WAIT+WH+3)*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
(1) E = 1/SYSCLK7, RS = Read Setup, RST = Read Strobe, RH = Read Hold, WS = Write Setup, WST = Write Strobe, WH = Write Hold.
(2) WAIT = number of cycles wait is asserted between the programmed end of the strobe period and wait de-assertion.
TMS320C6654 EMIF16_Asynchronous_Memory_Read_Timing.gifFigure 8-40 EMIF16 Asynchronous Memory Read Timing Diagram
TMS320C6654 EMIF16_Asynchronous_Memory_Write_Timing.gifFigure 8-41 EMIF16 Asynchronous Memory Write Timing Diagram
TMS320C6654 EMIF16_EM_Wait_Read_Timing.gifFigure 8-42 EMIF16 EM_WAIT Read Timing Diagram
TMS320C6654 EMIF16_EM_Wait_Write_Timing.gifFigure 8-43 EMIF16 EM_WAIT Write Timing Diagram

8.16 Ethernet Media Access Controller (EMAC)

The Ethernet media access controller (EMAC) module provides an efficient interface between the C6654 DSP core processor and the networked community. The EMAC supports 10Base-T (10 Mbits/second [Mbps]), 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 EMAC module conforms to the IEEE 802.3-2002 standard, describing the Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer specifications. The IEEE 802.3 standard has also been adopted by ISO/IEC and re-designated as ISO/IEC 8802-3:2000(E).

Deviating from this standard, the EMAC module does not use the transmit coding error signal MTXER. Instead of driving the error pin when an underflow condition occurs on a transmitted frame, the EMAC will intentionally generate an incorrect checksum by inverting the frame CRC, so that the transmitted frame will be detected as an error by the network.

The EMAC control module is the main interface between the device core processor, the MDIO module, and the EMAC module. The relationship between these three components is shown in Figure 8-44. The EMAC control module contains the necessary components to allow the EMAC to make efficient use of device memory, plus it controls device interrupts. The EMAC control module incorporates 8K bytes of internal RAM to hold EMAC buffer descriptors.

TMS320C6654 EMAC_MDIO_and_EMAC_Control_Modules_6455-57.epsFigure 8-44 EMAC, MDIO, and EMAC Control Modules

For more detailed information on the EMAC/MDIO, see Gigabit Ethernet (GbE) Subsystem for KeyStone Devices User's Guide (SPRUGV9).

8.16.1 EMAC Device-Specific Information

The EMAC module on the device supports Serial Gigabit Media Independent Interface (SGMII). The SGMII interface conforms to version 1.8 of the industry standard specification.

8.16.2 EMAC Peripheral Register Description(s)

The memory maps of the EMAC are shown in Table 8-67 through Table 8-72.

Table 8-67 Ethernet MAC (EMAC) Control Registers

HEX ADDRESS ACRONYM REGISTER NAME
02C0 8000 TXIDVER Transmit Identification and Version Register
02C0 8004 TXCONTROL Transmit Control Register
02C0 8008 TXTEARDOWN Transmit Teardown register
02C0 800F - Reserved
02C0 8010 RXIDVER Receive Identification and Version Register
02C0 8014 RXCONTROL Receive Control Register
02C0 8018 RXTEARDOWN Receive Teardown Register
02C0 801C - Reserved
02C0 8020 - 02C0 807C - Reserved
02C0 8080 TXINTSTATRAW Transmit Interrupt Status (Unmasked) Register
02C0 8084 TXINTSTATMASKED Transmit Interrupt Status (Masked) Register
02C0 8088 TXINTMASKSET Transmit Interrupt Mask Set Register
02C0 808C TXINTMASKCLEAR Transmit Interrupt Mask Clear Register
02C0 8090 MACINVECTOR MAC Input Vector Register
02C0 8094 MACEOIVECTOR MAC End of Interrupt Vector Register
02C0 8098 - 02C0 819C - Reserved
02C0 80A0 RXINTSTATRAW Receive Interrupt Status (Unmasked) Register
02C0 80A4 RXINTSTATMASKED Receive Interrupt Status (Masked) Register
02C0 80A8 RXINTMASKSET Receive Interrupt Mask Set Register
02C0 80AC RXINTMASKCLEAR Receive Interrupt Mask Clear Register
02C0 80B0 MACINTSTATRAW MAC Interrupt Status (Unmasked) Register
02C0 80B4 MACINTSTATMASKED MAC Interrupt Status (Masked) Register
02C0 80B8 MACINTMASKSET MAC Interrupt Mask Set Register
02C0 80BC MACINTMASKCLEAR MAC Interrupt Mask Clear Register
02C0 80C0 - 02C0 80FC - Reserved
02C0 8100 RXMBPENABLE Receive Multicast/Broadcast/Promiscuous Channel Enable Register
02C0 8104 RXUNICASTSET Receive Unicast Enable Set Register
02C0 8108 RXUNICASTCLEAR Receive Unicast Clear Register
02C0 810C RXMAXLEN Receive Maximum Length Register
02C0 8110 RXBUFFEROFFSET Receive Buffer Offset Register
02C0 8114 RXFILTERLOWTHRESH Receive Filter Low Priority Frame Threshold Register
02C0 8118 - 02C0 811C - Reserved
02C0 8120 RX0FLOWTHRESH Receive Channel 0 Flow Control Threshold Register
02C0 8124 RX1FLOWTHRESH Receive Channel 1 Flow Control Threshold Register
02C0 8128 RX2FLOWTHRESH Receive Channel 2 Flow Control Threshold Register
02C0 812C RX3FLOWTHRESH Receive Channel 3 Flow Control Threshold Register
02C0 8130 RX4FLOWTHRESH Receive Channel 4 Flow Control Threshold Register
02C0 8134 RX5FLOWTHRESH Receive Channel 5 Flow Control Threshold Register
02C0 8138 RX6FLOWTHRESH Receive Channel 6 Flow Control Threshold Register
02C0 813C RX7FLOWTHRESH Receive Channel 7 Flow Control Threshold Register
02C0 8140 RX0FREEBUFFER Receive Channel 0 Free Buffer Count Register
02C0 8144 RX1FREEBUFFER Receive Channel 1 Free Buffer Count Register
02C0 8148 RX2FREEBUFFER Receive Channel 2 Free Buffer Count Register
02C0 814C RX3FREEBUFFER Receive Channel 3 Free Buffer Count Register
02C0 8150 RX4FREEBUFFER Receive Channel 4 Free Buffer Count Register
02C0 8154 RX5FREEBUFFER Receive Channel 5 Free Buffer Count Register
02C0 8158 RX6FREEBUFFER Receive Channel 6 Free Buffer Count Register
02C0 815C RX7FREEBUFFER Receive Channel 7 Free Buffer Count Register
02C0 8160 MACCONTROL MAC Control Register
02C0 8164 MACSTATUS MAC Status Register
02C0 8168 EMCONTROL Emulation Control Register
02C0 816C FIFOCONTROL FIFO Control Register
02C0 8170 MACCONFIG MAC Configuration Register
02C0 8174 SOFTRESET Soft Reset Register
02C0 81D0 MACSRCADDRLO MAC Source Address Low Bytes Register
02C0 81D4 MACSRCADDRHI MAC Source Address High Bytes Register
02C0 81D8 MACHASH1 MAC Hash Address Register 1
02C0 81DC MACHASH2 MAC Hash Address Register 2
02C0 81E0 BOFFTEST Back Off Test Register
02C0 81E4 TPACETEST Transmit Pacing Algorithm Test Register
02C0 81E8 RXPAUSE Receive Pause Timer Register
02C0 81EC TXPAUSE Transmit Pause Timer Register
02C0 8200 - 02C0 82FC - See Table 8-68
02C0 8300 - 02C0 84FC - Reserved
02C0 8500 MACADDRLO MAC Address Low Bytes Register (used in Receive Address Matching)
02C0 8504 MACADDRHI MAC Address High Bytes Register (used in Receive Address Matching)
02C0 8508 MACINDEX MAC Index Register
02C0 850C - 02C0 85FC - Reserved
02C0 8600 TX0HDP Transmit Channel 0 DMA Head Descriptor Pointer Register
02C0 8604 TX1HDP Transmit Channel 1 DMA Head Descriptor Pointer Register
02C0 8608 TX2HDP Transmit Channel 2 DMA Head Descriptor Pointer Register
02C0 860C TX3HDP Transmit Channel 3 DMA Head Descriptor Pointer Register
02C0 8610 TX4HDP Transmit Channel 4 DMA Head Descriptor Pointer Register
02C0 8614 TX5HDP Transmit Channel 5 DMA Head Descriptor Pointer Register
02C0 8618 TX6HDP Transmit Channel 6 DMA Head Descriptor Pointer Register
02C0 861C TX7HDP Transmit Channel 7 DMA Head Descriptor Pointer Register
02C0 8620 RX0HDP Receive Channel 0 DMA Head Descriptor Pointer Register
02C0 8624 RX1HDP Receive t Channel 1 DMA Head Descriptor Pointer Register
02C0 8628 RX2HDP Receive Channel 2 DMA Head Descriptor Pointer Register
02C0 862C RX3HDP Receive t Channel 3 DMA Head Descriptor Pointer Register
02C0 8630 RX4HDP Receive Channel 4 DMA Head Descriptor Pointer Register
02C0 8634 RX5HDP Receive t Channel 5 DMA Head Descriptor Pointer Register
02C0 8638 RX6HDP Receive Channel 6 DMA Head Descriptor Pointer Register
02C0 863C RX7HDP Receive t Channel 7 DMA Head Descriptor Pointer Register
02C0 8640 TX0CP Transmit Channel 0 Completion Pointer (Interrupt Acknowledge) Register
02C0 8644 TX1CP Transmit Channel 1 Completion Pointer (Interrupt Acknowledge) Register
02C0 8648 TX2CP Transmit Channel 2 Completion Pointer (Interrupt Acknowledge) Register
02C0 864C TX3CP Transmit Channel 3 Completion Pointer (Interrupt Acknowledge) Register
02C0 8650 TX4CP Transmit Channel 4 Completion Pointer (Interrupt Acknowledge) Register
02C0 8654 TX5CP Transmit Channel 5 Completion Pointer (Interrupt Acknowledge) Register
02C0 8658 TX6CP Transmit Channel 6 Completion Pointer (Interrupt Acknowledge) Register
02C0 865C TX7CP Transmit Channel 7 Completion Pointer (Interrupt Acknowledge) Register
02C0 8660 RX0CP Receive Channel 0 Completion Pointer (Interrupt Acknowledge) Register
02C0 8664 RX1CP Receive Channel 1 Completion Pointer (Interrupt Acknowledge) Register
02C0 8668 RX2CP Receive Channel 2 Completion Pointer (Interrupt Acknowledge) Register
02C0 866C RX3CP Receive Channel 3 Completion Pointer (Interrupt Acknowledge) Register
02C0 8670 RX4CP Receive Channel 4 Completion Pointer (Interrupt Acknowledge) Register
02C0 8674 RX5CP Receive Channel 5 Completion Pointer (Interrupt Acknowledge) Register
02C0 8678 RX6CP Receive Channel 6 Completion Pointer (Interrupt Acknowledge) Register
02C0 867C RX7CP Receive Channel 7 Completion Pointer (Interrupt Acknowledge) Register
02C0 8680 - 02C0 86FC - Reserved
02C0 8700 - 02C0 877C - Reserved
02C0 8780 - 02C0 8FFF - Reserved

Table 8-68 EMAC Statistics Registers

HEX ADDRESS ACRONYM REGISTER NAME
02C0 8200 RXGOODFRAMES Good Receive Frames Register
02C0 8204 RXBCASTFRAMES Broadcast Receive Frames Register (Total number of Good Broadcast Frames Receive)
02C0 8208 RXMCASTFRAMES Multicast Receive Frames Register (Total number of Good Multicast Frames Received)
02C0 820C RXPAUSEFRAMES Pause Receive Frames Register
02C0 8210 RXCRCERRORS Receive CRC Errors Register (Total number of Frames Received with CRC Errors)
02C0 8214 RXALIGNCODEERRORS Receive Alignment/Code Errors register (Total number of frames received with alignment/code errors)
02C0 8218 RXOVERSIZED Receive Oversized Frames Register (Total number of Oversized Frames Received)
02C0 821C RXJABBER Receive Jabber Frames Register (Total number of Jabber Frames Received)
02C0 8220 RXUNDERSIZED Receive Undersized Frames Register (Total number of Undersized Frames Received)
02C0 8224 RXFRAGMENTS Receive Frame Fragments Register
02C0 8228 RXFILTERED Filtered Receive Frames Register
02C0 822C RXQOSFILTERERED Received QOS Filtered Frames Register
02C0 8230 RXOCTETS Receive Octet Frames Register (Total number of Received Bytes in Good Frames)
02C0 8234 TXGOODFRAMES Good Transmit Frames Register (Total number of Good Frames Transmitted)
02C0 8238 TXBCASTFRAMES Broadcast Transmit Frames Register
02C0 823C TXMCASTFRAMES Multicast Transmit Frames Register
02C0 8240 TXPAUSEFRAMES Pause Transmit Frames Register
02C0 8244 TXDEFERED Deferred Transmit Frames Register
02C0 8248 TXCOLLISION Transmit Collision Frames Register
02C0 824C TXSINGLECOLL Transmit Single Collision Frames Register
02C0 8250 TXMULTICOLL Transmit Multiple Collision Frames Register
02C0 8254 TXEXCESSIVECOLL Transmit Excessive Collision Frames Register
02C0 8258 TXLATECOLL Transmit Late Collision Frames Register
02C0 825C TXUNDERRUN Transmit Under Run Error Register
02C0 8260 TXCARRIERSENSE Transmit Carrier Sense Errors Register
02C0 8264 TXOCTETS Transmit Octet Frames Register
02C0 8268 FRAME64 Transmit and Receive 64 Octet Frames Register
02C0 826C FRAME65T127 Transmit and Receive 65 to 127 Octet Frames Register
02C0 8270 FRAME128T255 Transmit and Receive 128 to 255 Octet Frames Register
02C0 8274 FRAME256T511 Transmit and Receive 256 to 511 Octet Frames Register
02C0 8278 FRAME512T1023 Transmit and Receive 512 to 1023 Octet Frames Register
02C0 827C FRAME1024TUP Transmit and Receive 1024 to 1518 Octet Frames Register
02C0 8280 NETOCTETS Network Octet Frames Register
02C0 8284 RXSOFOVERRUNS Receive FIFO or DMA Start of Frame Overruns Register
02C0 8288 RXMOFOVERRUNS Receive FIFO or DMA Middle of Frame Overruns Register
02C0 828C RXDMAOVERRUNS Receive DMA Start of Frame and Middle of Frame Overruns Register
02C0 8290 - 02C0 82FC - Reserved

Table 8-69 EMAC Descriptor Memory

HEX ADDRESS ACRONYM REGISTER NAME
02C0 A000 - 02C0 BFFF - EMAC Descriptor Memory

Table 8-70 SGMII Control Registers

HEX ADDRESS ACRONYM REGISTER NAME
02C0 8900 IDVER Identification and Version register
02C0 8904 SOFT_RESET Software Reset Register
02C0 8910 CONTROL Control Register
02C0 8914 STATUS Status Register
02C0 8918 MR_ADV_ABILITY Advertised Ability Register
02C0 891C - Reserved
02C0 8920 MR_LP_ADV_ABILITY Link Partner Advertised Ability Register
02C0 8924 - 02C0 8948 - Reserved

Table 8-71 EMIC Control Registers

HEX ADDRESS ACRONYM REGISTER NAME
02C0 8A00 IDVER Identification and Version register
02C0 8A04 SOFT_RESET Software Reset Register
02C0 8A08 EM_CONTROL Emulation Control Register
02C0 8A0C INT_CONTROL Interrupt Control Register
02C0 8A10 C0_RX_THRESH_EN Receive Threshold Interrupt Enable Register for CorePac0
02C0 8A14 C0_RX_EN Receive Interrupt Enable Register for CorePac0
02C0 8A18 C0_TX_EN Transmit Interrupt Enable Register for CorePac0
02C0 8A1C C0_MISC_EN Misc Interrupt Enable Register for CorePac0
02C0 8A10 Reserved
02C0 8A14 Reserved
02C0 8A18 Reserved
02C0 8A1C Reserved
02C0 8A90 C0_RX_THRESH_STAT Receive Threshold Masked Interrupt Status Register for CorePac0
02C0 8A94 C0_RX_STAT Receive Interrupt Masked Interrupt Status Register for CorePac0
02C0 8A98 C0_TX_STAT Transmit Interrupt Masked Interrupt Status Register for CorePac0
02C0 8A9C C0_MISC_STAT Misc Interrupt Masked Interrupt Status Register for CorePac0
02C0 8AA0 Reserved
02C0 8AA4 Reserved
02C0 8AA8 Reserved
02C0 8AAC Reserved
02C0 8B10 C0_RX_IMAX Receive Interrupts Per Millisecond for CorePac0
02C0 8B14 C0_TX_IMAX Transmit Interrupts Per Millisecond for CorePac0
02C0 8B18 Reserved
02C0 8B1C Reserved

8.16.3 EMAC Electrical Data/Timing (SGMII)

The Hardware Design Guide for KeyStone Devices (SPRABI2) specifies a complete EMAC and SGMII interface solution for the C6654 as well as a list of compatible EMAC and SGMII devices. TI has performed the simulation and system characterization to ensure all EMAC and SGMII interface timings in this solution are met; therefore, no electrical data/timing information is supplied here for this interface.

NOTE

TI supports only designs that follow the board design guidelines outlined in the application report.

8.17 Management Data Input/Output (MDIO)

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 GbE switch subsystem, retrieve the negotiation results, and configure required parameters in the GbE switch subsystem module for correct operation. The module is designed to allow almost transparent operation of the MDIO interface, with very little maintenance from the core processor. For more information, see the Gigabit Ethernet (GbE) Subsystem for KeyStone Devices User's Guide (SPRUGV9).

The EMAC control module is the main interface between the device core processor, the MDIO module, and the EMAC module. The relationship between these three components is shown in Figure 8-44.

For more detailed information on the EMAC/MDIO, see Gigabit Ethernet (GbE) Subsystem for KeyStone Devices User's Guide (SPRUGV9).

8.17.1 MDIO Peripheral Registers

The memory map of the MDIO is shown in Table 8-72.

Table 8-72 MDIO Registers

HEX ADDRESS ACRONYM REGISTER NAME
02C0 8800 VERSION MDIO Version Register
02C0 8804 CONTROL MDIO Control Register
02C0 8808 ALIVE MDIO PHY Alive Status Register
02C0 880C LINK MDIO PHY Link Status Register
02C0 8810 LINKINTRAW MDIO link Status Change Interrupt (unmasked) Register
02C0 8814 LINKINTMASKED MDIO link Status Change Interrupt (masked) Register
02C0 8818 - 02C0 881C - Reserved
02C0 8820 USERINTRAW MDIO User Command Complete Interrupt (Unmasked) Register
02C0 8824 USERINTMASKED MDIO User Command Complete Interrupt (Masked) Register
02C0 8828 USERINTMASKSET MDIO User Command Complete Interrupt Mask Set Register
02C0 882C USERINTMASKCLEAR MDIO User Command Complete Interrupt Mask Clear Register
02C0 8830 - 02C0 887C - Reserved
02C0 8880 USERACCESS0 MDIO User Access Register 0
02C0 8884 USERPHYSEL0 MDIO User PHY Select Register 0
02C0 8888 USERACCESS1 MDIO User Access Register 1
02C0 888C USERPHYSEL1 MDIO User PHY Select Register 1
02C0 8890 - 02C0 8FFF - Reserved

8.17.2 MDIO Timing

Table 8-73 MDIO Timing Requirements

See Figure 8-45
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 0 ns
tt(MDCLK) Transition time, MDCLK 5 ns
TMS320C6654 MDIO_Input_Timing_NySh.gifFigure 8-45 MDIO Input Timing

Table 8-74 MDIO Switching Characteristics

See Figure 8-46
NO. PARAMETER MIN MAX UNIT
6 td(MDCLKL-MDIO) Delay time, MDCLK low to MDIO data output valid 100 ns
TMS320C6654 MDIO_Output_Timing_NySh.gifFigure 8-46 MDIO Output Timing

8.18 Timers

The timers can be used to: time events, count events, generate pulses, interrupt the CPU and send synchronization events to the EDMA3 channel controller.

8.18.1 Timers Device-Specific Information

The C6654 device has seven 64-bit timers in total. Timer0 is dedicated to the CorePac as a watchdog timer and can also be used as a general-purpose timer. Each of the other six timers can also be configured as a general-purpose timer only, programmed as a 64-bit timer or as two separate 32-bit timers.

When operating in 64-bit mode, the timer counts either VBUS 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.

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 Section 8.5.2.6 and the type of reset initiated can set by programming Section 8.5.2.8. For more information, see the 64-bit Timer (Timer 64) for KeyStone Devices User's Guide (SPRUGV5).

8.18.2 Timers Electrical Data/Timing

The tables and figure below describe the timing requirements and switching characteristics of Timer0 through Timer7 peripherals.

Table 8-75 Timer Input Timing Requirements(1)

(see Figure 8-47)
NO. PARAMETER MIN MAX UNIT
1 tw(TINPH) Pulse duration, high 12C ns
2 tw(TINPL) Pulse duration, low 12C ns
(1) C = 1 / CORECLK(N|P) frequency in ns.

Table 8-76 Timer Output Switching Characteristics(1)

(see Figure 8-47)
NO. PARAMETER MIN MAX UNIT
3 tw(TOUTH) Pulse duration, high 12C - 3 ns
4 tw(TOUTL) Pulse duration, low 12C - 3 ns
(1) C = 1 / CORECLK(N|P) frequency in ns.
TMS320C6654 Timer_Timing.gifFigure 8-47 Timer Timing

8.19 General-Purpose Input/Output (GPIO)

8.19.1 GPIO Device-Specific Information

On the C6654, the GPIO peripheral pins GP[15:0] are also used to latch configuration settings. For more detailed information on device/peripheral configuration and the C6654 device pin muxing, see Section 4. For more information on GPIO, see the General Purpose Input/Output (GPIO) for KeyStone Devices User's Guide (SPRUGV1).

8.19.2 GPIO Electrical Data/Timing

Table 8-77 GPIO Input Timing Requirements

NO. MIN MAX UNIT
1 tw(GPOH) Pulse duration, GPOx high 12C(1) ns
2 tw(GPOL) Pulse duration, GPOx low 12C ns
(1) C = 1/SYSCLK1 frequency in ns.

Table 8-78 GPIO Output Switching Characteristics

NO. PARAMETER MIN MAX UNIT
3 tw(GPOH) Pulse duration, GPOx high 36C(1) - 8 ns
4 tw(GPOL) Pulse duration, GPOx low 36C - 8 ns
(1) C = 1/SYSCLK1 frequency in ns.
TMS320C6654 GPIO_Timing_NySh.gifFigure 8-48 GPIO Timing

8.20 Semaphore2

The device contains an enhanced semaphore module for the management of shared resources of the DSP C66x CorePac. The semaphore enforces atomic accesses to shared chip-level resources so that the read-modify-write sequence is not broken. The semaphore module has a unique interrupt to the CorePac to identify when the core 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 resource(s) to be arbitrated.

The semaphore module supports 8 master and contains 32 semaphores to be used within the system.

The Semaphore module is accessible only by masters with privilege ID (privID) 0, which means only CorePac 0 or the EDMA transactions initiated by CorePac 0 can access the Semaphore module.

There are two methods of accessing a semaphore resource:

  • Direct Access: A core directly accesses a semaphore resource. If free, the semaphore will be granted. If not, the semaphore is not granted.
  • Indirect Access: A core indirectly accesses a semaphore resource by writing it. Once it is free, an interrupt notifies the CPU that it is available.

8.21 Multichannel Buffered Serial Port (McBSP)

The McBSP provides these functions:

  • Full-duplex communication
  • Double-buffered data registers, which allow a continuous data stream
  • Independent framing and clocking for receive and transmit
  • Direct interface to industry-standard codecs, analog interface chips (AICs), and other serially connected analog-to-digital (A/D) and digital-to-analog (D/A) devices
  • External shift clock or an internal, programmable frequency shift clock for data transfer
  • Transmit & receive FIFO buffers allow the McBSP to operate at a higher sample rate by making it more tolerant to DMA latency

If an internal clock source is used, the CLKGDV field of the Sample Rate Generator Register (SRGR) must always be set to a value of 1 or greater.

For more information, see the Multichannel Buffered Serial Port (McBSP) for KeyStone Devices User's Guide.

8.21.1 McBSP Peripheral Register

Table 8-79 McBSP/FIFO Registers

MCBSP0
BYTE ADDRESS
McBSP1
BYTE ADDRESS
ACRONYM REGISTER DESCRIPTION
McBSP Registers
0x021B 4000 0x021B 8000 DRR McBSP Data Receive Register (read-only)
0x021B 4004 0x021B 8004 DXR McBSP Data Transmit Register
0x021B 4008 0x021B 8008 SPCR McBSP Serial Port Control Register
0x021B 400C 0x021B 800C RCR McBSP Receive Control Register
0x021B 4010 0x021B 8010 XCR McBSP Transmit Control Register
0x021B 4014 0x021B 8014 SRGR McBSP Sample Rate Generator register
0x021B 4018 0x021B 8018 MCR McBSP Multichannel Control Register
0x021B 401C 0x021B 801C RCERE0 McBSP Enhanced Receive Channel Enable Register 0 Partition A/B
0x021B 4020 0x021B 8020 XCERE0 McBSP Enhanced Transmit Channel Enable Register 0 Partition A/B
0x021B 4024 0x021B 8024 PCR McBSP Pin Control Register
0x021B 4028 0x021B 8028 RCERE1 McBSP Enhanced Receive Channel Enable Register 1 Partition C/D
0x021B 402C 0x021B 802C XCERE1 McBSP Enhanced Transmit Channel Enable Register 1 Partition C/D
0x021B 4030 0x021B 8030 RCERE2 McBSP Enhanced Receive Channel Enable Register 2 Partition E/F
0x021B 4034 0x021B 8034 XCERE2 McBSP Enhanced Transmit Channel Enable Register 2 Partition E/F
0x021B 4038 0x021B 8038 RCERE3 McBSP Enhanced Receive Channel Enable Register 3 Partition G/H
0x021B 403C 0x021B 803C XCERE3 McBSP Enhanced Transmit Channel Enable Register 3 Partition G/H
McBSP FIFO Control and Status Registers
0x021B 6000 0x021B A000 BFIFOREV BFIFO Revision Identification Register
0x021B 6010 0x021B A010 WFIFOCTL Write FIFO Control Register
0x021B 6014 0x021B A014 WFIFOSTS Write FIFO Status Register
0x021B 6018 0x021B A018 RFIFOCTL Read FIFO Control Register
0x021B 601C 0x021B A01C RFIFOSTS Read FIFO Status Register
McBSP FIFO Data Registers
0x2200 0000 0x2240 0000 RBUF McBSP FIFO Receive Buffer
0x2200 0000 0x2240 0000 XBUF McBSP FIFO Transmit Buffer

8.21.2 McBSP Electrical Data/Timing

The following tables assume testing over recommended operating conditions.

8.21.2.1 McBSP Timing

Table 8-80 McBSP Timing Requirements(1)

(see Figure 8-49)
NO. MIN MAX UNIT
2 tc(CKRX) Cycle time, CLKR/X CLKR/X ext 2P or 20(2)(3) ns
3 tw(CKRX) Pulse duration, CLKR/X high or CLKR/X low CLKR/X ext P-1(4) ns
5 tsu(FRH-CKRL) Setup time, external FSR high before CLKR low CLKR int 14 ns
CLKR ext 4
6 th(CKRL-FRH) Hold time, external FSR high after CLKR low CLKR int 6 ns
CLKR ext 3
7 tsu(DRV-CKRL) Setup time, DR valid before CLKR low CLKR int 14 ns
CLKR ext 4
8 th(CKRL-DRV) Hold time, DR valid after CLKR low CLKR int 3 ns
CLKR ext 3
10 tsu(FXH-CKXL) Setup time, external FSX high before CLKX low CLKR int 14 ns
CLKR ext 4
11 th(CKXL-FXH) Hold time, external FSX high after CLKX low CLKR int 6 ns
CLKR ext 3
(1) CLKRP = CLKXP = FSRP = FSXP = 0. If polarity of any of the signals is inverted, then the timing references of that signal are also inverted.
(2) P = SYSCLK7 period in ns. For example, when the SYSCLK7 clock domain is running at 166MHz, use 6ns.
(3) Use whichever value is greater. Minimum CLKR/X cycle times must be met, even when CLKR/X is generated by an internal clock source. The minimum CLKR/X cycle times are based on internal logic speed; the maximum usable speed may be lower due to EDMA limitations and AC timing requirements
(4) This parameter applies to the maximum McBSP frequency. Operate serial clocks (CLKR/X) in the reasonable range of 40/60 duty cycle.

Table 8-81 McBSP Switching Characteristics(1)(1)

(see Figure 8-49)
NO. PARAMETER MIN MAX UNIT
1 td(CKSH-CKRXH) Delay time, CLKS high to CLKR/X high for internal CLKR/X generated from CLKS input. 1 14.5 ns
2 tc(CKRX) Cycle time, CLKR/X CLKR/X int 2P or 20(2)(3) ns
3 tw(CKRX) Pulse duration, CLKR/X high or CLKR/X low CLKR/X int C - 2(4) C + 2(4) ns
4 td(CKRH-FRV) Delay time, CLKR high to internal FSR valid CLKR int -4 5.5 ns
4 CLKR int 1 14.5 ns
9 td(CKXH-FXV) Delay time, CLKX high to internal FSX valid CLKX int -4 5.5 ns
CLKX ext 1 14.5
12 tdis(CKXH-DXHZ) Disable time, DX Hi-Z following last data bit from CLKX high CLKX int -4 7.5 ns
CLKX ext 1 14.5
13 td(CKXH-DXV) Delay time, CLKX high to DX valid CLKX int -4 + D1(5) 5.5 + D2(5) ns
CLKX ext 1 + D1(5) 14.5 + D2(5)
14 td(FXH-DXV) Delay time, FSX high to DX valid applies ONLY when in data delay 0 (XDATDLY = 00b) mode FSX int -4 + D1(6) 5 + D2(6) ns
FSX ext -2 + D1(6) 14.5 + D2(6)
(1) Minimum delay times also represent minimum output hold times.
(2) P = SYSCLK7 period in ns. For example, when the SYSCLK7 clock domain is running at 166 MHz, use 6 ns.
(3) Use whichever value is greater.
(4) C = H or L
S = sample rate generator input clock = P if CLKSM = 1 (P = SYSCLK7 period)
S = sample rate generator input clock = P_clks if CLKSM = 0 (P_clks = CLKS period)
If CLKGDV is even:
(1) H = CLKX high pulse width = (CLKGDV/2 + 1) * S
(2) L = CLKX low pulse width = (CLKGDV/2) * S
If CLKGDV is odd:
(1) H = (CLKGDV + 1)/2 * S
(2) L = (CLKGDV + 1)/2 * S
CLKGDV should be set appropriately to ensure the McBSP bit rate does not exceed the maximum limit.
(5) Extra delay from CLKX high to DX valid applies only to the first data bit of a device, if and only if DXENA = 1 in SPCR.
if DXENA = 0, then D1 = D2 = 0
if DXENA = 1, then D1 = 4P, D2 = 8P
(6) Extra delay from FSX high to DX valid applies only to the first data bit of a device, if and only if DXENA = 1 in SPCR.
if DXENA = 0, then D1 = D2 = 0
if DXENA = 1, then D1 = 4P, D2 = 8P
TMS320C6654 McBSP_timing.gifFigure 8-49 McBSP Timing

Table 8-82 McBSP Timing Requirements for FSR When GSYNC = 1

(see Figure 8-50)
NO. MIN MAX UNIT
1 tsu(FRH-CKSH) Setup time, FSR high before CLKS high 4 ns
2 th(CKSH-FRH) Hold time, FSR high after CLKS high 4 ns
TMS320C6654 McBSP_FSR_Timing_When_GSYNC=1_6655-57.gifFigure 8-50 FSR Timing When GSYNC = 1

8.22 Universal Parallel Port (uPP)

The universal parallel port (uPP) peripheral is a multichannel, high-speed parallel interface with dedicated data lines and minimal control signals. It is designed to interface cleanly with high-speed analog-to-digital converters (ADCs) or digital-to-analog converters (DACs) with up to 16-bits of data width (per channel). It may also be interconnected with field-programmable gate arrays (FPGAs) or other uPP devices to achieve high-speed digital data transfer. It can operate in receive mode, transmit mode, or duplex mode, in which its individual channels operate in opposite directions.

The uPP peripheral includes an internal DMA controller to maximize throughput and minimize CPU overhead during high-speed data transmission. All uPP transactions use the internal DMA to provide data to or retrieve data from the I/O channels. The DMA controller includes two DMA channels, which typically service separate I/O channels. The uPP peripheral also supports data interleave mode, in which all DMA resources service a single I/O channel. In this mode, only one I/O channel may be used.

The features of the uPP include:

  • Programmable data width per channel (from 8 bits to 16 bits inclusive)
  • Programmable data justification
    • Right-justify with 0 extend
    • Right-justify with sign extend
    • Left-justify with 0 fill
  • Supports multiplexing of interleaved data during SDR transmit
  • Optional frame START signal with programmable polarity
  • Optional data ENABLE signal with programmable polarity
  • Optional synchronization WAIT signal with programmable polarity
  • Single Data Rate (SDR) or Double Data Rate (DDR, interleaved) interface
    • Supports multiplexing of interleaved data during SDR transmit
    • Supports demultiplexing and multiplexing of interleaved data during DDR transfers

For more information, see the Universal Parallel Port (uPP) for KeyStone Devices User's Guide.

8.22.1 uPP Register Descriptions

Table 8-83 Universal Parallel Port (uPP) Registers

BYTE ADDRESS ACRONYM REGISTER DESCRIPTION
0x0258 0000 UPPID uPP Peripheral Identification Register
0x0258 0004 UPPCR uPP Peripheral Control Register
0x0258 0008 UPDLB uPP Digital Loopback Register
0x0258 0010 UPCTL uPP Channel Control Register
0x0258 0014 UPICR uPP Interface Configuration Register
0x0258 0018 UPIVR uPP Interface Idle Value Register
0x0258 001C UPTCR uPP Threshold Configuration Register
0x0258 0020 UPISR uPP Interrupt Raw Status Register
0x0258 0024 UPIER uPP Interrupt Enabled Status Register
0x0258 0028 UPIES uPP Interrupt Enable Set Register
0x0258 002C UPIEC uPP Interrupt Enable Clear Register
0x0258 0030 UPEOI uPP End-of-Interrupt Register
0x0258 0040 UPID0 uPP DMA Channel I Descriptor 0 Register
0x0258 0044 UPID1 uPP DMA Channel I Descriptor 1 Register
0x0258 0048 UPID2 uPP DMA Channel I Descriptor 2 Register
0x0258 0050 UPIS0 uPP DMA Channel I Status 0 Register
0x0258 0054 UPIS1 uPP DMA Channel I Status 1 Register
0x0258 0058 UPIS2 uPP DMA Channel I Status 2 Register
0x0258 0060 UPQD0 uPP DMA Channel Q Descriptor 0 Register
0x0258 0064 UPQD1 uPP DMA Channel Q Descriptor 1 Register
0x0258 0068 UPQD2 uPP DMA Channel Q Descriptor 2 Register
0x0258 0070 UPQS0 uPP DMA Channel Q Status 0 Register
0x0258 0074 UPQS1 uPP DMA Channel Q Status 1 Register
0x0258 0078 UPQS2 uPP DMA Channel Q Status 2 Register

Table 8-84 uPP Timing Requirements

(see Figure 8-51, Figure 8-52, Figure 8-53, Figure 8-54)
NO. MIN MAX UNIT
1 tc(INCLK) Cycle time, CHn_CLK SDR mode 13.33 ns
DDR mode 26.66
2 tw(INCLKH) Pulse width, CHn_CLK high SDR mode 5 ns
DDR mode 10
3 tw(INCLKL) Pulse width, CHn_CLK low SDR mode 5 ns
DDR mode 10
4 tsu(STV-INCLKH) Setup time, CHn_START valid before CHn_CLK high 4 ns
5 th(INCLKH-STV) Hold time, CHn_START valid after CHn_CLK high 0.8 ns
6 tsu(ENV-INCLKH) Setup time, CHn_ENABLE valid before CHn_CLK high 4 ns
7 th(INCLKH-ENV) Hold time, CHn_ENABLE valid after CHn_CLK high 0.8 ns
8 tsu(DV-INCLKH) Setup time, CHn_DATA/XDATA valid before CHn_CLK high 4 ns
9 th(INCLKH-DV) Hold time, CHn_DATA/XDATA valid after CHn_CLK high 0.8 ns
10 tsu(DV-INCLKL) Setup time, CHn_DATA/XDATA valid before CHn_CLK low 4 ns
11 th(INCLKL-DV) Hold time, CHn_DATA/XDATA valid after CHn_CLK low 0.8 ns
19 tsu(WTV-OUTCLKL) Setup time, CHn_WAIT valid before CHn_CLK high 4 ns
20 th(INCLKL-WTV) Hold time, CHn_WAIT valid after CHn_CLK high 0.8 ns
21 tc(2xTXCLK) Cycle time, 2xTXCLK input clock(1) 6.66 ns
(1) 2xTXCLK is an alternate transmit clock source that must be at least 2 times the required uPP transmit clock rate (as it is divided down by 2 inside the uPP). 2xTXCLK has no specified skew relationship to the CHn_CLOCK and therefore is not shown in the timing diagram.

Table 8-85 uPP Switching Characteristics

(see Figure 8-53, Figure 8-54)
NO. PARAMETER MIN MAX UNIT
12 tc(OUTCLK) Cycle time, CHn_CLK SDR mode 13.33 ns
DDR mode 26.66
13 tw(OUTCLKH) Pulse width, CHn_CLK high SDR mode 5 ns
DDR mode 10
14 tw(OUTCLKL) Pulse width, CHn_CLK low SDR mode 5 ns
DDR mode 10
15 td(OUTCLKH-STV) Delay time, CHn_START valid after CHn_CLK high 1 11 ns
16 td(OUTCLKH-ENV) Delay time, CHn_ENABLE valid after CHn_CLK high 1 11 ns
17 td(OUTCLKH-DV) Delay time, CHn_DATA/XDATA valid after CHn_CLK high 1 11 ns
18 td(OUTCLKL-DV) Delay time, CHn_DATA/XDATA valid after CHn_CLK low 1 11 ns
TMS320C6654 UPP_Single_Data_Rate_(SDR)_Receive_Timing.gifFigure 8-51 uPP Single Data Rate (SDR) Receive Timing
TMS320C6654 UPP_Double_Data_Rate_(DDR)_Receive_Timing.gifFigure 8-52 uPP Double Data Rate (DDR) Receive Timing
TMS320C6654 UPP_Single_Data_Rate_(SDR)_Transmit_Timing.gifFigure 8-53 uPP Single Data Rate (SDR) Transmit Timing
TMS320C6654 UPP_Double_Data_Rate_(DDR)_Transmit_Timing.gifFigure 8-54 uPP Double Data Rate (DDR) Transmit Timing

8.23 Emulation Features and Capability

8.23.1 Advanced Event Triggering (AET)

The C6654 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:

  • Hardware Program Breakpoints: specify addresses or address ranges that can generate events such as halting the processor or triggering the trace capture.
  • Data Watchpoints: specify data variable addresses, address ranges, or data values that can generate events such as halting the processor or triggering the trace capture.
  • Counters: count the occurrence of an event or cycles for performance monitoring.
  • State Sequencing: allows combinations of hardware program breakpoints and data watchpoints to precisely generate events for complex sequences.

For more information on AET, see the following documents in Section 9.2:

  • Using Advanced Event Triggering to Find and Fix Intermittent Real-Time Bugs (SPRA753)
  • Using Advanced Event Triggering to Debug Real-Time Problems in High Speed Embedded Microprocessor Systems (SPRA387)

8.23.2 Trace

The C6654 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 60-Pin Emulation Header Technical Reference.

8.23.2.1 Trace Electrical Data/Timing

Table 8-86 DSP Trace Switching Characteristics(1)

(see Figure 8-55)
NO. PARAMETER MIN MAX UNIT
1 tw(DPnH) Pulse duration, DPn/EMUn high detected at 50% Voh 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/EMUnlow detected at 50% Voh 2.4 ns
2 tw(DPnL)10% Pulse duration, DPn/EMUnlow detected at 10% Voh 1.5 ns
3 tsko(DPn) Output skew time, time delay difference between DPn/EMUnpins 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
tσλδπ_o(DPn) Output slew rate DPn/EMUn 3.3 V/ns
(1) Over recommended operating conditions.

Table 8-87 STM Trace Switching Characteristics (1)

(see Figure 8-55)
NO. PARAMETER MIN MAX UNIT
1 tw(DPnH) Pulse duration, DPn/EMUn high detected at 50% Voh with 60/40 duty cycle 4 ns
1 tw(DPnH)90% Pulse duration, DPn/EMUn high detected at 90% Voh 3.5 ns
2 tw(DPnL) Pulse duration, DPn/EMUn low detected at 50% Voh with 60/40 duty cycle 4 ns
2 tw(DPnL)10% Pulse duration, DPn/EMUn low detected at 10% Voh 3.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. 1 ns
tσλδπ_o(DPn) Output slew rate DPn/EMUn 3.3 V/ns
(1) Over recommended operating conditions.
TMS320C6654 Trace_Timing.gif
A. EMUx represents the EMU output pin configured as the trace clock output.
EMUy and EMUz represent all of the trace output data pins.
Figure 8-55 Trace Timing

8.23.3 IEEE 1149.1 JTAG

The JTAG interface is used to support boundary scan and emulation of the device. The boundary scan supported allows for an asynchronous TRST and only the 5 baseline JTAG signals (e.g., no EMU[1:0]) required for boundary scan. Most interfaces on the device follow the Boundary Scan Test Specification (IEEE1149.1), while all of the SerDes (SGMII) support the AC-coupled net test defined in AC-Coupled Net Test Specification (IEEE1149.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).

8.23.3.1 IEEE 1149.1 JTAG Compatibility Statement

For maximum reliability, the C6654 DSP includes an internal pulldown (IPD) on the TRST pin to ensure that TRST will always be asserted upon power up and the DSP'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 DSP after powerup and externally drive TRST high before attempting any emulation or boundary scan operations.

8.23.3.2 JTAG Electrical Data/Timing

Table 8-88 JTAG Test Port Timing Requirements

(see Figure 8-56)
NO. MIN MAX UNIT
1 tc(TCK) Cycle time, TCK 34 ns
1a tw(TCKH) Pulse duration, TCK high (40% of tc) 13.6 ns
1b tw(TCKL) Pulse duration, TCK low(40% of tc) 13.6 ns
3 tsu(TDI-TCK) input setup time, TDI valid to TCK high 3.4 ns
3 tsu(TMS-TCK) input setup time, TMS valid to TCK high 3.4 ns
4 th(TCK-TDI) input hold time, TDI valid from TCK high 17 ns
4 th(TCK-TMS) input hold time, TMS valid from TCK high 17 ns

Table 8-89 JTAG Test Port Switching Characteristics(1)

(see Figure 8-56)
NO. PARAMETER MIN MAX UNIT
2 td(TCKL-TDOV) Delay time, TCK low to TDO valid 13.6 ns
(1) Over recommended operating conditions.
TMS320C6654 JTAG_Test-Port_Timing_NySh.gifFigure 8-56 JTAG Test-Port Timing