Public Version
IVA2.2 Subsystem Basic Programming Model
www.ti.com
•
Programming model at boot time
There is no specific software setting needed to use combined/noncombined events during normal
operation. However, at boot time, the event can be captured in the event-combiner event flag and not
propagated to DSP. For this purpose, the following sequence must be performed:
1. The IVA2.2 logic ensures that interrupts are only presented to DSP megamodule after:
(a) The DSP megamodule module has its clock.
(b) The DSP megamodule module is correctly reset.
NOTE:
Steps a and b ensure that the DSP megamodule module cannot miss a dropped event.
2. From the time the pre-idle sequence is started to the time when the IVA2.2 context is fully restored and
operational after wakeup, it is assumed that only external (from device peripherals) interrupts can
occur. DSP megamodule internal interrupts can result only from an application software side-effect; the
application is stopped when entering the pre-idle sequence and is restarted only after IVA2.2 context is
fully restored and operational (with special attention to memory protection). EDMA interrupts are
inactive at this stage, as the EDMA module is completely reset after power up, and a software action is
required to make the EDMA interrupts active again.
3. All device peripheral interrupts are level and are kept asserted until the software acknowledges the
interrupt by writing 1 to the interrupt status register (DSP CPU ISR) bit corresponding to the enabled
asserted event(s). The device peripheral must keep an event flag to track missed interrupts. For a
complete description of the DSP CPU ISR register, see the C64x+ documentation (
4. There is no specific requirement to configure or restore interrupt mapping, except having the interrupts
globally disabled during the sequence:
(a) Set the DSP CPU TSR[0] or CSR[0] GIE bit to 0 to disable all interrupts except the reset interrupt
and NMI (nonmaskable interrupt). The GIE bit is the same physical bit in the TSR and CSR
registers. For a complete description of these registers, see the C64x + documentation
(
).
(b) Remap interrupts by configuring the IVA_IC.
registers (where j = {1 to 3}).
(c) Set the DSP CPU TSR[0] or CSR[0] GIE bit to 1 to enable all DSP CPU interrupts.
The DSP CPU software recognizes which degree of power state the C64x reaches when executing the
IDLE instruction, because the PRCM module is under C64x software control. Therefore, the DSP CPU
software can correctly skip some unnecessary parts of the pre-idle routines.
•
State after reset for DSP CPU and IVA2.2 IC registers:
–
The DSP CPU IER register value is 0x0.
–
The DSP CPU IFR register value is 0x0 because the interrupt selector default mapping is routing
only emulation and unmapped events.
–
The IVA_IC.
registers (where j = {1 to 3}): The default mapping is to route EVTx (with x =
{0 to 3}) on INTy (with y = {4 .. 15}), that is, emulation and nonmapped events.
–
The IVA_IC.
registers (where i = {0 to 3}) value is 0x0 (all events are unmasked). These
registers values are don't care values because of the default interrupt selector mapping (where
iVA_IC.
registers where j = {1 to 3}).
–
The IVA_IC.
registers (where i = {0, 1, 2, 3}): These registers log the possible wake-up
interrupt(s) (if more than one). At this stage, a new wake-up interrupt from device peripherals
cannot be missed, because interrupts are level in the device, waiting for a software acknowledge
(the user must clear the interrupt in the module to deassert the interrupt line).
For a complete description of the DSP CPU IER and IFR registers, see the C64x+ documentation
(
).
•
State after reset for WUGEN registers: two cases depending on the reset type:
–
In case of cold power-on reset (the CORE power domain was in OFF state), the
IVA_WUGEN.
register value is 0xFFFFFFFF and the
register value is 0xFFFF, meaning that all interrupts are masked.
–
In case of warm power-on reset (the CORE power domain was in ACTIVE state), the
and
registers value is the previous programmed one, enabling
only wake-up interrupts.
784
IVA2.2 Subsystem
SWPU177N – December 2009 – Revised November 2010
Copyright © 2009–2010, Texas Instruments Incorporated
Содержание OMAP36 Series
Страница 174: ...174 List of Tables SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 692: ...692 MPU Subsystem SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 1084: ...1084 IVA2 2 Subsystem SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 1990: ...1990 2D 3D Graphics Accelerator SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 2334: ...2334 Memory Subsystem SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 2700: ...2700 Memory Management Units SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 2868: ...2868 HDQ 1 Wire SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 2974: ...2974 UART IrDA CIR SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 3054: ...3054 Multichannel SPI SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 3462: ...3462 MMC SD SDIO Card Interface SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 3508: ...3508 General Purpose Interface SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 3584: ...3584 Initialization SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...
Страница 3648: ...3648 Debug and Emulation SWPU177N December 2009 Revised November 2010 Copyright 2009 2010 Texas Instruments Incorporated ...