703aaf3e4df119edc1b0aaaa572e8ec9f8dc4061
[barrelfish] / socs / omap44xx / cortexA9-subsystem.soc
1 /*
2  * Copyright (c) 2017, ETH Zurich. All rights reserved.
3  *
4  * This file is distributed under the terms in the attached LICENSE file.
5  * If you do not find this file, copies can be found by writing to:
6  * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich.
7  * Attn: Systems Group.
8  */
9
10 /**
11  * CortexA9 subsystem of TI OMAP4460 SoC
12  *
13  * This is derived from:
14  * OMAP4460 Multimedia Device Silicon Revision 1.x Technical Reference
15  * Manual Version Q
16  *
17  * Section 4
18  *
19  */
20
21 import cortex/cortexA9
22
23 module CortexA9-Subsystem {
24     input CPU_{[1..2]}/32
25     output L3/32, L4_ABE/20
26
27     ROM is memory accept [0x0-0xBFFF]
28
29     PL310 is device accept [0x0/12]
30     CORTEXA9_SOCKET_PRCM is device accept [0x0/9]
31     CORTEXA9_PRM is device accept [0x0/9]
32     CORTEXA9_CPU{[0..1]} are device accept [0x0/10]
33     CORTEXA9_WUGEN is device accept [0x0/12]
34     CMU is device accept [0x0/16]
35     Interconnect_config is device accept [0x0/12]
36     MA is device accept [0x0/12]
37
38     Interconnect is map [
39         0x40030000-0x4003BFFF to ROM
40         0x40100000/20 to L4_ABE
41         0x48242000/12 to PL310
42         0x48243000/9 to CORTEXA9_SOCKET_PRCM
43         0x48243200/9 to CORTEXA9_PRM
44         0x48243400/10 to CORTEXA9_CPU0
45         0x48243800/10 to CORTEXA9_CPU1
46         0x48281000/12 to CORTEXA9_WUGEN
47         0x48290000/16 to CMU
48         0x482A0000/12 to Interconnect_config
49         0x482AF000/12 to MA
50     ] over L3/32
51     
52
53     CortexA9-MPCore(2, 0x48240000) as MPU with
54         CPU_{c in [1..2]} > CPU_{c}
55         Interconnect < L2
56 }