]> git.sur5r.net Git - freertos/blob
ad5686a241c1e21845a1804178bfcb8832eaffac
[freertos] /
1 /******************************************************************************
2 *
3 * Copyright (C) 2014 Xilinx, Inc. All rights reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * Use of the Software is limited solely to applications:
16 * (a) running on a Xilinx device, or
17 * (b) that interact with a Xilinx device through a bus or interconnect.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 * XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
24 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 * SOFTWARE.
26 *
27 * Except as contained in this notice, the name of the Xilinx shall not be used
28 * in advertising or otherwise to promote the sale, use or other dealings in
29 * this Software without prior written authorization from Xilinx.
30 *
31 ******************************************************************************/
32 /*****************************************************************************/
33 /**
34 * @file translation_table.s
35 *
36 * This file contains the initialization for the MMU table in RAM
37 * needed by the Cortex A53 processor
38 *
39 * <pre>
40 * MODIFICATION HISTORY:
41 *
42 * Ver   Who  Date     Changes
43 * ----- ---- -------- ---------------------------------------------------
44 * 5.00  pkp  05/21/14 Initial version
45 *
46 *
47 * @note
48 *
49 * None.
50 *
51 ******************************************************************************/
52         .globl  MMUTableL0
53         .globl  MMUTableL1
54         .globl  MMUTableL2
55
56         .set reserved,  0x0                                     /* Fault*/
57         .set Memory,    0x405 | (3 << 8) | (0x0)                /* normal writeback write allocate inner shared read write */
58         .set Device,    0x409 | (1 << 53)| (1 << 54) |(0x0)     /* strongly ordered read write non executable*/
59         .section .mmu_tbl0,"a"
60
61 MMUTableL0:
62
63 .set SECT, MMUTableL1
64 .8byte  SECT + 0x3
65 .set SECT, MMUTableL1+0x1000
66 .8byte  SECT + 0x3
67
68         .section .mmu_tbl1,"a"
69
70 MMUTableL1:
71
72 .set SECT, MMUTableL2                   /*1GB DDR*/
73 .8byte  SECT + 0x3
74
75 .rept   0x3                             /*1GB DDR, 1GB PL, 2GB other devices n memory*/
76 .set SECT, SECT + 0x1000
77 .8byte  SECT + 0x3
78 .endr
79
80 .set SECT,0x100000000
81 .rept   0xC
82 .8byte  SECT + reserved
83 .set SECT, SECT + 0x40000000    /*12GB Reserved*/
84 .endr
85
86 .rept   0x10
87 .8byte  SECT + Device
88 .set SECT, SECT + 0x40000000    /*8GB PL, 8GB PCIe*/
89
90 .endr
91
92 .rept   0x20
93 .8byte  SECT + Memory
94
95 .set SECT, SECT + 0x40000000    /*32GB DDR*/
96 .endr
97
98
99 .rept   0xC0
100 .8byte  SECT + Device
101 .set SECT, SECT + 0x40000000    /*192GB PL*/
102 .endr
103
104
105 .rept   0x100
106 .8byte  SECT + Device
107 .set SECT, SECT + 0x40000000    /*256GB PL/PCIe*/
108 .endr
109
110
111 .rept   0x200
112 .8byte  SECT + Device
113 .set SECT, SECT + 0x40000000    /*512GB PL/DDR*/
114 .endr
115
116
117 .section .mmu_tbl2,"a"
118
119 MMUTableL2:
120
121 .set SECT, 0
122
123 .rept   0x0400                  /*2GB DDR */
124 .8byte  SECT + Memory
125 .set    SECT, SECT+0x200000
126 .endr
127
128 .rept   0x0200                  /*1GB lower PL*/
129 .8byte  SECT + Device
130 .set    SECT, SECT+0x200000
131 .endr
132 .rept   0x0100                  /*512MB QSPI*/
133 .8byte  SECT + Device
134 .set    SECT, SECT+0x200000
135 .endr
136 .rept   0x080                   /*256MB lower PCIe*/
137 .8byte  SECT + Device
138 .set    SECT, SECT+0x200000
139 .endr
140 .rept   0x040                   /*128MB Reserved*/
141 .8byte  SECT + reserved
142 .set    SECT, SECT+0x200000
143 .endr
144 .rept   0x8                     /*16MB coresight*/
145 .8byte  SECT + Device
146 .set    SECT, SECT+0x200000
147 .endr
148 .rept   0x8                     /*16MB RPU low latency port*/
149 .8byte  SECT + Device
150 .set    SECT, SECT+0x200000
151 .endr
152
153 .rept   0x022                   /*68MB Device*/
154 .8byte  SECT + Device
155 .set    SECT, SECT+0x200000
156 .endr
157 .rept   0x8                     /*8MB FPS*/
158 .8byte  SECT + Device
159 .set    SECT, SECT+0x200000
160 .endr
161
162 .rept   0x4                     /*16MB LPS*/
163 .8byte  SECT + Device
164 .set    SECT, SECT+0x200000
165 .endr
166
167 .8byte  SECT + Device           /*2MB PMU/CSU */
168 .set    SECT, SECT+0x200000
169 .8byte  SECT + Memory           /*2MB OCM/TCM*/
170 .end