01.08.2013 Views

Chapter 02 Memory Mapping.pdf

Chapter 02 Memory Mapping.pdf

Chapter 02 Memory Mapping.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Public Version<br />

This chapter describes memory mapping in the device.<br />

<strong>Chapter</strong> 2<br />

SPRUGN4L–May 2010–Revised June 2011<br />

<strong>Memory</strong> <strong>Mapping</strong><br />

NOTE: This chapter gives information about all modules and features in the high-tier device. To<br />

check availability of modules and features, see Section 1.5, AM/DM37x Family and your<br />

device-specific data manual. In unavailable modules and features, the memory area is<br />

reserved, read is undefined, and write can lead to unpredictable behavior.<br />

Topic ........................................................................................................................... Page<br />

2.1 Introduction .................................................................................................... 2<strong>02</strong><br />

2.2 Global <strong>Memory</strong> Space <strong>Mapping</strong> ......................................................................... 204<br />

2.3 L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong> .................................................................... 207<br />

2.4 IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong> ........................................................ 216<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

201


Public Version<br />

Introduction www.ti.com<br />

2.1 Introduction<br />

The microprocessor unit (MPU) has a 32-bit address port, allowing it to handle a 4-GB space divided into<br />

several regions, depending on the target type.<br />

The memory map is composed of a memory space (general-purpose memory controller [GPMC],<br />

synchronous dynamic random-access memory [SDRAM] controller [SDRC], etc.), register space (level 3<br />

[L3] and level 4 [L4] interconnects), and dedicated spaces (image and video accelerator [IVA2.2]<br />

subsystem, graphics accelerator (SGX), etc.), all of which are shared among the initiators (for example,<br />

the MPU subsystem or the IVA2.2 subsystem).<br />

The GPMC and SDRC are dedicated to memory connection. The GPMC is used for NOR/NAND flash and<br />

SRAM memories. The SDRC is used for SDRAM memories, such as regular SDR-SDRAM (single data<br />

rate), regular JEDEC DDR1 memory (double data rate), low-power SDR-SDRAM, and mobile<br />

DDR-SDRAM. For more information, see <strong>Chapter</strong> 10, <strong>Memory</strong> Subsystem.<br />

The L3 interconnect allows the sharing of resources, such as peripherals and external or on-chip<br />

memories, among all the initiators of the platform. The L4 interconnects control access to the peripherals.<br />

Transfers between initiators and targets across the platform are physically conditioned by the chip<br />

interconnect and can be logically conditioned by firewalls. For more information about the<br />

intercommunication (L3 and L4 interconnects) and protection mechanisms implemented in the device, see<br />

<strong>Chapter</strong> 9, Interconnect.<br />

Figure 2-1 shows the interconnect of the device and the main modules and subsystems in the platform.<br />

2<strong>02</strong> <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


OCM<br />

RAM<br />

MPU<br />

subsystem<br />

OCM<br />

ROM<br />

SGX<br />

SMS: SDRAM<br />

memory<br />

scheduler /<br />

rotation<br />

SDRC: SDRAM<br />

memory<br />

controller<br />

Stacked memories<br />

IVA2.2<br />

subsystem<br />

GPMC: generalpurpose<br />

memory<br />

controller<br />

sDMA<br />

External and stacked memories<br />

L4<br />

Public Version<br />

www.ti.com Introduction<br />

Figure 2-1. Interconnect Overview<br />

Display<br />

subsystem<br />

L3 interconnect<br />

L4<br />

L4 interconnect (peripheral)<br />

Camera<br />

ISP<br />

UART3, UART4, McBSP2, McBSP3, McBSP4,<br />

WDT3, GPTIMER2, GPTIMER3,<br />

GPTIMER4,GPTIMER5, GPTIMER6,<br />

GPTIMER7, GPTIMER8, GPTIMER9, GPIO2,<br />

GPIO3, GPIO4, GPIO5, GPIO6<br />

External peripherals ports<br />

L4<br />

USB<br />

HS-OTG<br />

USB<br />

HS-HOST<br />

L4<br />

L4<br />

D2D<br />

L4 interconnect (core)<br />

SCM, CM, display SS, sDMA, USB TLL,<br />

HS USB Host, I2C1, I2C2, I2C3, UART1,<br />

UART2, McBSP1, McBSP5, GPTIMER10,<br />

GPTIMER11, Mailbox, McSPI1,<br />

McSPI2, McSPI3, McSPI4,<br />

MMC/SD/SDIO1, MMC/SD/SDIO2,<br />

MMC/SD/SDIO3, HDQ/1-Wire,<br />

ICR, camera ISP, HS USB OTG,<br />

MODEM INTC, MPU INTC<br />

External peripherals ports<br />

L4 interconnect (wake-up)<br />

GPTIMER1, WDT2,<br />

GPIO1, 32KTIMER<br />

DAP<br />

L4 interconnect<br />

(emulation)<br />

Emulation, trace, and<br />

debug modules<br />

L4<br />

memmap-177-001<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

203


Public Version<br />

Global <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

2.2 Global <strong>Memory</strong> Space <strong>Mapping</strong><br />

This section provides a global view of the memory mapping and describes the boot, GPMC, SDRC, and<br />

virtual rotated frame buffer (VRFB) memory spaces.<br />

The system memory mapping is flexible, with two levels of granularity for target address space allocation:<br />

• Level 1 (L1): Four quarters are labeled Q0, Q1, Q2, and Q3. Each quarter corresponds to a 1-GB<br />

address space (total address space is 4GB).<br />

• Level 2 (L2): Each quarter is divided into eight blocks of 128MB, with target spaces mapped in the<br />

blocks.<br />

This organization allows all target spaces to be decoded based on the five most-significant bits (MSBs) of<br />

the 32-bit address ([31:27]).<br />

• Boot space<br />

The system has a 1-MB boot space in the on-chip boot ROM or on the GPMC memory space.<br />

When booting from the on-chip ROM with the appropriate external sys_boot5 pin configuration, the<br />

1-MB memory space is redirected to the on-chip boot ROM memory address space [0x4000 0000 –<br />

0x400F FFFF].<br />

When booting from the GPMC with the appropriate external sys_boot5 pin configuration, the memory<br />

space is part of the GPMC memory space.<br />

For more information about sys_boot5 pin configuration, see <strong>Chapter</strong> 10, <strong>Memory</strong> Subsystem, and<br />

<strong>Chapter</strong> 26, Initialization.<br />

• GPMC space<br />

Eight independent GPMC chip-selects (gpmc_ncs0 to gpmc_ncs7) are available in the first quarter<br />

(Q0) of the addressing space to access NOR/NAND flash and SRAM memories. The chip-selects have<br />

a programmable start address and programmable size (16, 32, 64, or 128MB) in a total memory space<br />

of 1GB.<br />

• SDRC space<br />

Two SDRC chip-selects (sdrc_ncs0 and sdrc_ncs1) are available on the third quarter (Q2) of the<br />

addressing space to access SDRAM memories. The chip-selects have a programmable size (64, 128,<br />

256, or 512MB) in a total memory space of 1GB.<br />

The base address of the chip-select 0 (sdrc_ncs0) memory space is always 0x8000 0000. The base<br />

address of the chip-select 1 (sdrc_ncs1) memory space is programmable. The default value after reset<br />

is 0xA000 0000.<br />

• VRFB space<br />

The SDRC-SMS virtual memory space is a different memory space used to access a subset of the<br />

SDRC memory space through the rotation engine (ROT). The virtual address space size is 768MB split<br />

into two parts: The first 256-MB part is in the second quarter (Q1) of the memory; the second 512-MB<br />

part is in the fourth quarter (Q3) of the memory.<br />

For more information about boot, GPMC, SDRC, and VRFB, see <strong>Chapter</strong> 10, <strong>Memory</strong> Subsystem.<br />

This section describes all modules and features in the high-tier device. In unavailable modules and<br />

features, the memory area is reserved, read is undefined, and write can lead to unpredictable behavior.<br />

Table 2-1 describes the global memory space mapping.<br />

204 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com Global <strong>Memory</strong> Space <strong>Mapping</strong><br />

Table 2-1. Global <strong>Memory</strong> Space <strong>Mapping</strong><br />

Quarter Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

Q0 Boot space (1)<br />

1MB<br />

(1GB) GPMC 1GB<br />

or 1GB-1MB<br />

GPMC 0x0000 0000 0x3FFF FFFF 1GB 8/16 Ex (2) /R/W<br />

Q1 On-chip memory 128MB ROM/SRAM address space<br />

(1GB)<br />

0x4000 0000 0x4001 3FFF 80KB Reserved for boot code<br />

Boot ROM Not accessible after boot<br />

internal (1)<br />

0x4001 4000 0x4001 BFFF 32KB 32-bit Ex (2) /R<br />

Reserved 0x4001 C000 0x400F FFFF 912KB Reserved<br />

Reserved 0x4010 0000 0x401F FFFF 1MB Reserved<br />

SRAM internal 0x4<strong>02</strong>0 0000 0x4<strong>02</strong>0 FFFF 64KB 32-bit Ex (2) /RW<br />

Reserved 0x4<strong>02</strong>1 0000 0x4<strong>02</strong>4 FFFF 256KB Reserved<br />

Reserved 0x4<strong>02</strong>5 0000 0x47FF FFFF 128,704KB Reserved<br />

L4 interconnects 128MB All system peripherals<br />

L4-Core 0x4800 0000 0x48FF FFFF 16MB See Table 2-3.<br />

(L4-Wakeup) (3) (0x4830 0000) (0x4833 FFFF) (256KB) See Table 2-4.<br />

L4-Per 0x4900 0000 0x490F FFFF 1MB See Table 2-5.<br />

Reserved 0x4910 0000 0x4FFF FFFF 111MB Reserved<br />

SGX 64MB Graphic accelerator slave<br />

port<br />

SGX 0x5000 0000 0x5000 FFFF 64KB Graphic accelerator slave port<br />

Reserved 0x5001 0000 0x53FF FFFF 65,472KB Reserved<br />

L4 emulation 64MB Emulation<br />

L4-Emu 0x5400 0000 0x547F FFFF 8MB See Table 2-6.<br />

Reserved 0x5480 0000 0x57FF FFFF 56MB Reserved<br />

Reserved 64MB Reserved<br />

Reserved 0x5800 0000 0x5BFF 0FFF 64MB Reserved<br />

IVA2.2 64MB IVA2.2 subsystem<br />

subsystem<br />

IVA2.2 0x5C00 0000 0x5EFF FFFF 48MB IVA2.2 subsystem. See<br />

subsystem Table 2-8.<br />

Reserved 0x5F00 0000 0x5FFF FFFF 16MB Reserved<br />

Reserved 128MB Reserved<br />

Reserved 0x6000 0000 0x67FF FFFF 128MB Reserved<br />

L3 interconnect 128MB Control registers<br />

L3 control 0x6800 0000 0x68FF FFFF 16MB See Table 2-2.<br />

registers<br />

Reserved 0x6900 0000 0x6BFF FFFF 48MB Reserved<br />

SMS registers 0x6C00 0000 0x6CFF FFFF 16MB Configuration registers SMS<br />

address space 2<br />

SDRC registers 0x6D00 0000 0x6DFF FFFF 16MB Configuration registers SMS<br />

address space 3<br />

GPMC registers 0x6E00 0000 0x6EFF FFFF 16MB Configuration registers GPMC<br />

address space 1<br />

Reserved 0x6F00 0000 0x6FFF FFFF 16MB Reserved<br />

SDRC/SMS 256MB SDRC/SMS<br />

(1)<br />

Boot space location depends on the external sys_boot5 pin configuration.<br />

(2)<br />

Executable<br />

(3)<br />

Peripherals connected to the L4-Wakeup interconnect are accessed through the L4-Core interconnect.<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

205


Public Version<br />

Global <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-1. Global <strong>Memory</strong> Space <strong>Mapping</strong> (continued)<br />

Quarter Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

SDRC/SMS 0x7000 0000 0x7FFF FFFF 256MB SDRC-SMS virtual address<br />

virtual space 0<br />

Address space 0<br />

Q2 SDRC/SMS 1GB SDRAM main address space<br />

(1GB) (SMS)<br />

CS0 – SDRAM (4)<br />

CS1 – SDRAM (4)<br />

0x8000 0000 0x9FFF FFFF 512MB SDRC/SMS<br />

0xA000 0000 0xBFFF FFFF 512MB SDRC/SMS<br />

Q3 Reserved 512MB Reserved<br />

(1GB)<br />

Reserved 0xC000 0000 0xDFFF FFFF 512MB Reserved for future use<br />

SDRC/SMS 512MB SDRC/SMS<br />

SDRC/SMS 0xE000 0000 0xFFFF FFFF 512MB SDRC-SMS virtual address<br />

virtual space 1<br />

Address space 1<br />

(4) Chip-select 0 and chip-select 1 spaces are configurable in the 1-GB SDRC/SMS space.<br />

206 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

2.3 L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

The memory space system is hierarchical: L1, L2, L3, and L4.<br />

L1 and L2 are memories in the MPU and IVA2.2 subsystems.<br />

The chip-level interconnect, which consists of one L3 and four L4s, enables communication among all<br />

modules and subsystems.<br />

L3 handles many types of data transfers, including data exchange with system on-chip/external memories.<br />

The four L4s handle transfers with peripherals, but are in four distinct power domains: the L4-Core,<br />

L4-Wakeup, L4-Per, and L4-Emu interconnects, which are in the CORE, WKUP, PER, and EMU power<br />

domains, respectively.<br />

For more information about the interconnect, see <strong>Chapter</strong> 9, Interconnect.<br />

The following sections describe the register mapping of the L3 and L4 interconnects. Software configures<br />

these registers.<br />

2.3.1 L3 <strong>Memory</strong> Space <strong>Mapping</strong><br />

The L3 interconnect control registers are mapped in a 16-MB space and allow the configuration of the L3<br />

interconnect parameters.<br />

The L3 default settings are fully functional and enable all possible functional data paths. However, the<br />

interconnect parameters can be changed to accommodate requirements.<br />

Accesses to the L3 interconnect can be configured on a per-module basis using the internal L3 registers,<br />

which are grouped into five register block types:<br />

• IA: Initiator agent configuration registers<br />

• TA: Target agent configuration registers<br />

• RT: Register target (global) configuration registers<br />

• PM: Protection mechanism (firewalls) configuration registers<br />

• SI: Global sideband signal configuration registers<br />

For more information, see <strong>Chapter</strong> 9, Interconnect.<br />

This section describes all modules and features in the high-tier device. In unavailable modules and<br />

features, the memory area is reserved, read is undefined, and write can lead to unpredictable behavior.<br />

Table 2-2 describes the mapping of the L3 interconnect control registers.<br />

Table 2-2. L3 Control Register <strong>Mapping</strong><br />

Device Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

L3 RT 0x6800 0000 0x6800 03FF 1 L3 configuration registers<br />

L3 SI 0x6800 0400 0x6800 07FF 1 Sideband signal configuration<br />

Reserved 0x6800 0800 0x6800 13FF 3 Reserved<br />

MPU subsystem IA 0x6800 1400 0x6800 17FF 1 MPU subsystem instruction port agent<br />

configuration<br />

IVA2.2 subsystem IA 0x6800 1800 0x6800 1BFF 1 IVA2.2 subsystem initiator port agent<br />

configuration<br />

SGX subsystem IA 0x6800 1C00 0x6800 1FFF 1 SGX subsystem initiator port agent<br />

configuration<br />

SMS TA 0x6800 2000 0x6800 23FF 1 SMS target port agent configuration<br />

GPMC TA 0x6800 2400 0x6800 27FF 1 GPMC target port agent configuration<br />

OCM RAM TA 0x6800 2800 0x6800 2BFF 1 OCM RAM target port agent<br />

configuration<br />

OCM ROM TA 0x6800 2C00 0x6800 2FFF 1 OCM ROM target port agent<br />

configuration<br />

D2D IA 0x6800 3000 0x6800 33FF 1 Die-to-die (D2D) initiator port agent<br />

configuration<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

207


Public Version<br />

L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-2. L3 Control Register <strong>Mapping</strong> (continued)<br />

Device Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

D2D TA 0x6800 3400 0x6800 37FF 1 D2D target port agent configuration<br />

Reserved 0x6800 3800 0x6800 3FFF 2 Reserved<br />

HS USB host IA 0x6800 4000 0x6800 43FF 1 HS USB host initiator port agent<br />

configuration<br />

HS USB OTG IA 0x6800 4400 0x6800 47FF 1 HS USB OTG initiator port agent<br />

configuration<br />

Reserved 0x6800 4800 0x6800 4BFF 1 Reserved<br />

sDMA RD IA 0x6800 4C00 0x6800 4FFF 1 System DMA (sDMA) RD initiator port<br />

agent configuration<br />

sDMA WR IA 0x6800 5000 0x6800 53FF 1 sDMA WR initiator port agent<br />

configuration<br />

Display subsystem IA 0x6800 5400 0x6800 57FF 1 Display subsystem initiator port agent<br />

configuration<br />

CAMERA ISP IA 0x6800 5800 0x6800 5BFF 1 Camera ISP initiator port agent<br />

configuration<br />

DAP IA 0x6800 5C00 0x6800 5FFF 1 Debug access port initiator port agent<br />

configuration<br />

IVA2.2 subsystem TA 0x6800 6000 0x6800 63FF 1 IVA2.2 subsystem target port agent<br />

configuration<br />

SGX subsystem TA 0x6800 6400 0x6800 67FF 1 SGX subsystem target port agent<br />

configuration<br />

L4-Core TA 0x6800 6800 0x6800 6BFF 1 L4-Core target port agent configuration<br />

L4-Per TA 0x6800 6C00 0x6800 6FFF 1 L4-Per target port agent configuration<br />

Reserved 0x6800 7000 0x6800 FFFF 36 Reserved<br />

RT PM 0x6801 0000 0x6801 03FF 1 Register target port protection<br />

Reserved 0x6801 0400 0x6801 23FF 8 Reserved<br />

GPMC PM 0x6801 2400 0x6801 27FF 1 GPMC target port protection<br />

OCM RAM PM 0x6801 2800 0x6801 2BFF 1 OCM RAM target port protection<br />

OCM ROM PM 0x6801 2C00 0x6801 2FFF 1 OCM ROM target port protection<br />

D2D PM 0x6801 3000 0x6801 33FF 1 D2D target port protection<br />

Reserved 0x6801 3400 0x6801 3FFF 3 Reserved<br />

IVA2.2 PM 0x6801 4000 0x6801 43FF 1 IVA2.2 subsystem target port protection<br />

Reserved 0x6801 4400 0x68FF FFFF 16,303 Reserved<br />

2.3.2 L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

The device contains four L4 interconnects: L4-Core, L4-Wakeup, L4-Per, and L4-Emu.<br />

As with the L3 interconnect, the L4 interconnects can be configured to tune the access depending on the<br />

characteristics of each module.<br />

For more information about the L4 interconnect, see <strong>Chapter</strong> 9, Interconnect.<br />

2.3.2.1 L4-Core <strong>Memory</strong> Space <strong>Mapping</strong><br />

The L4-Core interconnect is a 16-MB space composed of the L4-Core interconnect configuration registers<br />

and the module registers.<br />

Table 2-3 describes the mapping of the registers for the L4-Core interconnect.<br />

NOTE: All memory spaces described as modules provide direct access to module registers outside<br />

the L4-Core interconnect. All other accesses are internal to the L4-Core interconnect.<br />

208 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

This section describes all modules and features in the high-tier device. In unavailable modules and<br />

features, the memory area is reserved, read is undefined, and write can lead to unpredictable behavior.<br />

Table 2-3. L4-Core <strong>Memory</strong> Space <strong>Mapping</strong> (1)<br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

L4-Core 0x4800 0000 0x48FF FFFF 16MB<br />

Reserved 0x4800 0000 0x4800 1FFF 8KB Reserved<br />

System control module (SCM) 0x4800 2000 0x4800 2FFF 4KB Module<br />

0x4800 3000 0x4800 3FFF 4KB L4 interconnect<br />

Clock manager 0x4800 4000 0x4800 5FFF 8KB Module region A<br />

• DPLL 0x4800 6000 0x4800 67FF 2KB Module region B<br />

• Clock manager<br />

0x4800 6800 0x4800 6FFF 2KB Reserved<br />

0x4800 7000 0x4800 7FFF 4KB L4 interconnect<br />

Reserved 0x4800 8000 0x48<strong>02</strong> 3FFF 112KB Reserved<br />

Reserved 0x48<strong>02</strong> 4000 0x48<strong>02</strong> 4FFF 4KB Reserved<br />

0x48<strong>02</strong> 5000 0x48<strong>02</strong> 5FFF 4KB Reserved<br />

Reserved 0x48<strong>02</strong> 6000 0x4803 FFFF 104KB Reserved<br />

L4-Core configuration 0x4804 0000 0x4804 07FF 2KB Address/protection (AP)<br />

0x4804 0800 0x4804 0FFF 2KB Initiator port (IP)<br />

0x4804 1000 0x4804 1FFF 4KB Link agent (LA)<br />

Reserved 0x4804 2000 0x4804 FBFF 55KB Reserved<br />

Display subsystem 0x4804 FBFF 0x4804 FFFF 1KB DSI<br />

• DSI 0x4805 0000 0x4805 03FF 1KB Display subsystem top<br />

•<br />

•<br />

•<br />

Display subsystem top<br />

Display controller<br />

Remote frame buffer interface<br />

(RFBI)<br />

0x4805 0400<br />

0x4805 0800<br />

0x4805 0C00<br />

0x4805 07FF<br />

0x4805 0BFF<br />

0x4805 0FFF<br />

1KB<br />

1KB<br />

1KB<br />

Display controller<br />

RFBI<br />

Video encoder<br />

• Video encoder (VENC) 0x4805 1000 0x4805 1FFF 4KB L4 interconnect<br />

Reserved 0x4805 2000 0x4805 5FFF 16KB Reserved<br />

sDMA 0x4805 6000 0x4805 6FFF 4KB Module<br />

0x4805 7000 0x4805 7FFF 4KB L4 interconnect<br />

Reserved 0x4805 8000 0x4805 FFFF 32KB Reserved<br />

I2C3 0x4806 0000 0x4806 0FFF 4KB Module<br />

0x4806 1000 0x4806 1FFF 4KB L4 interconnect<br />

USBTLL 0x4806 2000 0x4806 2FFF 4KB Module<br />

0x4806 3000 0x4806 3FFF 4KB L4 interconnect<br />

HS USB Host 0x4806 4000 0x4806 4FFF 4KB Module<br />

0x4806 5000 0x4806 5FFF 4KB L4 interconnect<br />

Reserved 0x4806 6000 0x4806 9FFF 16KB Reserved<br />

UART1 0x4806 A000 0x4806 AFFF 4KB Module<br />

0x4806 B000 0x4806 BFFF 4KB L4 interconnect<br />

UART2 0x4806 C000 0x4806 CFFF 4KB Module<br />

0x4806 D000 0x4806 DFFF 4KB L4 interconnect<br />

Reserved 0x4806 E000 0x4806 FFFF 8KB Reserved<br />

I2C1 0x4807 0000 0x4807 0FFF 4KB Module<br />

0x4807 1000 0x4807 1FFF 4KB L4 interconnect<br />

I2C2 0x4807 2000 0x4807 2FFF 4KB Module<br />

0x4807 3000 0x4807 3FFF 4KB L4 interconnect<br />

(1) The registers mapped in this range are shadow registers of the first 2-KB region A [0x4800 4000 – 0x4800 47FF]. Region A and region B<br />

share the same port.<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

209


Public Version<br />

L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-3. L4-Core <strong>Memory</strong> Space <strong>Mapping</strong> (2) (continued)<br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

McBSP1 0x4807 4000 0x4807 4FFF 4KB Module<br />

(digital baseband data)<br />

0x4807 5000 0x4807 5FFF 4KB L4 interconnect<br />

Reserved 0x4807 6000 0x4808 5FFF 64KB Reserved<br />

GPTIMER10 0x4808 6000 0x4808 6FFF 4KB Module<br />

0x4808 7000 0x4808 7FFF 4KB L4 interconnect<br />

GPTIMER11 0x4808 8000 0x4808 8FFF 4KB Module<br />

0x4808 9000 0x4808 9FFF 4KB L4 interconnect<br />

Reserved 0x4808 A000 0x4808 AFFF 4KB Reserved<br />

0x4808 B000 0x4808 BFFF 4KB Reserved<br />

Reserved 0x4808 C000 0x4809 3FFF 32KB Reserved<br />

Mailbox 0x4809 4000 0x4809 4FFF 4KB Module<br />

0x4809 5000 0x4809 5FFF 4KB L4 interconnect<br />

McBSP5 0x4809 6000 0x4809 6FFF 4KB Module<br />

(MIDI data)<br />

0x4809 7000 0x4809 7FFF 4KB L4 interconnect<br />

McSPI1 0x4809 8000 0x4809 8FFF 4KB Module<br />

0x4809 9000 0x4809 9FFF 4KB L4 interconnect<br />

McSPI2 0x4809 A000 0x4809 AFFF 4KB Module<br />

0x4809 B000 0x4809 BFFF 4KB L4 interconnect<br />

MMC/SD/SDIO1 0x4809 C000 0x4809 CFFF 4KB Module<br />

0x4809 D000 0x4809 DFFF 4KB L4 interconnect<br />

Reserved 0x4809 E000 0x4809 EFFF 4KB Reserved<br />

0x4809 F000 0x4809 FFFF 4KB Reserved<br />

Reserved 0x480A 0000 0x480A AFFF 44KB Reserved<br />

HS USB OTG 0x480A B000 0x480A BFFF 4KB Module<br />

0x480A C000 0x480A CFFF 4KB L4 interconnect<br />

MMC/SD/SDIO3 0x480A D000 0x480A DFFF 4KB Module<br />

0x480A E000 0x480A EFFF 4KB L4 interconnect<br />

Reserved 0x480A F000 0x480A FFFF 4KB Reserved<br />

Reserved 0x480B 0000 0x480B 0FFF 4KB Reserved<br />

0x480B 1000 0x480B 1FFF 4KB Reserved<br />

HDQ /1-Wire ® 0x480B 2000 0x480B 2FFF 4KB Module<br />

0x480B 3000 0x480B 3FFF 4KB L4 interconnect<br />

MMC/SD/SDIO2 0x480B 4000 0x480B 4FFF 4KB Module<br />

0x480B 5000 0x480B 5FFF 4KB L4 interconnect<br />

ICR MPU port 0x480B 6000 0x480B 6FFF 4KB Module<br />

(chassis mode only)<br />

0x480B 7000 0x480B 7FFF 4KB L4 interconnect<br />

McSPI3 0x480B 8000 0x480B 8FFF 4KB Module<br />

0x480B 9000 0x480B 9FFF 4KB L4 interconnect<br />

McSPI4 0x480B A000 0x480B AFFF 4KB Module<br />

0x480B B000 0x480B BFFF 4KB L4 interconnect<br />

Camera ISP 0x480B C000 0x480B FFFF 16KB Camera ISP<br />

0x480C 0000 0x480C 0FFF 4KB L4 interconnect<br />

Reserved 0x480C 1000 0x480C 8FFF 32KB Reserved<br />

SR1 0x480C 9000 0x480C 9FFF 4KB Module<br />

0x480C A000 0x480C AFFF 4KB L4 interconnect<br />

SR2 0x480C B000 0x480C BFFF 4KB Module<br />

0x480C C000 0x480C CFFF 4KB L4 interconnect<br />

210 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

Table 2-3. L4-Core <strong>Memory</strong> Space <strong>Mapping</strong> (2) (continued)<br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

ICR modem port 0x480C D000 0x480C DFFF 4KB Module<br />

(chassis mode only)<br />

0x480C E000 0x480C EFFF 4KB L4 interconnect<br />

Reserved 0x480C F000 0x482F FFFF 2208KB Reserved<br />

L4-Wakeup interconnect (region A) 0x4830 0000 0x4830 9FFF 40KB Nonshared device mapping<br />

Control module ID code 0x4830 A000 0x4830 AFFF 4KB See Table 2-4.<br />

0x4830 B000 0x4830 BFFF 4KB L4 interconnect<br />

L4-Wakeup interconnect (Region B) 0x4830 C000 0x4833 FFFF 208KB See Table 2-4.<br />

0x4834 0000 0x4834 0FFF 4KB L4 interconnect<br />

Reserved 0x4834 1000 0x48FF EFFF 13,052KB Reserved<br />

2.3.2.2 L4-Wakeup <strong>Memory</strong> Space <strong>Mapping</strong><br />

The L4-Wakeup interconnect is a 256-KB space composed of the L4-Wakeup interconnect configuration<br />

registers and the module registers.<br />

Table 2-4 describes the mapping of the registers for the L4-Wakeup interconnect.<br />

NOTE: All memory spaces described as modules provide direct access to module registers outside<br />

the L4-Wakeup interconnect. All other accesses are internal to the L4-Wakeup interconnect.<br />

Table 2-4. L4-Wakeup <strong>Memory</strong> Space <strong>Mapping</strong><br />

Device Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

L4-Wakeup 0x4830 0000 0x4833 FFFF 256<br />

Reserved 0x4830 0000 0x4830 5FFF 24 Reserved<br />

Power and reset manager 0x4830 6000 0x4830 7FFF 8 Module region A<br />

• Power manager 0x4830 8000 0x4830 87FF 2 Module region B (1)<br />

• Reset manager<br />

0x4830 8800 0x4830 8FFF 2 Reserved<br />

0x4830 9000 0x4830 9FFF 4 L4 interconnect<br />

Reserved 0x4830 A000 0x4830 FFFF 24 Reserved<br />

GPIO1 0x4831 0000 0x4831 0FFF 4 Module<br />

0x4831 1000 0x4831 1FFF 4 L4 interconnect<br />

Reserved 0x4831 2000 0x4831 3FFF 8 Reserved<br />

WDT2 0x4831 4000 0x4831 4FFF 4 Module<br />

0x4831 5000 0x4831 5FFF 4 L4 interconnect<br />

Reserved 0x4831 6000 0x4831 7FFF 8 Reserved<br />

GPTIMER1 0x4831 8000 0x4831 8FFF 4 Module<br />

0x4831 9000 0x4831 9FFF 4 L4 interconnect<br />

Reserved 0x4831 A000 0x4831 FFFF 24 Reserved<br />

32KTIMER 0x4832 0000 0x4832 0FFF 4 Module<br />

0x4832 1000 0x4832 1FFF 4 L4 interconnect<br />

Reserved 0x4832 2000 0x4832 7FFF 24 Reseved<br />

L4-Wakeup configuration 0x4832 8000 0x4832 87FF 2 AP<br />

0x4832 8800 0x4832 8FFF 2 IP L4-Core<br />

0x4832 9000 0x4832 9FFF 4 LA<br />

0x4832 A000 0x4832 A7FF 2 IP L4-Emu<br />

(1) The registers mapped in this range are shadow registers of the first 2-KB region A [0x4830 6000 – 0x4830 67FF]. Regions A and B<br />

share the same port.<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

211


Public Version<br />

L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-4. L4-Wakeup <strong>Memory</strong> Space <strong>Mapping</strong> (continued)<br />

Device Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

Reserved 0x4832 A800 0x4833 FFFF 86 Reserved<br />

2.3.2.3 L4-Peripheral <strong>Memory</strong> Space <strong>Mapping</strong><br />

The L4-Per interconnect is a 1-MB space composed of the L4-Per interconnect configuration registers and<br />

the module registers.<br />

Table 2-5 describes the mapping of the registers for the L4-Per interconnect.<br />

NOTE: All memory spaces described as modules provide direct access to the module registers<br />

outside the L4-Per interconnect. All other accesses are internal to the L4-Per interconnect.<br />

Table 2-5. L4-Peripheral <strong>Memory</strong> Space <strong>Mapping</strong><br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

L4-Per 0x4900 0000 0x490F FFFF 1MB<br />

L4-Per configuration 0x4900 0000 0x4900 07FF 2KB AP<br />

0x4900 0800 0x4900 0FFF 2KB IP<br />

0x4900 1000 0x4900 1FFF 4KB LA<br />

Reserved 0x4900 2000 0x4901 FFFF 120KB Reserved<br />

UART3 0x49<strong>02</strong> 0000 0x49<strong>02</strong> 0FFF 4KB Module<br />

(infrared)<br />

0x49<strong>02</strong> 1000 0x49<strong>02</strong> 1FFF 4KB L4 interconnect<br />

McBSP2 0x49<strong>02</strong> 2000 0x49<strong>02</strong> 2FFF 4KB Module<br />

(audio for codec)<br />

0x49<strong>02</strong> 3000 0x49<strong>02</strong> 3FFF 4KB L4 interconnect<br />

McBSP3 0x49<strong>02</strong> 4000 0x49<strong>02</strong> 4FFF 4KB Module<br />

(Bluetooth ® voice data)<br />

0x49<strong>02</strong> 5000 0x49<strong>02</strong> 5FFF 4KB L4 interconnect<br />

McBSP4 0x49<strong>02</strong> 6000 0x49<strong>02</strong> 6FFF 4KB Module<br />

(digital baseband voice data)<br />

0x49<strong>02</strong> 7000 0x49<strong>02</strong> 7FFF 4KB L4 interconnect<br />

McBSP2 (sidetone) 0x49<strong>02</strong> 8000 0x49<strong>02</strong> 8FFF 4KB Module<br />

0x49<strong>02</strong> 9000 0x49<strong>02</strong> 9FFF 4KB L4 interconnect<br />

McBSP3 (sidetone) 0x49<strong>02</strong> A000 0x49<strong>02</strong> AFFF 4KB Module<br />

0x49<strong>02</strong> B000 0x49<strong>02</strong> BFFF 4KB L4 interconnect<br />

Reserved 0x49<strong>02</strong> C000 0x49<strong>02</strong> FFFF 16KB Reserved<br />

WDT3 0x4903 0000 0x4903 0FFF 4KB Module<br />

0x4903 1000 0x4903 1FFF 4KB L4 interconnect<br />

GPTIMER2 0x4903 2000 0x4903 2FFF 4KB Module<br />

0x4903 3000 0x4903 3FFF 4KB L4 interconnect<br />

GPTIMER3 0x4903 4000 0x4903 4FFF 4KB Module<br />

0x4903 5000 0x4903 5FFF 4KB L4 interconnect<br />

GPTIMER4 0x4903 6000 0x4903 6FFF 4KB Module<br />

0x4903 7000 0x4903 7FFF 4KB L4 interconnect<br />

GPTIMER5 0x4903 8000 0x4903 8FFF 4KB Module<br />

0x4903 9000 0x4903 9FFF 4KB L4 interconnect<br />

GPTIMER6 0x4903 A000 0x4903 AFFF 4KB Module<br />

0x4903 B000 0x4903 BFFF 4KB L4 interconnect<br />

GPTIMER7 0x4903 C000 0x4903 CFFF 4KB Module<br />

0x4903 D000 0x4903 DFFF 4KB L4 interconnect<br />

212 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

Table 2-5. L4-Peripheral <strong>Memory</strong> Space <strong>Mapping</strong> (continued)<br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

GPTIMER8 0x4903 E000 0x4903 EFFF 4KB Module<br />

0x4903 F000 0x4903 FFFF 4KB L4 interconnect<br />

GPTIMER9 0x4904 0000 0x4904 0FFF 4KB Module<br />

0x4904 1000 0x4904 1FFF 4KB L4 interconnect<br />

UART4 0x4904 2000 0x4904 2FFF 4KB Module<br />

0x4904 3000 0x4904 3FFF 4KB L4 interconnect<br />

Reserved 0x4904 4000 0x4904 FFFF 48KB Reserved<br />

GPIO2 0x4905 0000 0x4905 0FFF 4KB Module<br />

0x4905 1000 0x4905 1FFF 4KB L4 interconnect<br />

GPIO3 0x4905 2000 0x4905 2FFF 4KB Module<br />

0x4905 3000 0x4905 3FFF 4KB L4 interconnect<br />

GPIO4 0x4905 4000 0x4905 4FFF 4KB Module<br />

0x4905 5000 0x4905 5FFF 4KB L4 interconnect<br />

GPIO5 0x4905 6000 0x4905 6FFF 4KB Module<br />

0x4905 7000 0x4905 7FFF 4KB L4 interconnect<br />

GPIO6 0x4905 8000 0x4905 8FFF 4KB Module<br />

0x4905 9000 0x4905 9FFF 4KB L4 interconnect<br />

Reserved 0x4905 A000 0x490F FFFF 664KB Reserved<br />

2.3.2.4 L4-Emulation <strong>Memory</strong> Space <strong>Mapping</strong><br />

The L4-Emu interconnect is an 8-MB space composed of the L4-Emu interconnect configuration registers<br />

and module registers.<br />

Table 2-6 describes the mapping of the registers for the L4-Emu interconnect.<br />

NOTE: All memory spaces described as modules provide direct access to the module registers<br />

outside the L4-Emu interconnect. All other accesses are internal to the L4-Emu interconnect.<br />

Table 2-6. L4-Emulation <strong>Memory</strong> Space <strong>Mapping</strong><br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

L4-Emu 0x5400 0000 0x547F FFFF 8MB<br />

Reserved 0x5400 0000 0x5400 3FFF 16KB Reserved<br />

Reserved 0x5400 4000 0x5400 5FFF 8KB Reserved<br />

L4-Emu configuration 0x5400 6000 0x5400 67FF 2KB AP<br />

0x5400 6800 0x5400 6FFF 2KB IP L4-Core<br />

0x5400 7000 0x5400 7FFF 4KB LA<br />

0x5400 8000 0x5400 87FF 2KB IP DAP<br />

Reserved 0x5400 8800 0x5400 FFFF 30KB Reserved<br />

MPU emulation 0x5401 0000 0x5401 7FFF 16KB Module<br />

0x5401 8000 0x5401 7FFF 4KB L4 interconnect<br />

TPIU 0x5401 9000 0x5401 9FFF 4KB Module<br />

0x5401 A000 0x5401 AFFF 4KB L4 interconnect<br />

ETB 0x5401 B000 0x5401 BFFF 4KB Module<br />

0x5401 C000 0x5401 CFFF 4KB L4 interconnect<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

213


Public Version<br />

L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-6. L4-Emulation <strong>Memory</strong> Space <strong>Mapping</strong> (continued)<br />

Device Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

DAPCTL 0x5401 D000 0x5401 DFFF 4KB Module<br />

0x5401 E000 0x5401 EFFF 4KB L4 interconnect<br />

SDTI 0x5401 F000 0x5401 FFFF 4KB L4 interconnect<br />

0x54<strong>02</strong> 0000 0x544F FFFF 4992KB Reserved<br />

0x5450 0000 0x5450 FFFF 4KB SDTI module (configuration)<br />

0x5451 0000 0x545F FFFF 1984KB Reserved<br />

0x5460 0000 0x546F FFFF 1MB SDTI module (window)<br />

Reserved 0x5470 0000 0x5470 5FFF 24KB Reserved<br />

Power and reset manager 0x5470 6000 0x5470 7FFF 8KB Module region A<br />

• Power manager 0x5470 8000 0x5470 87FF 2KB Module region B (2)<br />

• Reset manager<br />

(WKUP domain<br />

0x5470 8800 0x5470 8FFF 2KB Reserved<br />

(1) )<br />

0x5470 9000 0x5470 9FFF 4KB L4 interconnect<br />

Reserved 0x5470 A000 0x5470 FFFF 24KB Reserved<br />

GPIO1 0x5471 0000 0x5471 0FFF 4KB Module<br />

(WKUP domain (1) )<br />

0x5471 1000 0x5471 1FFF 4KB L4 interconnect<br />

Reserved 0x5471 2000 0x5471 3FFF 8KB Reserved<br />

WDT2 0x5471 4000 0x5471 4FFF 4KB Module<br />

(WKUP domain (3) )<br />

0x5471 5000 0x5471 5FFF 4KB L4 interconnect<br />

Reserved 0x5471 6000 0x5471 7FFF 8KB Reserved<br />

GPTIMER1 0x5471 8000 0x5471 8FFF 4KB Module<br />

(WKUP domain (3) )<br />

0x5471 9000 0x5471 9FFF 4KB L4 interconnect<br />

Reserved 0x5471 A000 0x5471 FFFF 24KB Reserved<br />

32KTIMER 0x5472 0000 0x5472 0FFF 4KB Module<br />

(WKUP domain (3) )<br />

0x5472 1000 0x5472 1FFF 4KB L4 interconnect<br />

Reserved 0x5472 2000 0x5472 7FFF 24KB Reserved<br />

L4-Wakeup configuration 0x5472 8000 0x5472 87FF 2KB AP<br />

(WKUP domain (3) )<br />

0x5472 8800 0x5472 8FFF 2KB IP L4-Core<br />

0x5472 9000 0x5472 9FFF 4KB LA<br />

0x5472 A000 0x5472 A7FF 2KB IP L4-Emu<br />

Reserved 0x5472 A800 0x547F FFFF 854KB Reserved<br />

(1) These modules are accessed through the L4-Wakeup interconnect (for emulation only).<br />

(2) The registers mapped in this range are shadow registers of the first 2-KB region A [0x5470 6000 – 0x5470 67FF]. Regions A and B<br />

share the same port.<br />

(3) These modules are accessed through the L4-Wakeup interconnect (for emulation only).<br />

2.3.3 Register Access Restrictions<br />

This section describes all modules and features in the high-tier device. In unavailable modules and<br />

features, the memory area is reserved, read is undefined, and write can lead to unpredictable behavior.<br />

Table 2-7 lists the supported data access widths per module.<br />

Table 2-7. Register Access Restrictions<br />

Module Allowed Access (Bits)<br />

MPU subsystem 8/16/32<br />

IVA2.2 subsystem 32<br />

SGX subsystem 32<br />

Camera ISP 8/16/32<br />

Display subsystem 32<br />

214 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com L3 and L4 <strong>Memory</strong> Space <strong>Mapping</strong><br />

Table 2-7. Register Access Restrictions (continued)<br />

Module Allowed Access (Bits)<br />

GPMC 8/16/32<br />

SMS 8/16/32<br />

SDRC 8/16/32<br />

sDMA 8/16/32<br />

HS USB host 32<br />

USBTLL 32<br />

USB – ULPI and UTMI registers 8<br />

HS USB OTG 32<br />

L3 interconnect 8/16/32<br />

L4-Wakeup interconnect 8/16/32<br />

L4-Core interconnect 8/16/32<br />

Clock manager 32<br />

Power and reset manager 32<br />

System control module 8/16/32<br />

ICR (chassis mode only) 32<br />

32KTIMER 16/32<br />

GPIO 8/16/32<br />

GPTIMER 16/32<br />

WDTIMER 16/32<br />

I2C 8/16<br />

HDQ/1-Wire 32<br />

McBSP 32<br />

Sidetone 8/16/32<br />

McSPI 8/16/32<br />

UART 8/16/32<br />

MMC/SD/SDIO 32<br />

Mailbox 8/16/32<br />

MPU INTC 16/32<br />

MODEM INTC (chassis mode only) 16/32<br />

SR 8/16/32<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

215


Public Version<br />

IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

2.4 IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong><br />

This section describes the hardware accelerators of IVA2.2. In unavailable modules and features, the<br />

memory area is reserved, read is undefined, and write can lead to unpredictable behavior.<br />

The device includes the high-performance Texas Instruments IVA2.2. For more information, see<br />

<strong>Chapter</strong> 5, IVA2.2 Subsystem.<br />

This section describes how internal memories and registers of the IVA2.2 are accessed through the L3<br />

interconnect and by the internal initiators of the IVA2.2 (the digital signal processor [DSP] and the<br />

enhanced direct memory access [EDMA]).<br />

Three views of the IVA2.2 subsystem memory space mapping are provided:<br />

• L3 interconnect view: External view (subsystem memories and configuration registers) as seen by the<br />

MPU subsystem and most of the initiators of the platform through the L3 interconnect<br />

• IVA2.2 DSP view: Internal view as seen by the DSP<br />

• IVA2.2 EDMA view: Internal view as seen by the EDMA<br />

NOTE: The IVA2.2 subsystem also contains a local interconnect with its own memory space<br />

mapping that can be accessed only by the DSP and the video accelerator and sequencer in<br />

the IVA2.2 subsystem. For more information about this video accelerator/sequencer local<br />

interconnect and its memory space mapping, see <strong>Chapter</strong> 5, IVA2.2 Subsystem.<br />

2.4.1 IVA2.2 Subsystem Internal <strong>Memory</strong> and Cache Allocation<br />

2.4.1.1 IVA2.2 Subsystem <strong>Memory</strong> Hierarchy<br />

The IVA2.2 subsystem includes the following memory features:<br />

• L1P (program)<br />

– 32-KB configurable: <strong>Memory</strong>-mapped (default after reset) or direct-mapped cache—32-byte cache<br />

line<br />

• L1D (data)<br />

– 32-KB configurable: <strong>Memory</strong>-mapped (default after reset) or 2-way set associative cache—64-byte<br />

cache line<br />

– 48-KB memory-mapped<br />

• L2 (program and data)<br />

– 64-KB configurable: <strong>Memory</strong>-mapped (default after reset) or 2-way set associative cache—128-byte<br />

cache line<br />

– 32-KB memory-mapped<br />

– 16-KB ROM<br />

The local memories can be used as cache RAMs or memory-mapped RAMs, depending on the<br />

configuration of the different memory controllers in the IVA2.2 subsystem.<br />

Figure 2-2 shows the memory hierarchy of the IVA2.2 subsystem.<br />

216 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


L1P memorymapped<br />

SRAM<br />

L1P cache<br />

allocated<br />

SRAM<br />

Public Version<br />

www.ti.com IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong><br />

IVA2.2 DSP<br />

L1P RAM L1D RAM<br />

2.4.1.2 IVA2.2 Cache Allocation<br />

Figure 2-2. IVA2.2 Subsystem <strong>Memory</strong> Hierarchy<br />

L2 RAM<br />

cache<br />

SDRAM<br />

(connected through the<br />

SDRC)<br />

L1D cache<br />

allocated<br />

SRAM<br />

L1D memorymapped<br />

SRAM<br />

memmap-0<strong>02</strong><br />

After reset, the L1P RAM is used as a 32-KB memory-mapped RAM. The L1P RAM can be programmed<br />

in the C64x+ DSP program memory controller to allocate 0 (default), 4, 8, 16, or 32KB to cache. When<br />

32KB are allocated to cache, there is no more memory-mapped L1P.<br />

After reset, the L1D RAM is used as an 80-KB memory-mapped RAM. The L1D RAM can be programmed<br />

in the C64x+ DSP data memory controller to allocate 0 (default), 4, 8, 16, or 32KB to cache. When 32KB<br />

are allocated to cache, 48KB are still allocated to the memory-mapped L1D.<br />

After reset, L2 is used as a 96-KB memory-mapped RAM. L2 can be programmed to allocate 0 (default),<br />

32, or 64KB to cache. When 64KB are allocated to cache, 32KB are still allocated to memory-mapped L2.<br />

Figure 2-3 is an example of the L1D RAM cache allocation, where 16KB are allocated to cache.<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

217


0x5CF1 8000<br />

0x5CF1 0000<br />

0x5CF0 4000<br />

Configuration at reset<br />

L1D RAM<br />

memory mapped<br />

(32KB)<br />

(programmable)<br />

L1D RAM<br />

memory<br />

mapped<br />

(48KB)<br />

Public Version<br />

IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Figure 2-3. L1D RAM Cache Allocation Example (L3 Interconnect View)<br />

2.4.2 DSP Access to L2 Memories<br />

2.4.2.1 DSP Access to L2 ROM<br />

L1D RAM cache software<br />

reallocation<br />

Configuration after<br />

software programming<br />

L1D RAM cache<br />

allocated (16KB)<br />

L1D RAM memory<br />

mapped<br />

(16KB)<br />

L1D RAM<br />

memory<br />

mapped<br />

(48KB)<br />

The IVA2.2 subsystem contains 16KB of L2 ROM. The L2 ROM provides boot code.<br />

0x5CF1 8000<br />

0x5CF1 4000<br />

0x5CF1 0000<br />

0x5CF0 4000<br />

memmap-003<br />

When the L1P cache is configured to be inactive (default configuration), DSP program fetch accesses to<br />

the L2 ROM are performed directly, and thus suffer the L2 latency.<br />

When the L1P cache is configured to be active, DSP program fetch accesses to L2 ROM are always<br />

serviced by the L1P cache controller, which partly hides the L2 latency.<br />

2.4.2.2 DSP Access to L2 RAM<br />

The IVA2.2 contains 96KB of L2 RAM. The L2 RAM can be configured to allocate up to 64KB to the L2<br />

cache.<br />

When the L1P and L1D caches are configured to be inactive (default configuration), DSP accesses to the<br />

L2 RAM are accomplished directly, and thus suffer the L2 latency.<br />

When the L1P and L1D RAM are configured to be active, DSP program accesses to L2 RAM are always<br />

serviced by the L1P cache controller (if code fetch) or the L1D cache controller (if data access), which<br />

partly hides the L2 latency<br />

2.4.3 DSP and EDMA Access to Memories and Peripherals<br />

The IVA2.2 DSP and EDMA access the memories and peripherals using virtual addressing. This lets the<br />

DSP and EDMA access memories and peripherals in the same contiguous view, even when the memory<br />

is physically segmented. Table 2-9 and Table 2-10 give the address range where the DSP and the EDMA<br />

can access the memories and peripherals, respectively.<br />

The IVA2.2 memory management unit (IVA2.2 iMMU) handles the virtual-to-physical address translation<br />

based on the software configuration (typically under control of the MPU subsystem).<br />

218 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Virtual addresses of<br />

device memories<br />

and peripherals<br />

Virtual memory<br />

(IVA2.2 memory space mapping)<br />

Public Version<br />

www.ti.com IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong><br />

Virtual addresses are issued by the initiator to the IVA2.2 iMMU. Using the translation look-aside buffer<br />

(TLB), the MMU translates the initiator virtual addresses into real physical addresses.<br />

Figure 2-4 shows the relationship among physical addresses, virtual addresses, and the IVA2.2 iMMU.<br />

Figure 2-4. IVA2.2 iMMU Address Translation<br />

IVA2.2 iMMU<br />

address translation<br />

Physical memory<br />

(device memory space mapping)<br />

For more information about the MMU, see <strong>Chapter</strong> 15, <strong>Memory</strong> Management Units.<br />

2.4.4 L3 Interconnect View of the IVA2.2 Subsystem <strong>Memory</strong> Space<br />

Physical addresses of<br />

device memories<br />

and peripherals<br />

memmap-004<br />

Table 2-8 lists the IVA2.2 subsystem memory space mapping from the perspective of the MPU subsystem<br />

through the L3 interconnect.<br />

Table 2-8. L3 Interconnect View of the IVA2.2 Subsystem <strong>Memory</strong> Space<br />

Region Name Start Address End Address Size Description<br />

(Hex) (Hex)<br />

Address space 0 0x5C00 0000 0x5CFF FFFF 16MB<br />

Reserved 0x5C00 0000 0x5C7D FFFF 8064KB Reserved<br />

L2 ROM 0x5C7E 0000 0x5C7E 3FFF 16KB IVA2.2 internal memories<br />

Reserved 0x5C7E 4000 0x5C7F 7FFF 80KB Reserved<br />

L2 RAM 0x5C7F 8000 0x5C7F FFFF 32KB IVA2.2 internal memories<br />

L2 RAM (cache) 0x5C80 0000 0x5C80 FFFF 64KB IVA2.2 internal memories<br />

Reserved 0x5C81 0000 0x5CDF FFFF 6080KB Reserved<br />

L1P RAM (cache) 0x5CE0 0000 0x5CE0 7FFF 32KB IVA2.2 internal memories<br />

Reserved 0x5CE0 8000 0x5CF0 3FFF 1008KB Reserved<br />

L1D RAM 0x5CF0 4000 0x5CF0 FFFF 48KB IVA2.2 internal memories<br />

L1D RAM (cache) 0x5CF1 0000 0x5CF1 7FFF 32KB IVA2.2 internal memories<br />

Reserved 0x5CF1 8000 0x5CFF FFFF 928KB Reserved<br />

Address space 1 0x5D00 0000 0x5DFF FFFF 16MB<br />

MMU registers 0x5D00 0000 0x5D00 0FFF 4KB IVA2.2 iMMU<br />

Reserved 0x5D00 1000 0x5DFF FFFF 16,380KB Reserved<br />

Address space 2 0x5E00 0000 0x5EFF FFFF 16MB<br />

Video coprocessor and 0x5E00 0000 0x5E0F FFFF 1MB IVA2.2 video modules<br />

sequencer<br />

Reserved 0x5E10 0000 0x5EFF FFFF 15MB Reserved<br />

2.4.5 DSP View of the IVA2.2 Subsystem <strong>Memory</strong> Space<br />

Table 2-9 lists the IVA2.2 subsystem memory space mapping internally from the perspective of the DSP.<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

219


Public Version<br />

IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-9. DSP View of the IVA2.2 Subsystem <strong>Memory</strong> Space<br />

Region Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

Reserved 0x0000 0000 0x007D FFFF 8064 Reserved<br />

L2 ROM 0x007E 0000 0x007E 3FFF 16 IVA2.2 internal memories<br />

Reserved 0x007E 4000 0x007F 7FFF 80 Reserved<br />

L2 RAM 0x007F 8000 0x007F FFFF 32 IVA2.2 internal memories<br />

L2 RAM (cache) 0x0080 0000 0x0080 FFFF 64 IVA2.2 internal memories<br />

Reserved 0x0081 0000 0x00DF FFFF 6080 Reserved<br />

L1P RAM (cache) 0x00E0 0000 0x00E0 7FFF 32 IVA2.2 internal memories<br />

Reserved 0x00E0 8000 0x00F0 3FFF 1008 Reserved<br />

L1D RAM 0x00F0 4000 0x00F0 FFFF 48 IVA2.2 internal memories<br />

L1D RAM (cache) 0x00F1 0000 0x00F1 7FFF 32 IVA2.2 internal memories<br />

Reserved 0x00F1 8000 0x017F FFFF 9120 Reserved<br />

C64x+ interrupt selector 0x0180 0000 0x0180 FFFF 64 C64x+ DSP interrupt controller<br />

C64x+ PDC 0x0181 0000 0x0181 0FFF 4 C64x+ DSP power-down<br />

controller<br />

C64x+ protection ID 0x0181 1000 0x0181 1FFF 4 C64x+ DSP protection ID<br />

C64x+ revision ID 0x0181 2000 0x0181 2FFF 4 C64x+ DSP revision ID<br />

Reserved 0x0181 3000 0x0181 FFFF 52 Reserved<br />

C64x+ EMC 0x0182 0000 0x0182 FFFF 64 C64x+ DSP extended memory<br />

controller<br />

Reserved 0x0183 0000 0x0183 FFFF 64 Reserved<br />

C64x+ memory system 0x0184 0000 0x0184 FFFF 64 <strong>Memory</strong> controller control<br />

registers<br />

Reserved 0x0185 0000 0x01BF FFFF 3776 Reserved<br />

TPCC configuration 0x01C0 0000 0x01C0 FFFF 64 DMA transfer engine control<br />

registers<br />

TPTC0 configuration 0x01C1 0000 0x01C1 03FF 1 DMA transfer scheduler 0 control<br />

registers<br />

TPTC1 configuration 0x01C1 0400 0x01C1 07FF 1 DMA transfer scheduler 1 control<br />

registers<br />

Reserved 0x01C1 0800 0x01C1 FFFF 62 Reserved<br />

SYSC configuration 0x01C2 0000 0x01C2 0FFF 4 SYSC module control registers<br />

WUGEN configuration 0x01C2 1000 0x01C2 1FFF 4 Wake-up generator control<br />

registers<br />

Reserved 0x01C2 2000 0x0FFF FFFF 233,336 Reserved<br />

Reserved 0x1000 0000 0x107D FFFF 8064 Reserved<br />

L2 ROM (1) 0x107E 0000 0x107E 3FFF 16 IVA2.2 internal memories<br />

Reserved 0x107E 4000 0x107F 7FFF 80 Reserved<br />

L2 RAM (1) 0x107F 8000 0x107F FFFF 32 IVA2.2 internal memories<br />

L2 RAM (cache) (1) 0x1080 0000 0x1080 FFFF 64 IVA2.2 internal memories<br />

Reserved 0x1081 0000 0x10DF FFFF 6080 Reserved<br />

L1P RAM (cache) (1) 0x10E0 0000 0x10E0 7FFF 32 IVA2.2 internal memories<br />

Reserved 0x10E0 8000 0x10F0 3FFF 1008 Reserved<br />

L1D RAM (1) 0x10F0 4000 0x10F0 FFFF 48 IVA2.2 internal memories<br />

L1D RAM (cache)2 (1) 0x10F1 0000 0x10F1 7FFF 32 IVA2.2 internal memories<br />

Reserved 0x10F1 8000 0x10FF FFFF 928 Reserved<br />

Memories and peripherals (2)<br />

0x1100 0000 0xFFFF FFFF 3,915,776 Controlled by the IVA2.2 MMU to<br />

access memories and<br />

peripherals external to the IVA2.2<br />

subsystem<br />

(1)<br />

IVA2.2 internal memories are reachable in the [0x007E 0000-0x00F1 7FFF] and [0x107E 0000-0x10F1 7FFF] (aliasing) ranges.<br />

(2)<br />

For more information, see <strong>Chapter</strong> 5, IVA2.2 Subsystem.<br />

220 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated


Public Version<br />

www.ti.com IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong><br />

2.4.6 EDMA View of the IVA2.2 Subsystem <strong>Memory</strong> Space<br />

Table 2-10 lists the IVA2.2 subsystem memory space mapping from the perspective of the EDMA.<br />

Table 2-10. EDMA View of the IVA2.2 Subsystem <strong>Memory</strong> Space<br />

Region Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

Reserved 0x0000 0000 0x0007 FFFF 512 Reserved<br />

iVLCD CFG 0x0008 0000 0x0008 1FFF 8 Improved variable-length coding<br />

decoding configuration registers<br />

Reserved 0x0008 2000 0x0008 3FFF 8 Reserved<br />

iVLCD IBUF0A 0x0008 4000 0x0008 43FF 1 Improved variable-length coding<br />

decoding buffer<br />

Reserved 0x0008 4400 0x0008 4FFF 3 Reserved<br />

iVLCD IBUF0B 0x0008 5000 0x0008 53FF 1 Improved variable-length coding<br />

decoding buffer<br />

Reserved 0x0008 5400 0x0008 5FFF 3 Reserved<br />

iVLCD IBUF1 0x0008 6000 0x0008 6BFF 3 Improved variable-length coding<br />

decoding buffer<br />

Reserved 0x0008 6C00 0x0008 7FFF 5 Reserved<br />

iVLCD QMEM 0x0008 8000 0x0008 83FF 1 Improved variable-length coding<br />

decoding quantize memory<br />

Reserved 0x0008 8400 0x0008 BFFF 15 Reserved<br />

iVLCD HMEM 0x0008 C000 0x0008 DBFF 7 Improved variable-length coding<br />

decoding huffman memory<br />

Reserved 0x0008 DC00 0x0008 FFFF 9 Reserved<br />

SEQ CFG 0x0009 0000 0x0009 07FF 2 Video sequencer configuration<br />

registers<br />

Reserved 0x0009 0800 0x0009 3FFF 14 Reserved<br />

SEQ DMEM 0x0009 4000 0x0009 4FFF 4 Video sequencer data memory<br />

Reserved 0x0009 5000 0x0009 7FFF 12 Reserved<br />

SEQ IMEM 0x0009 8000 0x0009 9FFF 8 Video sequencer instruction<br />

memory<br />

Reserved 0x0009 A000 0x0009 BFFF 8 Reserved<br />

Video sysc 0x0009 C000 0x0009 CFFF 4 Video system controller<br />

Reserved 0x0009 D000 0x0009 FFFF 12 Reserved<br />

iME CFG 0x000A 0000 0x000A 0FFF 4 Improved motion estimation<br />

configuration registers<br />

iLF CFG 0x000A 1000 0x000A 1FFF 4 Variable-length coding decoding<br />

configuration registers<br />

Reserved 0x000A 2000 0x000F 7FFF 344 Reserved<br />

Local interconnect 0x000F 8000 0x000F BFFF 16 Video accelerator/sequencer<br />

local interconnect<br />

Reserved 0x000F C000 0x000F FFFF 16 Reserved<br />

Reserved 0x0010 0000 0x107D FFFF 269,184 Reserved<br />

L2 ROM 0x107E 0000 0x107E 3FFF 16 IVA2.2 internal memories<br />

Reserved 0x107E 4000 0x107F 7FFF 80 Reserved<br />

L2 RAM 0x107F 8000 0x107F FFFF 32 IVA2.2 internal memories<br />

L2 RAM (cache) 0x1080 0000 0x1080 FFFF 64 IVA2.2 internal memories<br />

Reserved 0x1081 0000 0x10DF FFFF 6080 Reserved<br />

L1P RAM (cache) 0x10E0 0000 0x10E0 7FFF 32 IVA2.2 internal memories<br />

Reserved 0x10E0 8000 0x10F0 3FFF 1008 Reserved<br />

L1D RAM 0x10F0 4000 0x10F0 FFFF 48 IVA2.2 internal memories<br />

L1D RAM (cache) 0x10F1 0000 0x10F1 7FFF 32 IVA2.2 internal memories<br />

SPRUGN4L–May 2010–Revised June 2011 <strong>Memory</strong> <strong>Mapping</strong><br />

Copyright © 2010–2011, Texas Instruments Incorporated<br />

221


Public Version<br />

IVA2.2 Subsystem <strong>Memory</strong> Space <strong>Mapping</strong> www.ti.com<br />

Table 2-10. EDMA View of the IVA2.2 Subsystem <strong>Memory</strong> Space (continued)<br />

Region Name Start Address End Address Size (KB) Description<br />

(Hex) (Hex)<br />

Reserved 0x10F1 8000 0x10FF FFFF 928 Reserved<br />

Memories and peripherals (1)<br />

(1) For more information, see <strong>Chapter</strong> 5, IVA2.2 Subsystem.<br />

0x1100 0000 0xFFFF FFFF 3,915,776 Controlled by the IVA2.2 MMU to<br />

access memories and<br />

peripherals external to the IVA2.2<br />

subsystem<br />

222 <strong>Memory</strong> <strong>Mapping</strong> SPRUGN4L–May 2010–Revised June 2011<br />

Copyright © 2010–2011, Texas Instruments Incorporated

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!