DM8168的互连与内存映射

DM8168是多处理器系统,每个子系统或处理器都有自己的内存和内存映射的寄存器。为了简化软件开发,使用一个统一的内存映射,这样从所有总线Master方来看芯片资源具有了一致性。

整个系统内存映射被划分为4个1GB的quadrant,用于目标地址空间的定位。4个quadrant:Q0、Q1、Q2和Q3总计4-GB 的32位地址空间。(HDVPSS包括一个第33位地址位,用于附加的4GB地址范围,这用作虚拟寻址和非物理内存寻址),在每个quadrant内部,系统目标以4MB为边界进行映射(除了EDMA目标,它降低到1MB范围)。

DM8168是使用一种互连技术,将多处理器和子系统连接到一起的。因此我们有必要介绍一下这个互连技术。

所谓互连,就是模块之间实现存取的一种技术,先要理解一些基本概略:

l  Initiator(发起者):向互连发起读写请求。典型如:处理器、DMA。

l  Target(目标):不同与Initiator,它不向互连发出读写请求,但是它能响应这些请求。它还可以向系统产生中断和DMA请求。典型如:外设、内存控制器

l  Agent(代理):一个模块与互连的连接是通过代理的,它是模块与互连之间的适配器(有时可以配置)。一个Target通过一个Target代理(TA)与互连连接,Initiator通过Initiator代理(IA)与互连连接。

l  Interconnect(互连):应该包含译码、路由、仲裁等逻辑,才能实现连接在其上的多个Initiator和多个Target之间的互连。

DM8168的互连是基于一种分层架构(L3,L4),如下图。注意箭头并不是表示数据流的方向,而是表示Master/Slave(或者Initiator/Target)关系。

DM8168的互连与内存映射_第1张图片

图5-1 互连概貌

DM8168的互连与内存映射_第2张图片

图5-2 L4结构

表5-1 L3 Master/Slave互连

DM8168的互连与内存映射_第3张图片

(1)     X = 互连存在;S = 可裁减的通道。Non-DEMMU可存取的目标(如C674x SDMA)总是直接映射。

表5-2 L4外设连接

DM8168的互连与内存映射_第4张图片

(1)X,Port0,Port1 = 连接存在

 

 

DM816x的系统框图如下。我们以Cortex-A8和C674x两个子系统为例,来看DM816x是如何管理内存。

DM8168的互连与内存映射_第5张图片

1.Cortex-A8

Cortex-A8的结构框图如下:

DM8168的互连与内存映射_第6张图片

从图中我们可以看到:

l  Cortex-A8内部有48KB ROM 和64KB RAM。

l  Cortex与其它模块互连是通过DMM和L3端口。

n  Cortex-A8通过DMM端口(128bit宽)直接存取DDR。

n  Cortex-A8通过L3互连端口(64bit)存取芯片的其他模块。

Cortex-A8地址映射:

块名

起始地址

结束地址

尺寸

描述

Boot Space

0x0000 0000

0x000F FFFF

1MB

Boot Space

L3 目标空间

0x0000 0000

0x1FFF FFFF

512MB

GPMC

0x2000 0000

0x2FFF FFFF

256MB

PCIe Gen2 Targets

0x3000 0000

0x3FFF FFFF

256MB

Reserved

内部ROM(1)

0x4000 0000

0x4001 FFFF

128KB

Reserved

0x4002 0000

0x4002 BFFF

48KB

ROM Public

0x4002 C000

0x40F FFFF

848KB

Reserved

Reserved(1)

0x4010 0000

0x401F FFFF

1MB

Reserved

Reserved(1)

0x4020 0000

0x402E FFFF

960KB

Reserved

Reserved(1)

0x402F 0000

0x402F FFFF

64KB

SRAM(64KB) Secure/Public

L3目标空间

0x4030 0000

0x4033 FFFF

256MB

OCMC SRAM

0x4034 0000

0x403F FFFF

768KB

Reserved

0x4040 0000

0x4043 FFFF

256KB

OCMC SRAM

0x4044 0000

0x404F FFFF

768KB

Reserved(OCMC RAM1)

0x4050 0000

0x407F FFFF

3MB

Reserved

0x4080 0000

0x4083 FFFF

256KB

C674x UMAP0(L2 RAM)

0x4084 0000

0x40DF FFFF

5888KB

Reserved

0x40E0 0000

0x40E0 7FFF

32KB

C674x L1P Cache/RAM

0x40E0 8000

0x40EF FFFF

992KB

Reserved

0x40F0 0000

0x40F0 7FFF

32KB

C674x L1D Cache/RAM

0x40F0 8000

0x40FF FFFF

992KB

Reserved

0x4100 0000

0x41FF FFFF

16MB

Reserved

0x4200 0000

0x43FF FFFF

32MB

Reserved

0x4400 0000

0x44BF FFFF

12MB

L3配置寄存器

0x44C0 0000

0c45FF FFFF

20MB

Reserved

0x4600 0000

0x463F FFFF

4MB

McASP0

0x4640 0000

0x467F FFFF

4MB

McASP01

0x4680 0000

0x46BF FFFF

4MB

McASP02

0x46C0 0000

0x46FF FFFF

4MB

HDMI1.3 Tx

0x4700 0000

0x473F FFFF

4MB

McBsp

0x4740 0000

0x477F FFFF

4MB

USB2.0寄存器/CPPI

0x4780 0000

0x47BF FFFF

4MB

Reserved

0x47C0 0000

0x47FF FFFF

4MB

Reserved

0x4800 0000

0x481F FFFF

2MB

L4标准外设域

ARM Subsystem INTC(1)

0x4820 0000

0x4820 FFFF

4KB

仅由Contex-A8存取

Reserved(1)

0x4820 1000

0x4823 FFFF

252KB

仅由Contex-A8存取

MPUSS config register(1)

0x4824 0000

0x4824 FFFF

4KB

仅由Contex-A8存取

Reserved(1)

0x4824 1000

0x4827 FFFF

252KB

仅由Contex-A8存取

Reserved(1)

0x4828 1000

0x482F FFFF

508KB

仅由Contex-A8存取

L3目标空间

0x4830 0000

0x48FF FFFF

13MB

L4标准外设域

0x4900 0000

0x490F FFFF

1MB

EDMA TPCC寄存器

0x4910 0000

0x497F FFFF

7MB

Reserved

0x4980 0000

0x498F FFFF

1MB

EDMA TPCC0寄存器

0x4990 0000

0x499F FFFF

1MB

EDMA TPCC1寄存器

0x49A0 0000

0x49AF FFFF

1MB

EDMA TPCC2寄存器

0x49B0 0000

0x49BF FFFF

1MB

EDMA TPCC3寄存器

0x49C0 0000

0x49FF FFFF

4MB

Reserved

0x4A00 0000

0x4AFF FFFF

16MB

L4高速外设域

0x4B00 0000

0x4BFF FFFF

16MB

EMU子系统区域

0x4C00 0000

0x4CFF FFFF

16MB

DDR EMIF0配置寄存器(2)

0x4D00 0000

0x4DFF FFFF

16MB

DDR EMIF1配置寄存器(2)

0x4E00 0000

0x4FFF FFFF

32MB

DDR DMM配置寄存器(2)

0x5000 0000

0x50FF FFFF

16MB

GMPC配置寄存器

0x5100 0000

0x51FF FFFF

16MB

PCIE配置寄存器

0x5200 0000

0x52FF FFFF

16MB

Reserved

0x5300 0000

0x53FF FFFF

16MB

HDVICP2-2 Host端口

0x5400 0000

0x54FF FFFF

16MB

HDVICP2-2 SL2端口

0x5500 0000

0x55FF FFFF

16MB

Reserved

0x5600 0000

0x56FF FFFF

16MB

SGX530从端口

0x5700 0000

0x57FF FFFF

16MB

Reserved

0x5800 0000

0x58FF FFFF

16MB

HDVICP2-0 Host端口

0x5900 0000

0x59FF FFFF

16MB

HDVICP2-0 SL2端口

0x5A00 0000

0x5AFF FFFF

16MB

HDVICP2-1 Host端口

0x5B00 0000

0x5BFF FFFF

16MB

HDVICP2-1 SL2端口

0x5C00 0000

0x5CFF FFFF

32Mb

Reserved

0x5E00 0000

0x5FFF FFFF

32MB

Reserved

0x6000 0000

0x7FFF FFFF

512MB

TILER窗口

DDR EMIF0/1 SDRAM(3)(4)

0x8000 0000

0xBFFF FFFF

1GB

DDR

DDR EMIF0/1 SDRAM(3)(4)

0xC000 0000

0xFFFF FFFF

1GB

DDR

(1)     黑体字部分表示这部分在Cortex-A8内部

(2)     这些存取通过DDR DMM TILER端口。DDR DMM内部分开寻址DDR EMIF和DDR DMM控制寄存器的地址范围

(3)     这些地址路由到与DDR DMM ELLA端口直接相连的Master0端口

(4)     DDR EMIF0和DDR EMIF1地址可以连续或BANK交织,取决于DDR DMM配置

2.C674x

C674x DSP Megamodule框图如下:

DM8168的互连与内存映射_第7张图片

从图中,我们看到:

l  EMC(Extend Memory Controller)是一个桥,将Megamodule与芯片的其他部分连接起来。它包括3个端口:

n  配置端口(CFG):这个端口提供对内存映射的寄存器(这些寄存器控制不同的外设和资源)的存取,但并不支持对CPU和Megamodule内部的内存映射寄存器的存取。CFG总线总是32bit宽,总是应该使用32bit load/store指令或者IDMA来存取

n  Master DMA(MDMA):MDAM提供对MegaModule外部资源的存取,传输的发起者是Megamodule(也就是说这些传输,Megamodule是Master)。MDMA常用来做为CPU/Cache对L2以外的内存的存取。这些存取可能是以对系统内存的Cache Line Allocate、Writeback、Non-Cacheable Load和Store形式。

n  Slave DMA(SDMA):SDMA用于Megamodule外部的其它Masters对Megamodule内部资源的存取。这些其它的Master如:DMA控制器、HPI等等,也就是说这些传输是Megamodule外部Master发起的,而Megamodule在交易中是处于Slave地位。

n  所有的MDMA存取都是通过DEMMU来路由做地址翻译的;CFG总是用于存取连L4外设。

l  还有3个Master端口,用于直接存取HDVICP2 SL2(仅HDVICP2-0和HDVICP2-1)内存。

C6474x DSP通过MDMA端口进行的存取是通过DSP/EDMA内存管理单元(DEMMU)来路由的,DEMMU重新映射物理系统地址。这样做可以保护ARM Cortex A8内存区域避免被C674x代码意外破坏,并允许在用户空间里直接定位buffer而不需要在ARM和DSP之间进行翻译。

另外,EDMA TC0进行的存取可以选择通过DEMMU来路由,这允许DSP使用EDMA 通道0进行传输的时候,仅使用相关Buffer的已知虚拟地址来执行传输。EDMA_TC通过控制模块里的MMU_CFG寄存器来使能/禁止DSP/EDMA MMU。

表2-31C674x内存映射

区域名称

起始地址

结束地址

尺寸

描述

保留(注1)

0x0000 0000

0x003F FFFF

4MB

保留

UMAP1(注1)

0x0040 0000

0x0043 FFFF

256KB

C674x UMAP1(HDVICP2-0 SL2)

保留(UMAP1)(注1)

0x0044 0000

0x004F FFFF

768KB

保留

UMAP1(注1)

0x0050 0000

0x0053 FFFF

256KB

C674x UMAP (HDVICP2-1 SL2)

保留(UMAP1) (注1)

0x0054 0000

0x005F FFFF

768KB

保留

保留(注1)

0x0060 0000

0x007F FFFF

2MB

保留

L2 SRAM(注1)

0x0080 0000

0x0083 FFFF

256KB

C674x UMAP0(L2 RAM)

保留(注1)

0x0084 0000

0x00DF FFFF

5888KB

保留

L1P SRAM(注1)

0x00E0 0000

0x00E0 7FFF

32KB

C674x L1P Cache/RAM

保留(注1)

0x00E0 8000

0x00EF FFFF

992KB

保留

L1D SRAM(注1)

0x00F0 0000

0x00F0 7FFF

32KB

C674x L1D Cache/RAM

保留(注1)

0x00F0 8000

0x017F FFFF

9184KB

保留

内部CFG(注2、3)

0x0180 0000

0x01BF FFFF

4MB

C674x内部CFG寄存器

保留(注3)

0x01C0 0000

0x07FF FFFF

100MB

保留

L4标准域(注3)

0x0800 0000

0x08FF FFFF

16MB

外设域(见表2-27)

EDMA TPCC(注3)

0x0900 0000

0x090F FFFF

1MB

EDMA TPCC寄存器

保留(注3)

0x0910 0000

0x097F FFFF

7MB

保留

EDMA TPTC0(注3)

0x0980 0000

0x098F FFFF

1MB

EDMA TPTC0寄存器

EDMA TPTC1(注3)

0x0990 0000

0x099F FFFF

1MB

EDMA TPTC1寄存器

EDMA TPTC2(注3)

0x09A0 0000

0x09AFFFFF

1MB

EDMA TPTC2寄存器

EDMA TPTC3(注3)

0x09B0 0000

0x09BF FFFF

1MB

EDMA TPTC3寄存器

保留(注3)

0x09C0 0000

0x09FF FFFF

4MB

保留

L4高速域(注3)

0x0A00 0000

0x0AFF FFFF

16MB

外设域(见表2-28)

保留(注3)

0x0B00 0000

0x0FFF FFFF

80MB

保留

C674x L1/L2(注4)

0x1000 0000

0x10FF FFFF

16MB

C674x内部全局地址

MDMA(注5)

0x1100 0000

0xFFFF FFFF

3824MB

DEMMU映射L3域

注1:地址0x0000 0000到0x017F FFFF对C674x器件是在内部。

注2:地址0x0180 0000到0x01BF FFFF保留作为C674x内部CFG寄存器。

注3:地址0x01C0 0000到0x0FFF FFFF映射倒C674x CFG总线。

注4: 地址0x1000 0000到0x10FF FFFF映射倒C674x内部地址0x0000 0000 到 0x00FF FFFF。

注5:这些存取通过DEMMU路由,DEMMU通过页表将这些地址翻译到物理L3地址。

3.L3内存映射

L3高性能互连是基于片上网络(Network-on-Chip:NoC)互连基础架构,NoC使用一个内部基于包的通讯规程,用作前向(读命令、带数据负荷的写命令)和后向(带数据负荷的读响应、写响应)交易,所有公开的NoC互连接口(对目标和发起者)满足OCP IP2.2参考标准。

表2-26显示了DM8168的L3的内存映射,表中呈现了L3基础架构使用的物理地址,某些处理器(如Cortex A8 ARM、C674x DSP)可以通过内部或外部MMU重新将这些目标重新映射到不同的虚拟地址。没有MMU的处理器和其他总线Master使用这些物理地址存取L3区域,注意并不是所有MASTER都会对L3所有区域进行存取,而仅仅是那些有明确连接的存取,如表5-1显示的那些才可以。在5.2节列出了连接到L4外设端口的外设。任何发起者如果企图存取一个没有连接的目标, L3互连会返回一个地址空洞错误。

表2-26 L3内存映射

QUAD

块名

起始地址

结束地址

尺寸

描述

Q0

GPMC

0x0000 0000

0x1FFF FFFF

512MB

GPMC

Q0

PCIe Gen2

0x2000 0000

0x2FFF FFFF

256MB

PCIe Gen2 Targets

Q0

Reserved

0x3000 0000

0x3FFF FFFF

256MB

Reserved

Q1

Reserved

0x4000 0000

0x402F FFFF

3MB

Reserved

Q1

L3 OCMC0

0x4030 0000

0x4033 FFFF

256MB

OCMC SRAM

Q1

Reserved

0x4034 0000

0x403F FFFF

768KB

Reserved

Q1

L3 OCMC1

0x4040 0000

0x4043 FFFF

256KB

OCMC SRAM

Q1

Reserved

0x4044 0000

0x404F FFFF

768KB

Reserved(OCMC RAM1)

Q1

Reserved

0x4050 0000

0x407F FFFF

3MB

Reserved

Q1

C674x

0x4080 0000

0x4083 FFFF

256KB

C674x UMAP0(L2 RAM)

Q1

Reserved

0x4084 0000

0x40DF FFFF

5888KB

Reserved

Q1

C674x

0x40E0 0000

0x40E0 7FFF

32KB

C674x L1P Cache/RAM

Q1

Reserved

0x40E0 8000

0x40EF FFFF

992KB

Reserved

Q1

C674x

0x40F0 0000

0x40F0 7FFF

32KB

C674x L1D Cache/RAM

Q1

Reserved

0x40F0 8000

0x40FF FFFF

992KB

Reserved

Q1

Reserved

0x4100 0000

0x41FF FFFF

16MB

Reserved

Q1

Reserved

0x4200 0000

0x43FF FFFF

32MB

Reserved

Q1

L3 CFG Regs

0x4400 0000

0x44BF FFFF

12MB

L3配置寄存器

Q1

Reserved

0x44C0 0000

0c45FF FFFF

20MB

Reserved

Q1

McASP0

0x4600 0000

0x463F FFFF

4MB

McASP0

Q1

McASP1

0x4640 0000

0x467F FFFF

4MB

McASP01

Q1

McASP2

0x4680 0000

0x46BF FFFF

4MB

McASP02

Q1

HDMI1.3 Tx

0x46C0 0000

0x46FF FFFF

4MB

HDMI1.3 Tx

Q1

McBsp

0x4700 0000

0x473F FFFF

4MB

McBsp

Q1

USB2.0

0x4740 0000

0x477F FFFF

4MB

USB2.0寄存器/CPPI

Q1

Reserved

0x4780 0000

0x47BF FFFF

4MB

Reserved

Q1

Reserved

0x47C0 0000

0x47FF FFFF

4MB

Reserved

Q1

L4 Standard domain

0x4800 0000

0x48FF FFFF

16MB

标准外设域

Q1

EDMA TPCC

0x4900 0000

0x490F FFFF

1MB

EDMA TPCC寄存器

Q1

Reserved

0x4910 0000

0x497F FFFF

7MB

Reserved

Q1

EDMA TPTC0

0x4980 0000

0x498F FFFF

1MB

EDMA TPCC0寄存器

Q1

EDMA TPTC1

0x4990 0000

0x499F FFFF

1MB

EDMA TPCC1寄存器

Q1

EDMA TPTC2

0x49A0 0000

0x49AF FFFF

1MB

EDMA TPCC2寄存器

Q1

EDMA TPTC3

0x49B0 0000

0x49BF FFFF

1MB

EDMA TPCC3寄存器

Q1

Reserved

0x49C0 0000

0x49FF FFFF

4MB

Reserved

Q1

L4 High-Speed Domain

0x4A00 0000

0x4AFF FFFF

16MB

高速外设域

Q1

Instrumentation

0x4B00 0000

0x4BFF FFFF

16MB

EMU子系统区域

Q1

DDR EMIF0 register

0x4C00 0000

0x4CFF FFFF

16MB

配置寄存器

Q1

DDR EMIF1 register

0x4D00 0000

0x4DFF FFFF

16MB

配置寄存器

Q1

DDR DMM Register

0x4E00 0000

0x4FFF FFFF

32MB

配置寄存器

Q1

GPMC Register

0x5000 0000

0x50FF FFFF

16MB

配置寄存器

Q1

PCIe Gen2 Register

0x5100 0000

0x51FF FFFF

16MB

配置寄存器

Q1

Reserved

0x5200 0000

0x52FF FFFF

16MB

Reserved

Q1

HDVICP2-2 Config

0x5300 0000

0x53FF FFFF

16MB

HDVICP2-2 Host端口

Q1

HDVICP2-2 SL2

0x5400 0000

0x54FF FFFF

16MB

HDVICP2-2 SL2端口

Q1

Reserved

0x5500 0000

0x55FF FFFF

16MB

Reserved

Q1

SGX530

0x5600 0000

0x56FF FFFF

16MB

SGX530从端口

Q1

Reserved

0x5700 0000

0x57FF FFFF

16MB

Reserved

Q1

HDVICP2-0 Config

0x5800 0000

0x58FF FFFF

16MB

HDVICP2-0 Host端口

Q1

HDVICP2-0 SL2

0x5900 0000

0x59FF FFFF

16MB

HDVICP2-0 SL2端口

Q1

HDVICP2-1 Config

0x5A00 0000

0x5AFF FFFF

16MB

HDVICP2-1 Host端口

Q1

HDVICP2-1 SL2

0x5B00 0000

0x5BFF FFFF

16MB

HDVICP2-1 SL2端口

Q1

Reserved

0x5C00 0000

0x5CFF FFFF

32Mb

Reserved

Q1

Reserved

0x5E00 0000

0x5FFF FFFF

32MB

Reserved

Q1

Tiler

0x6000 0000

0x7FFF FFFF

512MB

虚拟Tiled地址空间

Q2

DDR EMIF0/1 SDRAM

0x8000 0000

0xBFFF FFFF

1GB

DDR

Q3

DDR EMIF0/1 SDRAM

0xC000 0000

0xFFFF FFFF

1GB

DDR

Q4-7

DDR DMM

0x1 0000 0000

0x1 FFFF FFFF

4GB

DDR DMM Tiler 扩展地址映射虚拟视图(仅HDVPPS)

 

4.  L4内存映射

4.1  L4标准外设

L4标准外设总线存取标准的外设和IP配置寄存器。内存映射表入表2-27

表2-27 L4标准外设内存映射

器件名称

起始地址

结束地址

尺寸

描述

L4标准配置

0x4800 0000

0x4800 07FF

2KB

地址/保护(AP)

0x4800 0800

0x4800 0FFF

2 KB

连接代理(LA)

0x4800 1000

0x4800 13FF

1 KB

Initiator端口(IP0)

0x4800 1400

0x4800 17FF

1 KB

Initiator端口(IP1)

0x4800 1800

0x4800 1FFF

2 KB

保留(IP2 – IP3)

保留

0x4800 2000

0x4800 7FFF

24 KB

保留

e-Fuse控制器

0x4800 8000

0x4800 8FFF

4 KB

外设寄存器

0x4800 9000

0x4800 9FFF

4 KB

支持寄存器

保留

0x4800 A000

0x4800 FFFF

24 KB

保留

DEMMU

0x4801 0000

0x4801 0FFF

4KB

外设寄存器

0x4801 1000

0x4801 1FFF

4KB

支持寄存器

保留

0x4801 2000

0x4801 FFFF

56KB

保留

UART0

0x4802 0000

0x4802 0FFF

4KB

外设寄存器

0x4802 1000

0x4802 1FFF

4KB

支持寄存器

UART1

0x4802 2000

0x4802 2FFF

4KB

外设寄存器

0x4802 3000

0x4802 3FFF

4KB

支持寄存器

UART2

0x4802 4000

0x4802 4FFF

4KB

外设寄存器

0x4802 5000

0x4802 5FFF

4KB

支持寄存器

保留

0x4802 6000

0x4802 7FFF

8KB

保留

I2C0

0x4802 8000

0x4802 8FFF

4KB

外设寄存器

0x4802 9000

0x4802 9FFF

4KB

支持寄存器

I2C1

0x4802 A000

0x4802 AFFF

4KB

外设寄存器

0x4802 B000

0x4802 BFFF

4KB

支持寄存器

保留

0x4802 C000

0x4802 DFFF

8KB

保留

TIMER1

0x4802 E000

0x4802 EFFF

4KB

外设寄存器

0x4802 F000

0x4802 FFFF

4KB

支持寄存器

SPIOCP

0x4803 0000

0x4803 0FFF

4KB

外设寄存器

0x4803 1000

0x4803 1FFF

4KB

支持寄存器

GPIO0

0x4803 2000

0x4803 2FFF

4KB

外设寄存器

0x4803 3000

0x4803 3FFF

4KB

支持寄存器

保留

0x4803 4000

0x4803 7FFF

16KB

保留

McASP0 CFG

0x4803 8000

0x4803 9FFF

8KB

外设寄存器

0x4803 A000

0x4803 AFFF

4KB

支持寄存器

保留

0x4803 B000

0x4803 BFFF

4KB

保留

McASP1 CFG

0x4803 C000

0x4803 DFFF

8KB

外设寄存器

0x4803 E000

0x4803 EFFF

4KB

支持寄存器

保留

0x4803 F000

0x4803 FFFF

4KB

保留

TIMER2

0x4804 0000

0x4804 0FFF

4KB

外设寄存器

0x4804 1000

0x4804 1FFF

4KB

支持寄存器

TIMER3

0x4804 2000

0x4804 2FFF

4KB

外设寄存器

0x4804 3000

0x4804 3FFF

4KB

支持寄存器

TIMER4

0x4804 4000

0x4804 4FFF

4KB

外设寄存器

0x4804 5000

0x4804 5FFF

4KB

支持寄存器

TIMER5

0x4804 6000

0x4804 6FFF

4KB

外设寄存器

0x4804 7000

0x4804 7FFF

4KB

支持寄存器

TIMER6

0x4804 8000

0x4804 8FFF

4KB

外设寄存器

0x4804 9000

0x4804 9FFF

4KB

支持寄存器

TIMER7

0x4804 A000

0x4804 AFFF

4KB

外设寄存器

0x4804 B000

0x4804 BFFF

4KB

支持寄存器

GPIO1

0x4804 C000

0x4804 CFFF

4KB

外设寄存器

0x4804 D000

0x4804 DFFF

4KB

支持寄存器

保留

0x4804 E000

0x4804 FFFF

8KB

保留

McASP2 CFG

0x4805 0000

0x4805 1FFF

8KB

外设寄存器

0x4805 2000

0x4805 2FFF

4KB

支持寄存器

保留

0x4805 3000

0x4805 FFFF

52KB

保留

SD/SDIO

0x4806 0000

0x4806 FFFF

64KB

寄存器

0x4807 0000

0x4807 0FFF

4KB

支持寄存器

保留

0x4807 1000

0x4807 FFFF

60KB

保留

ELM

0x4808 0000

0x4808 FFFF

64KB

错误定位模块

0x4809 0000

0x4809 0FFF

4KB

支持寄存器

保留

0x4809 1000

0x480B FFFF

188KB

保留

RTC

0x480C 0000

0x480C 0FFF

4KB

外设寄存器

0x480C 1000

0x480C 1FFF

4KB

支持寄存器

WDT1

0x480C 2000

0x480C 2FFF

4KB

外设寄存器

0x480C 3000

0x480C 3FFF

4KB

支持寄存器

保留

0x480C 4000

0x480C 7FFF

16KB

保留

Mailbox

0x480C 8000

0x480C 8FFF

4KB

外设寄存器

0x480C 9000

0x480C 9FFF

4KB

支持寄存器

Spinlock

0x480C A000

0x480C AFFF

4KB

外设寄存器

0x480C B000

0x480C BFFF

4KB

支持寄存器

保留

0x480C C000

0x480F FFFF

208KB

保留

HDVPSS

0x4810 0000

0x4811 FFFF

128KB

外设寄存器

0x4812 0000

0x4812 0FFF

4KB

支持寄存器

保留

0x4812 1000

0x4812 1FFF

4KB

保留

HDMI1.3Tx

0x4812 2000

0x4812 2FFF

4KB

外设寄存器

0x4812 3000

0x4812 3FFF

4KB

支持寄存器

保留

0x4812 4000

0x4812 FFFF

112KB

保留

控制模块

0x4814 0000

0x4815 FFFF

128KB

外设寄存器

0x4816 0000

0x4816 0FFF

4KB

支持寄存器

保留

0x4816 1000

0x4817 FFFF

124KB

保留

PRCM

0x4818 0000

0x4818 2FFF

12KB

外设寄存器

0x4818 3000

0x4818 3FFF

4KB

支持寄存器

保留

0x4818 4000

0x4818 7FFF

16KB

保留

SmartReflex0

0x4818 8000

0x4818 8FFF

4KB

外设寄存器

0x4818 9000

0x4818 9FFF

4KB

支持寄存器

SmartReflex1

0x4818 A000

0x4818 AFFF

4KB

外设寄存器

0x4818 B000

0x4818 BFFF

4KB

支持寄存器

OCP Watchpoint

0x4818 C000

0x4818 CFFF

4KB

外设寄存器

0x4818 D000

0x4818 DFFF

4KB

支持寄存器

保留

0x4818 E000

0x4818 EFFF

4KB

保留

0x4818 F000

0x4818 FFFF

4KB

保留

保留

0x4819 0000

0x4819 0FFF

4KB

保留

0x4819 1000

0x4819 1FFF

4KB

保留

保留

0x4819 2000

0x4819 2FFF

4KB

保留

0x4819 3000

0x4819 3FFF

4KB

保留

保留

0x4819 4000

0x4819 4FFF

4KB

保留

0x4819 5000

0x4819 5FFF

4KB

保留

保留

0x4819 6000

0x4819 6FFF

4KB

保留

0x4819 7000

0x4819 7FFF

4KB

保留

DDR0 Phy Ctrl Regs

0x4819 8000

0x4819 8FFF

4KB

外设寄存器

0x4819 9000

0x4819 9FFF

4KB

支持寄存器

DDR1 Phy Ctrl Regs

0x4819 A000

0x4819 AFFF

4KB

外设寄存器

0x4819 B000

0x4819 BFFF

4KB

支持寄存器

保留

0x4819 C000

0x481F FFFF

400KB

保留

中断控制器(1)

0x4820 0000

0x4820 0FFF

4KB

仅Cortex-A8可以存取

保留(1)

0x4820 1000

0x4823 FFFF

252KB

仅Cortex-A8可以存取

MPUSS config Register(1)

0x4824 0000

0x4824 0FFF

4KB

仅Cortex-A8可以存取

保留(1)

0x4824 1000

0x4827 FFFF

252KB

仅Cortex-A8可以存取

保留(1)

0x4828 1000

0x482F FFFF

508KB

仅Cortex-A8可以存取

保留

0x4830 0000

0x48FF FFFF

13MB

保留

(1)这些区域在Cortex A8子系统内部译码,物理上不是L4的一部分,它们在这儿被包括,仅是为了当考虑Cortex A8内存映射的时候作为参考。对于除了Cortex A8外的Master,这些区域是保留的。

4.2  L4高速外设

L4高速外设总线存取L3里的高速外设IP配置寄存器。内存映射表如2-28

表2-28 L4高速外设内存映射

器件名称

起始地址

结束地址

尺寸

描述

L4高速配置

0x4A00 0000

0x4A00 07FF

2KB

地址/保护(AP)

0x4A00 0800

0x4A00 0FFF

2KB

连接代理(LA)

0x4A00 1000

0x4A00 13FF

1KB

Initiator端口(IP0)

0x4A00 1400

0x4A00 17FF

1KB

Initiator端口(IP1)

0x4A00 1800

0x4A00 1FFF

2KB

保留(IP2 - IP3)

保留

0x4A00 2000

0x4A07 FFFF

504KB

保留

保留

0x4A08 0000

0x4A0A 0FFF

132KB

保留

保留

0x4A0A 0000

0x4A0F FFFF

380KB

保留

EMAC0

0x4A10 0000

0x4A10 3FFF

16KB

外设寄存器

0x4A10 4000

0x4A10 4FFF

4KB

支持寄存器

保留

0x4A10 5000

0x4A11 FFFF

108KB

保留

EMAC1

0x4A12 0000

0x4A12 3FFF

16KB

外设寄存器

0x4A12 4000

0x4A12 4FFF

4KB

支持寄存器

保留

0x4A12 5000

0x4A13 FFFF

108KB

保留

SATA

0x4A14 0000

0x4A14 FFFF

64KB

外设寄存器

0x4A15 0000

0x4A15 0FFF

4KB

支持寄存器

保留

0x4A15 1000

0x4A17 FFFF

188KB

保留

保留

0x4A18 0000

0x4A19 FFFF

128KB

保留

0x4A1A 0000

0x4A1A 0FFF

4KB

保留

保留

0x4A1A 1000

0x4AFF FFFF

14716KB

保留

你可能感兴趣的:(DM8168的互连与内存映射)