Backport OMAP44xx spec changes from page-tables branch
[barrelfish] / socs / omap44xx.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  * Physical memory map for 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  */
18
19 /*
20  * 2.2 L3 Memory space mapping
21  */
22 /* Q0 */
23 SRAM is memory accept [0/30]
24
25 /* Q1 */
26 BOOT_ROM is memory accept [0-0xBFFF]
27 L3_OCM_RAM is memory accept [0-0xDFFF]
28
29 /* Q2 */
30 SDRAM is memory accept [0/30]
31
32 /* TODO: Tiler view */
33
34 L3 is map [
35         0x00000000/30 to SRAM at 0
36         /* 0x40000000-0x4002FFFF reserved */
37         0x40030000-0x4003BFFF to BOOT_ROM at 0
38         /* 0x4003C000-0x400FFFFF reserved */ //TRM: 0x40034000-0x400FFFFF?
39         /* 0x40100000/20 L4_ABE private access for Cortex A9
40         /* 0x40200000/20 reserved */
41         0x40300000-0x4030DFFF to L3_OCM_RAM at 0
42         /* 0x4030E000-0x43FFFFFF reserved */
43         0x44000000/26 to L3_config at 0
44         0x48000000/24 to L4_PER
45         0x49000000/24 to L4_ABE at 0
46         0x4A000000/24 to L4_CFG
47         /* 0x4B000000/24 reserved */
48         0x4C000000/24 to EMIF1 at 0
49         0x4D000000/24 to EMIF2 at 0
50         0x4E000000/25 to DMM at 0
51         0x50000000/25 to GPMC at 0
52         0x52000000/25 to ISS at 0
53         0x54000000/24 to L3_EMU at 0
54         0x55000000/24 to CORTEXM3
55         0x56000000/25 to SGX at 0
56         0x58000000/24 to Display at 0
57         /* 0x59000000/24 reserved */
58         // 0x5A000000/24 IVA-HD configuration
59         // 0x5B000000/24 IVA-HD SL2
60         /* 0x5C000000/26 reserved */
61         // 0x60000000/28 Tiler address mapping
62         0x80000000/30 to SDRAM at 0
63       ]
64
65 /*
66  * 2.2.1 L3_EMU Memory Space Mapping
67  */
68 L3_EMU is map [
69             0x54000000/20 to MIPI_STM_0 at 0
70             0x54100000/18 to MIPI_STM_1 at 0
71             0x54140000/13 to A9_CPU0_debug_PMU at 0
72             0x54142000/13 to A9_CPU1_debug_PMU at 0
73             /* 0x54144000/14 reserved */
74             0x54148000/12 to CTI0 at 0
75             0x54149000/12 to CTI1 at 0
76             /* 0x5414A000/13 reserved */
77             0x5414C000/12 to PTM0 at 0
78             0x5414D000/12 to PTM1 at 0
79             /* 0x5414E000/13 reserved */
80             0x54158000/12 to A9_CS-TF at 0
81             0x54159000/12 to DAP_PC at 0
82             /* 0x5415A000-0x5415EFFF reserved */
83             0x5416F000/12 to APB at 0
84             0x54160000/12 to DRM at 0
85             0x54161000/12 to MIPI_STM at 0
86             0x54162000/12 to CS-ETB at 0
87             0x54163000/12 to CS-TPIU at 0
88             0x54164000/12 to CS-TF at 0
89             /* 0x54165000/13 reserved */
90             // 0x54167000/12 Technology specific registers
91             /* 0x54168000-0x5417FFFF reserved */
92             // 0x54180000/12 Technology specific registers
93             /* 0x54181000-0x541FFFFF reserved */
94             // XXX: What about 0x54200000-0x54FFFFFF?
95           ]
96
97 /*
98  * 2.3.1 L4_CFG Memory Space Mapping
99  */
100 SAR_ROM is device accept [0/13]
101
102 L4_CFG is map [
103             0x4A000000/11 to CFG_AP at 0
104             0x4A000800/11 to CFG_LA at 0
105             0x4A001000/12 to CFG_IP0 at 0
106             0x4A002000/12 to SYSCTRL_GENERAL_CORE at 0
107             // 0x4A003000/12 L4 interconnect
108             0x4A004000/12 to CM1 at 0
109             // 0x4A005000/12 L4 interconnect
110             /* 0x4A006000/13 reserved
111             0x4A008000/13 to CM2 at 0
112             // 0x4A00A000/12 L4 interconnect
113             /* 0x4A00B000-0x4A055FFF reserved */
114             0x4A056000/12 to SDMA at 0
115             // 0x4A057000/12 L4 interconnect
116             0x4A058000/12 to HSI at 0
117             // 0x4A05C000/12 L4 interconnect
118             /* 0x4A05D000/12 reserved */
119             0x4A05E000/13 to SAR_ROM at 0
120             // 0x4A060000/12 L4 interconnect
121             /* 0x4A061000/12 reserved */
122             0x4A062000/12 to HSUSBTLL at 0
123             // 0x4A063000/12 L4 interconnect
124             0x4A064000/12 to HSUSBHOST at 0
125             // 0x4A065000/12 L4 interconnect
126             0x4A066000/12 to DSP at 0x01C20000
127             // 0x4A067000/12 L4 interconnect
128             /* 0x4A068000-0x4A0A8FFF reserved */
129             0x4A0A9000/12 to FSUSBHOST at 0
130             // 0x4A0AA000/12 L4 interconnect
131             0x4A0AB000/12 to HSUSBOTG at 0
132             // 0x4A0AC000/12 L4 interconnect
133             0x4A0AD000/12 to USBPHY at 0
134             // 0x4A0AE000/12 L4 interconnect
135             /* 0x4A0AF000-0x4A0D8FFF reserved */
136             0x4A0D9000/12 to SR_MPU at 0
137             // 0x4A0DA000/12 L4 interconnect
138             0x4A0DB000/12 to SR_IVA at 0
139             // 0x4A0DC000/12 L4 interconnect
140             0x4A0DD000/12 to SR_CORE at 0
141             // 0x4A0DE000/12 L4 interconnect
142             /* 0x4A0DF000-0x4A0F3FFF reserved */
143             0x4A0F4000/12 to System_Mailbox at 0
144             // 0x4A0F5000/12 L4 interconnect
145             0x4A0F6000/12 to Spinlock at 0
146             // 0x4A0F7000/12 L4 interconnect
147             /* 0x4A0F8000/15 reserved */
148             0x4A100000/12 to SYSCTRL_PADCONF_CORE at 0
149             // 0x4A101000/12 L4 interconnect
150             0x4A102000/12 to OCP-WP at 0
151             // 0x4A103000/12 L4 interconnect
152             /* 0x4A104000-0x4A109FFF reserved */
153             0x4A10A000/12 to FDIF at 0
154             // 0x4A10B000/12 L4 interconnect
155             /* 0x4A10C000-0x4A203FFF reserved */
156             0x4A204000/12 to C2C_INIT_firewall at 0
157             // 0x4A205000/12 L4 interconnect
158             0x4A206000/12 to C2C_TARGET_firewall at 0
159             // 0x4A207000/12 L4 interconnect
160             /* 0x4A208000/13 reserved */
161             0x4A20A000/12 to MA_firewall at 0
162             // 0x4A20B000/12 L4 interconnect
163             0x4A20C000/12 to EMIF_firewall at 0
164             // 0x4A20D000/12 L4 interconnect
165             /* 0x4A20E000/13 reserved */
166             0x4A210000/12 to GPMC_firewall at 0
167             // 0x4A211000/12 L4 interconnect
168             0x4A212000/12 to L3_OCMC_RAM_firewall at 0
169             // 0x4A213000/12 L4 interconnect
170             0x4A214000/12 to SGX_firewall at 0
171             // 0x4A215000/12 L4 interconnect
172             0x4A216000/12 to ISS_firewall at 0
173             // 0x4A217000/12 L4 interconnect
174             0x4A218000/12 to M3_firewall at 0
175             // 0x4A219000/12 L4 interconnect
176             /* 0x4A21A000/13 reserved */
177             0x4A21C000/12 to DSS_firewall at 0
178             // 0x4A21D000/12 L4 interconnect
179             0x4A21E000/12 to SL2_firewall at 0
180             // 0x4A21F000/12 L4 interconnect
181             0x4A220000/12 to IVA-HD_firewall at 0
182             // 0x4A221000/12 L4 interconnect
183             /* 0x4A222000/14 reserved */
184             0x4A226000/12 to L4-EMU_firewall at 0
185             // 0x4A227000/12 L4 interconnect
186             0x4A228000/12 to L4-ABE_firewall at 0
187             // 0x4A229000/12 L4 interconnect
188             /* 0x4A22A000-0x4A2FFFFF reserved */
189             0x4A300000/18 to L4_WKUP
190             // 0x4A340000/12 L4 interconnect
191             /* 0x4A341000-0x4AFFFFFF reserved */
192           ]
193
194
195 /*
196  * 2.3.2 L4_WKUP Memory Space Mapping
197  */
198 SAR_RAM1 is memory accept [0/12]
199 SAR_RAM2 is memory accept [0/10]
200 SAR_RAM3 is memory accept [0/11]
201 SAR_RAM4 is memory accept [0/10]
202
203 L4_WKUP is map [
204                 0x4A300000/11 to WKUP_AP at 0
205                 0x4A300800/11 to WKUP_LA at 0
206                 0x4A301000/12 to WKUP_IP0 at 0
207                 /* 0x4A302000/13 reserved */
208                 0x4A304000/12 to S32KTIMER at 0
209                 // 0x4A305000/12 L4 interconnect
210                 0x4A306000/13 to PRM at 0
211                 // 0x4A308000/12 L4 interconnect
212                 /* 0x4A309000/12 reserved */
213                 0x4A30A000/12 to SCRM at 0
214                 // 0x4A30B000/12 L4 interconnect
215                 0x4A30C000/12 to SYSCTRL_GENERAL_WKUP at 0
216                 // 0x4A30D000/12 L4 interconnect
217                 /* 0x4A30E000/13 reserved */
218                 0x4A310000/12 to GPIO1 at 0
219                 // 0x4A311000/12 L4 interconnect
220                 /* 0x4A312000/13 reserved */
221                 0x4A314000/12 to WDTIMER2 at 0
222                 // 0x4A315000/12 L4 interconnect
223                 /* 0x4A316000/13 reserved */
224                 0x4A318000/12 to GPTIMER1 at 0
225                 // 0x4A319000/12 L4 interconnect
226                 /* 0x4A31A000/13 reserved (XXX: 'Module - Address space 0'?) */
227                 0x4A31C000/12 to Keyboard at 0
228                 // 0x4A31D000/12 L4 interconnect
229                 0x4A31E000/12 to SYSCTRL_PADCONF_WKUP at 0
230                 // 0x4A31F000/12 L4 interconnect
231                 /* 0x4A320000-0x4A325FFF reserved */
232                 0x4A326000/12 to SAR_RAM1 at 0
233                 0x4A327000/10 to SAR_RAM2 at 0
234                 /* 0x4A327400-0x4A327FFF reserved */
235                 0x4A328000/11 to SAR_RAM3 at 0
236                 /* 0x4A328800-0x4A328FFF reserved */
237                 0x4A329000/10 to SAR_RAM4 at 0
238                 /* 0x4A329400-0x4A329FFF reserved */
239                 // 0x4A32A000/12 L4 interconnect
240                 /* 0x4A32B000-0x4A33FFFF reserved */
241            ]
242
243 /*
244  * 2.3.3 L4_PER Memory Space Mapping
245  */
246 L4_PER is map [
247             0x48000000/11 to PER_AP at 0
248             0x48000800/11 to PER_LA at 0
249             0x48001000/10 to PER_IP0 at 0
250             0x48001400/10 to PER_IP1 at 0
251             0x48001800/10 to PER_IP2 at 0
252             0x48001C00/10 to PER_IP3 at 0
253             /* 0x48002000-0x4801FFFF reserved */
254             0x48020000/12 to UART3 at 0
255             // 0x48021000/12 L4 interconnect
256             /* 0x48022000/16 reserved */
257             0x48032000/12 to GPTIMER2 at 0
258             // 0x48033000/12 L4 interconnect
259             0x48034000/12 to GPTIMER3 at 0
260             // 0x48035000/12 L4 interconnect
261             0x48036000/12 to GPTIMER4 at 0
262             // 0x48037000/12 L4 interconnect
263             /* 0x48038000-0x4803DFFF reserved */
264             0x4803E000/12 to GPTIMER9 at 0
265             // 0x4803F000/12 L4 interconnect
266             0x48040000/16 to Display at 0
267             // 0x48050000/12 L4 interconnect
268             /* 0x48051000/14 reserved */
269             0x48055000/12 to GPIO2 at 0
270             // 0x48056000/12 L4 interconnect
271             0x48057000/12 to GPIO3 at 0
272             // 0x48058000/12 L4 interconnect
273             0x48059000/12 to GPIO4 at 0
274             // 0x4805A000/12 L4 interconnect
275             0x4805B000/12 to GPIO5 at 0
276             // 0x4805C000/12 L4 interconnect
277             0x4805D000/12 to GPIO6 at 0
278             // 0x4805E000/12 L4 interconnect
279             /* 0x4805F000/12 reserved */
280             0x48060000/12 to I2C3 at 0
281             // 0x48061000/12 L4 interconnect
282             /* 0x48062000/15 reserved */
283             0x4806A000/12 to UART1 at 0
284             // 0x4806B000/12 L4 interconnect
285             0x4806C000/12 to UART2 at 0
286             // 0x4806D000/12 L4 interconnect
287             0x4806E000/12 to UART4 at 0
288             // 0x4806F000/12 L4 interconnect
289             0x48070000/12 to I2C1 at 0
290             // 0x48071000/12 L4 interconnect
291             0x48072000/12 to I2C2 at 0
292             // 0x48073000/12 L4 interconnect
293             /* 0x48074000/13 reserved */
294             0x48076000/12 to SLIMBUS2
295             // 0x48077000/12 L4 interconnect
296             0x48078000/12 to ELM at 0
297             // 0x48079000/12 L4 interconnect
298             /* 0x4807A000-0x48085FFF reserved */
299             0x48086000/12 to GPTIMER10 at 0
300             // 0x48087000/12 L4 interconnect
301             0x48088000/12 to GPTIMER11 at 0
302             // 0x48089000/12 L4 interconnect
303             /* 0x4808A000-0x48095FFF reserved */
304             0x48096000/12 to McBSP4 at 0
305             // 0x48097000/12 L4 interconnect
306             0x48098000/12 to McSPI1 at 0
307             // 0x48099000/12 L4 interconnect
308             0x4809A000/12 to McSPI2 at 0
309             // 0x4809B000/12 L4 interconnect
310             0x4809C000/12 to HSMMC1 at 0
311             // 0x4809D000/12 L4 interconnect
312             /* 0x4809E000-0x480ACFFF reserved */
313             0x480AD000/12 to MMC_SD3 at 0
314             // 0x480AE000/12 L4 interconnect
315             /* 0x480AF000-0x480B1FFF reserved */
316             0x480B2000/12 to HDQ at 0
317             // 0x480B3000/12 L4 interconnect
318             0x480B4000/12 to HSMMC2 at 0
319             // 0x480B5000/12 L4 interconnect
320             /* 0x480B6000/13 reserved */
321             0x480B8000/12 to McSPI3 at 0
322             // 0x480B9000/12 L4 interconnect
323             0x480BA000/12 to McSPI4 at 0
324             // 0x480BB000/12 L4 interconnect
325             /* 0x480BC000-0x480D0FFF reserved */
326             0x480D1000/12 to MMC_SD4 at 0
327             // 0x480D2000/12 L4 interconnect
328             /* 0x480D3000/13 reserved */
329             0x480D5000/12 to MMC_SD5 at 0
330             // 0x480D6000/12 L4 interconnect
331             /* 0x480D7000-0x4834FFFF reserved */
332             0x48350000/12 to I2C4 at 0
333             // 0x48351000/12 L4 interconnect
334             /* 0x48352000-0x48FFFFFF reserved */
335           ]
336
337 /*
338  * 2.3.4 L4_ABE Memory Space Mapping
339  */
340 DMEM
341 CMEM
342 SMEM are memory accept [0/16]
343
344 L4_ABE is accept [0x00000/14] // XXX: First 16KB do what?
345           map [
346             /* 0x04000-0x021FFF reserved */
347             0x22000/12 to McBSP1 at 0
348             // 0x23000/12 L4 interconnect
349             0x24000/12 to McBSP2 at 0
350             // 0x25000/12 L4 interconnect
351             0x26000/12 to McBSP3 at 0
352             // 0x27000/12 L4 interconnect
353             0x28000/12 to McASP at 0
354             // 0x29000/12 L4 interconnect
355             0x2A000/12 to McASP_DATA at 0
356             // 0x2B000/12 L4 interconnect
357             0x2C000/12 to SLIMBUS1 at 0
358             // 0x2D000/12 L4 interconnect
359             0x2E000/12 to DMIC at 0
360             // 0x2F000/12 L4 interconnect
361             0x30000/12 to WDTIMER3 at 0
362             // 0x31000/12 L4 interconnect
363             0x32000/12 to McPDM at 0
364             // 0x33000/12 L4 interconnect
365             /* 0x34000/14 reserved */
366             0x38000/12 to GPTIMER5 at 0
367             // 0x39000/12 L4 interconnect
368             0x3A000/12 to GPTIMER6 at 0
369             // 0x3B000/12 L4 interconnect
370             0x3C000/12 to GPTIMER7 at 0
371             // 0x3D000/12 L4 interconnect
372             0x3E000/12 to GPTIMER8 at 0
373             // 0x3F000/12 L4 interconnect
374             /* 0x40000/18 reserved */
375             0x80000/16 to DMEM at 0
376             // 0x90000/12 L4 interconnect
377             /* 0x91000-0x9FFFF reserved */
378             0xA0000/16 to CMEM at 0
379             // 0xB0000/12 L4 interconnect
380             /* 0xB1000-0xBFFFF reserved */
381             0xC0000/16 to SMEM at 0
382             // 0xD0000/12 L4 interconnect
383             /* 0xD1000/17 reserved */
384             0xF1000/12 to AESS at 0
385             // 0xF2000/12 L4 interconnect
386             /* 0xF3000-0xFFFFF reserved */
387           ]
388
389 /*
390  * Cortex A9 Memory Space Mapping
391  */
392 CORTEXA9 is map [
393         0x40100000/20 to L4_ABE at 0
394         0x48240000/13 to PERIPHBASE at 0
395         0x48242000/12 to PL310 at 0
396         0x48243000/9 to CORTEXA9_SOCKET_PRCM at 0
397         0x48243200/9 to CORTEXA9_PRM at 0
398         0x48243400/10 to CORTEXA9_CPU0 at 0
399         0x48243800/10 to CORTEXA9_CPU1 at 0
400         0x48281000/12 to CORTEXA9_WUGEN at 0
401         0x48290000/16 to CMU at 0
402         0x482A0000/12 to Local_interconnect at 0
403         0x482AF000/12 to MA at 0
404     ] over L3
405
406 /*
407  * 2.4 Dual Cortex-M3 Subsystem Memory Space Mapping
408  */
409 CORTEXM3_ROM is memory accept [0/14]
410 CORTEXM3_RAM is memory accept [0/16]
411
412 // TODO: address space not accessible from L3
413 CORTEXM3 is map [
414                     0x00000000-0x54FFFFFF to L3
415                     0x55000000/14 to CORTEXM3_ROM at 0
416                     0x55020000/16 to CORTEXM3_RAM at 0
417                     /* 0x55030000/16 reserved */
418                     0x55040000/18 to ISS at 0x10000 // XXX: Not accessible from L3?
419                     0x55080000/12 to M3_MMU
420                     0x55081000/12 to M3_WUGEN
421                     /* 0x55082000-0x55FFFFFF reserved */
422                     0x56000000/25 to L3
423                 ]
424
425 /*
426  * 2.5 DSP Subsystem Memory Space Mapping
427  */
428  // TODO: address space not accessible from L4_CFG
429  DSP is map [
430             0x01C20000/12 to SYSC
431         ]
432
433 /*
434  * 2.6 Display Subsystem Memory Space Mapping
435  */
436 Display is map [
437                 // 0x0000/12 Display subsystem registers
438                 0x1000/12 to DISPC
439                 0x2000/12 to RFBI
440                 0x3000/12 to VENC
441                 0x4000/12 to DSI1
442                 0x5000/12 to DSI2
443                 0x6000/12 to HDMI
444                 0x7000/12 to HDCP
445            ]
446
447 /*
448  * 3 Power, Reset and Clock Management
449  */
450 /*
451 /* 3.11.1 PRM Instance Summary */
452 INTRCONN_SOCKET_PRM is device accept [0/8]
453 CKGEN_PRM is device accept [0/8]
454 MPU_PRM is device accept [0/8]
455 DSP_PRM is device accept [0/8]
456 ABE_PRM is device accept [0/8]
457 ALWAYS_ON_PRM is device accept [0/8]
458 CORE_PRM is device accept [0/11]
459 IVAHD_PRM is device accept [0/8]
460 CAM_PRM is device accept [0/8]
461 DSS_PRM is device accept [0/8]
462 SGX_PRM is device accept [0/8]
463 L3INIT_PRM is device accept [0/8]
464 L4PER_PRM is device accept [0/9]
465 WKUP_PRM is device accept [0/8]
466 WKUP_CM is device accept [0/8]
467 EMU_PRM is device accept [0/8]
468 EMU_CM is device accept [0/8]
469 DEVICE_PRM is device accept [0/8]
470 INSTR_PRM is device accept [0/8]
471 PRM is map [
472             0x0000/8 to INTRCONN_SOCKET_PRM at 0
473             0x0100/8 to CKGEN_PRM at 0
474             0x0300/8 to MPU_PRM at 0
475             0x0400/8 to DSP_PRM at 0
476             0x0500/8 to ABE_PRM at 0
477             0x0600/8 to ALWAYS_ON_PRM at 0
478             0x0700/11 to CORE_PRM at 0
479             0x0F00/8 to IVAHD_PRM at 0
480             0x1000/8 to CAM_PRM at 0
481             0x1100/8 to DSS_PRM at 0
482             0x1200/8 to SGX_PRM at 0
483             0x1300/8 to L3INIT_PRM at 0
484             0x1400/9 to L4PER_PRM at 0
485             0x1700/8 to WKUP_PRM at 0
486             0x1800/8 to WKUP_CM at 0
487             0x1900/8 to EMU_PRM at 0
488             0x1A00/8 to EMU_CM at 0
489             0x1B00/8 to DEVICE_PRM at 0
490             0x1F00/8 to INSTR_PRM at 0
491        ]
492
493 /* 3.11.21 CM1 Instance Summary */
494 INTERCONN_SOCKET_CM1 is device accept [0/8]
495 CKGEN_CM1 is device accept [0/9]
496 CM1 is map [
497         0x000/8 to INTERCONN_SOCKET_CM1 at 0
498         0x100/9 to CKGEN_CM1 at 0
499        ]
500
501 /* 3.11.29 CM2 Instance Summary */
502 INTRCONN_SOCKET_CM2 is device accept [0/8]
503 CKGEN_CM2 is device accept [0/8]
504 ALWAYS_ON_CM2 is device accept [0/8]
505 CORE_CM2 is device accept [0/11]
506 IVAHD_CM2 is device accept [0/8]
507 CAM_CM2 is device accept [0/8]
508 DSS_CM2 is device accept [0/8]
509 SGX_CM2 is device accept [0/8]
510 L3INIT_CM2 is device accept [0/8]
511 L4PER_CM2 is device accept [0/9]
512 RESTORE_CM2 is device accept [0/8]
513 INSTR_CM2 is device accept [0/8]
514 CM2 is map [
515         0x0000/8 to INTRCONN_SOCKET_CM2 at 0
516         0x0100/8 to CKGEN_CM2 at 0
517         0x0600/8 to ALWAYS_ON_CM2 at 0
518         0x0700/11 to CORE_CM2 at 0
519         0x0F00/8 to IVAHD_CM2 at 0
520         0x1000/8 to CAM_CM2 at 0
521         0x1200/8 to SGX_CM2 at 0
522         0x1300/8 to L3INIT_CM2 at 0
523         0x1400/9 to L4PER_CM2 at 0
524         0x1E00/8 to RESTORE_CM2 at 0
525         0x1F00/8 to INSTR_CM2 at 0
526        ]
527
528 /* 3.12 SCRM Register Manual */
529 SCRM is device accept [0/12]
530
531 /* 3.13 SR Register Manual */
532 SR_MPU is device accept [0/8]
533 SR_IVA is device accept [0/8]
534 SR_CORE is device accept [0/8]
535
536 /*
537  * 4 Dual Cortex-A9 MPU Subsystem
538  */
539 SCU is device accept [0x00-0xFC]
540 GIC_PROC is device accept [0/8]
541 Global_Timer is device accept [0/8]
542 Timer is device accept [0/8]
543 GIC_DIST is device accept [0/12]
544 PL310 is device accept [0/12]
545 CORTEXA9_SOCKET_PRCM is device accept [0/9]
546 CORTEXA9_PRM is device accept [0/9]
547 CORTEXA9_CPU0
548 CORTEXA9_CPU1 are device accept [0/10]
549 CORTEXA9_WUGEN is device accept [0/12]
550 CMU is device accept [0/16]
551 Local_interconnect is device accept [0/12]
552 MA is device accept [0/12]
553
554 PERIPHBASE is map [
555                 0x0000/8 to SCU at 0
556                 0x0100/8 to GIC_PROC at 0
557                 0x0200/9 to Global_Timer at 0
558                 0x0600/8 to Timer at 0
559                 0x1000/12 to GIC_DIST at 0
560               ]
561
562 /*
563  * 5 DSP Subsystem
564  */
565 SYS_INTC is device accept [0/16]
566 SYS_PD is device accept [0/16]
567 EDM is device accept [0/12]
568 TPCC is device accept [0/16]
569 TPTC0
570 TPTC1 are device accept [0/10]
571 SYSC is device accept [0/12]
572 WUGEN is device accept [0/12]
573 L1_SCACHE
574 L2_SCACHE are device accept [0/8]
575 SCACHE_SCTM is device accept [0/9]
576 SCACHE_MMU is device accept [0/11]
577
578 /*
579  * 6 IVA-HD Subsystem
580  */
581 SYSCTRL is device accept [0/10]
582
583 /*
584  * 7 Dual Cortex-M3 MPU Subsystem
585  */
586 M3_WUGEN is device accept [0/12]
587
588 /*
589  * 8 Imaging Subsystem
590  */
591 ISS_TOP is device accept [0/8]
592 ISP5 is device accept [0/16]
593 SIMCOP is device accept [0/17]
594 ISS is map [
595             0x00000/8 to ISS_TOP
596             // TODO: Interfaces
597             0x10000/17 to ISP5 at 0
598             0x20000/17 to SIMCOP at 0
599           ]
600
601 /*
602  * 9 Face Detect
603  */
604 FDIF is device accept [0/12]
605
606 /*
607  * 10 Display Subsystem
608  */
609 DISPC
610 RFBI
611 VENC
612 DSI1
613 DSI2
614 HDMI
615 HDCP are device accept [0/12]
616
617 /*
618  * 11 2D/3D Graphics Accelerator
619  */
620 SGX is device accept [0/25]
621
622 /*
623  * 12 Audio Backend
624  */
625 AESS is device accept [0/12]
626
627 /*
628  * 13 Interconnect
629  */
630 /* 13.2 L3 Interconnect */
631 L3_config is device accept [0/26]
632 C2C_INIT_firewall is device accept [0/12] // not in TRM, from omap44xx_map.h
633 C2C_TARGET_firewall is device accept [0/12] // not in TRM, from omap44xx_map.h
634 MA_firewall is device accept[0/12]
635 EMIF_firewall is device accept [0/12]
636 GPMC_firewall is device accept [0/12]
637 L3_OCMC_RAM_firewall is device accept [0/12]
638 SGX_firewall is device accept [0/12]
639 ISS_firewall is device accept [0/12]
640 M3_firewall is device accept [0/12]
641 DSS_firewall is device accept [0/12]
642 SL2_firewall is device accept [0/12]
643 IVA-HD_firewall is device accept [0/12]
644 L4-EMU_firewall is device accept [0/12]
645 L4-ABE_firewall is device accept [0/12]
646
647 /* 13.3 L4 Interconnects */
648 PER_AP is device accept [0/11]
649 PER_LA is device accept [0/11]
650 PER_IP0 is device accept [0/10]
651 PER_IP1 is device accept [0/10]
652 PER_IP2 is device accept [0/10]
653 PER_IP3 is device accept [0/10]
654
655 CFG_AP is device accept [0/11]
656 CFG_LA is device accept [0/11]
657 CFG_IP0 is device accept [0/12]
658
659 WKUP_AP is device accept [0/11]
660 WKUP_LA is device accept [0/11]
661 WKUP_IP0 is device accept [0/12]
662
663 /*
664  * 15 Memory Subsystem
665  */
666 DMM is device accept [0/25]
667 EMIF1
668 EMIF2 are device accept [0x4D000000/24]
669 GPMC is device accept [0/25]
670 ELM is device accept [0x48078000/12]
671
672 /*
673  * 16 SDMA
674  */
675 SDMA is device accept [0/12]
676
677 /*
678  * 17 Interrupt Controllers
679  */
680 // TODO
681
682 /*
683  * 18 Control Module
684  */
685 SYSCTRL_GENERAL_CORE
686 SYSCTRL_GENERAL_WKUP
687 SYSCTRL_PADCONF_CORE
688 SYSCTRL_PADCONF_WKUP are device accept [0/12]
689
690
691 /*
692  * 19 Mailbox
693  */
694 System_Mailbox
695 IVAHD_Mailbox are device accept[0/12]
696
697 /*
698  * 20 Memory Management Units
699  */
700 M3_MMU
701 DSP_MMU are device accept [0/12]
702
703 /*
704  * 21 Spinlock
705  */
706 Spinlock is device accept [0/12]
707
708 /*
709  * 22 Timers
710  */
711 /* 22.2 General Purpose Timers */
712 GPTIMER1
713 GPTIMER2
714 GPTIMER3
715 GPTIMER4
716 GPTIMER5
717 GPTIMER6
718 GPTIMER7
719 GPTIMER8
720 GPTIMER9
721 GPTIMER10
722 GPTIMER11 are device accept [0/12]
723
724 /* 22.3 Watchdog Timers */
725 WDTIMER2
726 WDTIMER3 are device accept [0/12]
727
728 /* 22.4 32-KHz Synchronized Timer */
729 S32KTIMER is device accept [0/12]
730
731 /*
732  * 23 Serial Communication Interface
733  */
734
735 /* 23.1 Multimaster High-Speed I2C Controller */
736 I2C1
737 I2C2
738 I2C3
739 I2C4 are device accept [0/8]
740
741 /* 23.2 HDQ/1-Wire */
742 HDQ is device accept [0/12]
743
744 /* 23.3.1 UART/IrDA/CIR */
745 UART1
746 UART2
747 UART3
748 UART4 are device accept [0/10]
749
750 /* 23.4 Mulitchannel Serial Port Interface */
751 McSPI1
752 McSPI2
753 McSPI3
754 McSPI4 are device accept [0/12]
755
756 /* 23.5 Multichannel Buffered Serial Port */
757 McBSP1
758 McBSP2
759 McBSP3
760 McBSP4 are device accept [0/12]
761
762 /* 23.6 Multichannel PDM Controller */
763 McPDM is device accept [0/12]
764
765 /* 23.7 Digital Microphone Module */
766 DMIC is device accept [0/12]
767
768 /* 23.8 Multichannel Audio Serial Port */
769 McASP is device accept [0/12]
770 McASP_DATA is device accept [0/12]
771
772 /* 23.9 Serial Low-Power Inter-Chip Media Bus Controller */
773 SLIMBUS1
774 SLIMBUS2 are device accept [0/12]
775
776 /* 23.10 MIPI-HSI */
777 HSI_TOP is device accept [0-0x1400]
778 HSI_DMA_CHANNELS is device accept [0/10]
779 HSI_PORTS is device accept [0/13]
780
781 HSI is map [
782         0x0000-0x1400 to HSI_TOP
783         0x1800/10 to HSI_DMA_CHANNELS
784         0x000/13 to HSI_PORTS
785        ]
786
787 /* 23.11 High-Speed Multiport USB Host Subsystem */
788 HSUSBTLL is device accept [0/12]
789 HSUSBHOST is device accept [0/12]
790
791 /* 23.12 High-Speed USB OTG Controller */
792 HSUSBOTG is device accept [0/12]
793 USBPHY is device accept [0/12]
794
795 /* 23.13 Full-speed USB Host Controller */
796 FSUSBHOST is device accept[0/12]
797
798 /*
799  * 24 MMC/SD/SDIO
800  */
801 HSMMC1
802 HSMMC2
803 MMC_SD3
804 MMC_SD4
805 MMC_SD5 are device accept [0/12]
806
807 /*
808  * 25 General Purpose Interface
809  */
810 GPIO1
811 GPIO2
812 GPIO3
813 GPIO4
814 GPIO5
815 GPIO6 are device accept [0/12]
816
817 /*
818  * 26 Keyboard Controller
819  */
820 Keyboard is device accept [0/12]
821
822 /*
823  * 28.10 On-Chip Debug Support Memory Mapping
824  */
825 MIPI_STM_0 is device accept [0/20]
826 MIPI_STM_1 is device accept [0/18]
827 A9_CPU0_debug_PMU is device accept [0/13]
828 A9_CPU1_debug_PMU is device accept [0/13]
829 CTI0 is device accept [0/12]
830 CTI1 is device accept [0/12]
831 PTM0 is device accept [0/12]
832 PTM1 is device accept [0/12]
833 A9_CS-TF is device accept [0/12]
834 DAP_PC is device accept [0/12]
835 APB is device accept [0/12]
836 DRM is device accept [0/12]
837 MIPI_STM is device accept [0/12]
838 CS-ETB is device accept [0/12]
839 CS-TPIU is device accept [0/12]
840 CS-TF is device accept [0/12]
841
842 OCP-WP is device accept [0/12]
843
844 PMI is device accept [0/8]