
www.ti.com
3.8 Device Initialization Sequence After Reset
TMS320C6421
Fixed-Point Digital Signal Processor
SPRS346C–JANUARY 2007–REVISED NOVEMBER 2007
Software should follow this initialization sequence after coming out of device reset.
1. Complete the boot sequence as needed. For more details on the boot sequence, see the
Using the
TMS320C642x Bootloader
Application Report (literature number
SPRAAK5
).
2. If the device is not already at the desired operating frequency, program the PLL Controllers (PLLC1
and PLLC2) to configure the device frequency. For details on how to program the PLLC, see the
C642x DSP Phase-Locked Loop Controller (PLLC)
User's Guide (literature number
SPRUES0
).
3. Program PINMUX0 and PINMUX1 registers to select device pin functions. For more details on
programming the PINMUX0 and PINMUX1 registers to select device pin functions, see
Section 3.7
,
Multiplexed Pin Configurations
.
Note:
If EMAC operation is desired, the EMAC
must
be placed in reset before programming
PINMUX1.HOSTBK and PINMUX1.RMII to select EMAC pins.
4. Program the VDD3P3V_PWDN register to power up the necessary I/O pins. For more details on
programming the VDD3P3V_PWDN register, see
Section 3.2
,
Power Considerations
.
5. As needed by the application, program the following System Module registers when there are no active
transactions on the respective peripherals:
a.
HPICTL (
Section 3.6.2.1
,
HPI Control Register
): applicable for HPI
only
if a different host burst
write timeout value from default is desired.
b.
TIMERCTL (
Section 3.6.2.2
,
Timer Control Register
): applicable for Timer0 and Watchdog Timer2
only
.
c.
EDMATCCFG (
Section 3.6.2.3
,
EDMA TC Configuration Register
): applicable for EDMA
only
. The
recommendation is to leave the EDMATCCFG register at its default.
6. Program the Power and Sleep Controller (PSC) to enable the desired peripherals. For details on how
to program the PSC, see the
TMS320C642x Power and Sleep Controller (PSC)
User's Guide
(literature number
SPRUEN8
).
7. Program the Switched Central Resource (SCR) bus priorities for the master peripherals
(
Section 3.6.1
). This
must
be configured when there are no active transactions on the respective
peripherals:
a.
Program the MSTPRI0 and MSTPRI1 registers in the System Module. These registers can be
programmed
before or after
the respective peripheral is enabled by the PSC in step 6.
b.
Program the EDMACC QUEPRI register, the C64x+ MDMAARBE.PRI field. These registers can
only be programmed
after
the respective peripheral is enabled by the PSC in step 6.
8. Configure the C64x+ Megamodule and the peripherals.
a.
For details on C64x+ Megamodule configuration, see the
TMS320C64x+ DSP Megamodule
Reference Guide (literature number
SPRU871
).
i.
Special considerations 1:
C64x+ L1P cache– on the C6421 device, the L1P Configuration
Register (L1PCFG) is device-specific and varies from what is shown in the
TMS320C64x+
DSP Megamodule
Reference Guide (
SPRU871
). For more details on theC6421 L1PCFG
register, see
Section 2.2.1
,
C64x+ Memory Architecture
. In this step, the user must modify the
L1PMODE setting to a valid setting (0, 1h, 2h, or 3h) by following these steps:
i.
Write the desired L1P cache mode to the L1PMODE field in the L1PCFG register. Valid
L1PMODE settings are as follows: 0h (Cache disabled), 1h (4KB L1P cache), 2h (8KB L1P
cache), or 3h (16KB L1P cache).
ii.
Read back L1PCFG. This stalls the CPU until the mode change completes.
iii. Write the desired L1P cache mode to the L1PMODE field in the L1PCFG register. Valid
L1PMODE settings are as follows: 0h (Cache disabled), 1h (4KB L1P cache), 2h (8KB L1P
cache), or 3h (16KB L1P cache).
iv. Read back L1PCFG. This stalls the CPU until the mode change completes.
ii.
Special considerations 2:
Bootloader disables C64x+ cache—For all boot modes that default
to DSPBOOTADDR = 0x0010 0000 (i.e., all boot modes except the EMIFA ROM Direct Boot,
Device Configurations
108
Submit Documentation Feedback