Public Version
IVA2.2 Subsystem Basic Programming Model
www.ti.com
The address of this table (header) should be specified in the
CONTROL.CONTROL_IVA2_BOOTADDR[31:10] BOOTLOADADDR register before IVA2.2 is released
from reset.
Setting of the
, and
is done as follows:
•
The desired cache mode is written to the
, and
•
, and
are read back. This stalls the CPU until the mode change completes
Setting of the MAR registers is done as follows:
•
The desired value (in our case 1) is written to the MAR
•
The final value written to the MAR address is read back. This stalls the CPU until all the MAR writes
are completed.
5.4.1.1.4 User Defined Bootstrap Mode
In this mode the boot loader downloads a user bootstrap code, which is kept in the external memory, into
the L2 memory of IVA2.2. After transferring, the boot loader branches to the user bootstrap code. Please
note that all sections of the user bootstrap code should fit into L2 memory and no section of the bootstrap
code should be mapped to either L1P or L1D memory.
Various parameters that the boot loader needs to transfer the bootstrap code are provided using a user
bootstrap header present in the external memory. The CONTROL.CONTROL_IVA2_BOOTADDR[31:10]
BOOTLOADADDR is setup with the address of this user bootstrap header before IVA2.2 is released from
reset.
specifies the format of the bootstrap header.
Table 5-12. Header Format Used in User Defined Bootstrap Mode
Offset from Base Address of Header (in bytes)
Fields Description
0x00
Size of the boot strap code in bytes that will be downloaded into
internal memory.
0x04
0 -> Use DMA for transferring the bootstrap code
1 -> Use CPU copy for transferring the bootstrap code.
0x08
Value of
register to be loaded.
0x0C
Absolute address of L2 memory where the boot strap code is to be
copied.
0x10
Offset in bytes from the beginning of the bootstrap code where the
first executable instruction of the bootstrap is present.
0x14
Absolute address in external memory from where the bootstrap code
will be copied.
NOTE:
It is mandatory for the user bootstrap code to be a multiple of 4 words on IVA2.2
5.4.1.2
Example of IVA2.2 Boot
5.4.1.2.1 Boot Under MPU Control
Before waking up the IVA2.2 subsystem, the MPU performs the following sequence (also shown in
1. The MPU prepares a translation table hierarchy (TTH) in SDRAM at address <TTH Physical Address>.
This TTH must contain at least an address translation for the IVA2.2 MMU physical address range.
NOTE:
The DSP CPU does not require an address translation for the TTH, as the TTH is under
MPU control only. The IVA2.2 DSP CPU is responsible only for saving and restoring an
IVA2.2 MMU context that has been programmed by the MPU.
2. The MPU writes a bootstrap sequence in SDRAM at address <BootLoader Physical Address>. This
sequence is executable by the DSP CPU and contains only relative address references, so that it is
746
IVA2.2 Subsystem
SWPU177N – December 2009 – Revised November 2010
Copyright © 2009–2010, Texas Instruments Incorporated