initial release
[apps/tidep0074.git] / ipu2 / IpuAmmu.cfg
1 /*
2  * Copyright (c) 2012-2013, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * *  Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
12  * *  Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * *  Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
33 /* -------------------------------- Cache ----------------------------------*/
34 var Cache = xdc.useModule('ti.sysbios.hal.unicache.Cache');
35 Cache.enableCache = true;
37 /* -------------------------------- AMMU -----------------------------------*/
38 var AMMU = xdc.useModule('ti.sysbios.hal.ammu.AMMU');
39 /*********************** Small Pages *************************/
40 /* smallPages[0] & smallPages[1] are auto-programmed by h/w */
42 /* Overwrite smallPage[1] so that 16K is covered. H/w reset value configures
43  * only 4K */
44 AMMU.smallPages[1].pageEnabled = AMMU.Enable_YES;
45 AMMU.smallPages[1].logicalAddress = 0x40000000;
46 AMMU.smallPages[1].translatedAddress = 0x55080000;
47 AMMU.smallPages[1].translationEnabled = AMMU.Enable_YES;
48 AMMU.smallPages[1].size = AMMU.Small_16K;
50 /* L2RAM: 64K mapped using 4 smallPages(16K); cacheable; translated */
51 /* config small page[2] to map 16K VA 0x20000000 to PA 0x55020000  */
52 AMMU.smallPages[2].pageEnabled = AMMU.Enable_YES;
53 AMMU.smallPages[2].logicalAddress = 0x20000000;
54 AMMU.smallPages[2].translatedAddress = 0x55020000;
55 AMMU.smallPages[2].translationEnabled = AMMU.Enable_YES;
56 AMMU.smallPages[2].L1_writePolicy = AMMU.WritePolicy_WRITE_BACK;
57 AMMU.smallPages[2].L1_allocate = AMMU.AllocatePolicy_ALLOCATE;
58 AMMU.smallPages[2].L1_posted = AMMU.PostedPolicy_POSTED;
59 AMMU.smallPages[2].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
60 AMMU.smallPages[2].size = AMMU.Small_16K;
62 /* config small page[3] to map 16K VA 0x20004000 to PA 0x55024000 */
63 AMMU.smallPages[3].pageEnabled = AMMU.Enable_YES;
64 AMMU.smallPages[3].logicalAddress = 0x20004000;
65 AMMU.smallPages[3].translatedAddress = 0x55024000;
66 AMMU.smallPages[3].translationEnabled = AMMU.Enable_YES;
67 AMMU.smallPages[3].L1_writePolicy = AMMU.WritePolicy_WRITE_BACK;
68 AMMU.smallPages[3].L1_allocate = AMMU.AllocatePolicy_ALLOCATE;
69 AMMU.smallPages[3].L1_posted = AMMU.PostedPolicy_POSTED;
70 AMMU.smallPages[3].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
71 AMMU.smallPages[3].size = AMMU.Small_16K;
73 /* config small page[4] to map 16K VA 0x20008000 to PA 0x55028000 */
74 AMMU.smallPages[4].pageEnabled = AMMU.Enable_YES;
75 AMMU.smallPages[4].logicalAddress = 0x20008000;
76 AMMU.smallPages[4].translatedAddress = 0x55028000;
77 AMMU.smallPages[4].translationEnabled = AMMU.Enable_YES;
78 AMMU.smallPages[4].L1_writePolicy = AMMU.WritePolicy_WRITE_BACK;
79 AMMU.smallPages[4].L1_allocate = AMMU.AllocatePolicy_ALLOCATE;
80 AMMU.smallPages[4].L1_posted = AMMU.PostedPolicy_POSTED;
81 AMMU.smallPages[4].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
82 AMMU.smallPages[4].size = AMMU.Small_16K;
84 /* config small page[5] to map 16K VA 0x2000C000 to PA 0x5502C000 */
85 AMMU.smallPages[5].pageEnabled = AMMU.Enable_YES;
86 AMMU.smallPages[5].logicalAddress = 0x2000C000;
87 AMMU.smallPages[5].translatedAddress = 0x5502C000;
88 AMMU.smallPages[5].translationEnabled = AMMU.Enable_YES;
89 AMMU.smallPages[5].L1_writePolicy = AMMU.WritePolicy_WRITE_BACK;
90 AMMU.smallPages[5].L1_allocate = AMMU.AllocatePolicy_ALLOCATE;
91 AMMU.smallPages[5].L1_posted = AMMU.PostedPolicy_POSTED;
92 AMMU.smallPages[5].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
93 AMMU.smallPages[5].size = AMMU.Small_16K;
95 /* ISS: Use 3 small pages(1 4K and 2 16K) for various ISP registers; non-cacheable; translated */
96 /* config small page[6] to map 16K VA 0x50000000 to PA 0x55040000 */
97 /* non cacheable by default */
98 AMMU.smallPages[6].pageEnabled = AMMU.Enable_YES;
99 AMMU.smallPages[6].logicalAddress = 0x50000000;
100 AMMU.smallPages[6].translatedAddress = 0x55040000;
101 AMMU.smallPages[6].translationEnabled = AMMU.Enable_YES;
102 AMMU.smallPages[6].size = AMMU.Small_16K;
104 /* config small page[7] to map 16K VA 0x50010000 to PA 0x55050000 */
105 /* non cacheable by default */
106 AMMU.smallPages[7].pageEnabled = AMMU.Enable_YES;
107 AMMU.smallPages[7].logicalAddress = 0x50010000;
108 AMMU.smallPages[7].translatedAddress = 0x55050000;
109 AMMU.smallPages[7].translationEnabled = AMMU.Enable_YES;
110 AMMU.smallPages[7].size = AMMU.Small_16K;
112 /* config small page[8] to map 4K VA 0x50020000 to PA 0x55060000 */
113 /* non cacheable by default */
114 AMMU.smallPages[8].pageEnabled = AMMU.Enable_YES;
115 AMMU.smallPages[8].logicalAddress = 0x50020000;
116 AMMU.smallPages[8].translatedAddress = 0x55060000;
117 AMMU.smallPages[8].translationEnabled = AMMU.Enable_YES;
118 AMMU.smallPages[8].size = AMMU.Small_4K;
120 /*********************** Medium Pages *************************/
121 /* ISS: The entire ISS register space using a medium page (256K); cacheable; translated */
122 /* config medium page[0] to map 256K VA 0x50000000 to PA 0x55040000 */
123 /* Make it L1 cacheable */
124 AMMU.mediumPages[0].pageEnabled = AMMU.Enable_YES;
125 AMMU.mediumPages[0].logicalAddress = 0x50000000;
126 AMMU.mediumPages[0].translatedAddress = 0x55040000;
127 AMMU.mediumPages[0].translationEnabled = AMMU.Enable_YES;
128 AMMU.mediumPages[0].size = AMMU.Medium_256K;
129 AMMU.mediumPages[0].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
130 AMMU.mediumPages[0].L1_posted = AMMU.PostedPolicy_POSTED;
133 /*********************** Large Pages *************************/
134 /* Instruction Code: Large page  (512M); cacheable */
135 /* config large page[0] to map 512MB VA 0x0 to L3 0x0 */
136 AMMU.largePages[0].pageEnabled = AMMU.Enable_YES;
137 AMMU.largePages[0].logicalAddress = 0x0;
138 AMMU.largePages[0].translationEnabled = AMMU.Enable_NO;
139 AMMU.largePages[0].size = AMMU.Large_512M;
140 AMMU.largePages[0].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
141 AMMU.largePages[0].L1_posted = AMMU.PostedPolicy_POSTED;
143 /* Peripheral regions: Large Page (512M); non-cacheable */
144 /* config large page[1] to map 512MB VA 0x60000000 to L3 0x60000000 */
145 AMMU.largePages[1].pageEnabled = AMMU.Enable_YES;
146 AMMU.largePages[1].logicalAddress = 0x60000000;
147 AMMU.largePages[1].translationEnabled = AMMU.Enable_NO;
148 AMMU.largePages[1].size = AMMU.Large_512M;
149 AMMU.largePages[1].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
150 AMMU.largePages[1].L1_posted = AMMU.PostedPolicy_POSTED;
152 /* Private, Shared and IPC Data regions: Large page (512M); cacheable */
153 /* config large page[2] to map 512MB VA 0x80000000 to L3 0x80000000 */
154 AMMU.largePages[2].pageEnabled = AMMU.Enable_YES;
155 AMMU.largePages[2].logicalAddress = 0x80000000;
156 AMMU.largePages[2].translationEnabled = AMMU.Enable_NO;
157 AMMU.largePages[2].size = AMMU.Large_512M;
158 AMMU.largePages[2].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
159 AMMU.largePages[2].L1_posted = AMMU.PostedPolicy_POSTED;
161 /* TILER & DMM regions: Large page (512M); cacheable */
162 /* config large page[3] to map 512MB VA 0xA0000000 to L3 0xA0000000 */
163 AMMU.largePages[3].pageEnabled = AMMU.Enable_YES;
164 AMMU.largePages[3].logicalAddress = 0xA0000000;
165 AMMU.largePages[3].translationEnabled = AMMU.Enable_NO;
166 AMMU.largePages[3].size = AMMU.Large_512M;
167 AMMU.largePages[3].L1_cacheable = AMMU.CachePolicy_CACHEABLE;
168 AMMU.largePages[3].L1_posted = AMMU.PostedPolicy_POSTED;