[processor-sdk/pdk.git] / packages / ti / drv / mmcsd / example / fatfs_console / am335x / armv7 / bios / mmcsddma_skam335x.cfg
1 /**
2 * \file mmcsddma_skam335x.cfg
3 *
4 * \brief Sysbios config file for MMCSD DMA example project on AM335x
5 * SK EVM.
6 *
7 */
9 /*
10 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 *
16 * Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
18 *
19 * Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the
22 * distribution.
23 *
24 * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 */
42 /* ================ General configuration ================ */
43 var Defaults = xdc.useModule('xdc.runtime.Defaults');
44 var Diags = xdc.useModule('xdc.runtime.Diags');
45 var Error = xdc.useModule('xdc.runtime.Error');
46 var Main = xdc.useModule('xdc.runtime.Main');
47 var Memory = xdc.useModule('xdc.runtime.Memory')
48 var SysMin = xdc.useModule('xdc.runtime.SysMin');
49 var System = xdc.useModule('xdc.runtime.System');
50 var Text = xdc.useModule('xdc.runtime.Text');
51 var Clock = xdc.useModule('ti.sysbios.knl.Clock');
52 var Swi = xdc.useModule('ti.sysbios.knl.Swi');
53 var Task = xdc.useModule('ti.sysbios.knl.Task');
54 var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
55 var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
56 var Timer = xdc.useModule('ti.sysbios.hal.Timer');
57 var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
58 var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
60 /*
61 * Program.argSize sets the size of the .args section.
62 * The examples don't use command line args so argSize is set to 0.
63 */
64 Program.argSize = 0x0;
66 /* System stack size (used by ISRs and Swis) */
67 Program.stack = 0x4000;
69 /*
70 * Uncomment this line to globally disable Asserts.
71 * All modules inherit the default from the 'Defaults' module. You
72 * can override these defaults on a per-module basis using Module.common$.
73 * Disabling Asserts will save code space and improve runtime performance.
74 Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
75 */
76 Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
79 /*
80 * Uncomment this line to keep module names from being loaded on the target.
81 * The module name strings are placed in the .const section. Setting this
82 * parameter to false will save space in the .const section. Error and
83 * Assert messages will contain an "unknown module" prefix instead
84 * of the actual module name.
85 Defaults.common$.namedModule = false;
86 */
87 Defaults.common$.namedModule = false;
89 /*
90 * Minimize exit handler array in System. The System module includes
91 * an array of functions that are registered with System_atexit() to be
92 * called by System_exit().
93 */
94 System.maxAtexitHandlers = 4;
96 /*
97 * Uncomment this line to disable the Error print function.
98 * We lose error information when this is disabled since the errors are
99 * not printed. Disabling the raiseHook will save some code space if
100 * your app is not using System_printf() since the Error_print() function
101 * calls System_printf().
102 Error.raiseHook = null;
103 */
104 Error.raiseHook = null;
105 /*
106 * Uncomment this line to keep Error, Assert, and Log strings from being
107 * loaded on the target. These strings are placed in the .const section.
108 * Setting this parameter to false will save space in the .const section.
109 * Error, Assert and Log message will print raw ids and args instead of
110 * a formatted message.
111 Text.isLoaded = false;
112 */
113 Text.isLoaded = false;
114 /*
115 * Uncomment this line to disable the output of characters by SysMin
116 * when the program exits. SysMin writes characters to a circular buffer.
117 * This buffer can be viewed using the SysMin Output view in ROV.
118 */
119 SysMin.flushAtExit = false;
122 /* ================ BIOS configuration ================ */
124 var BIOS = xdc.useModule('ti.sysbios.BIOS');
125 BIOS.libType = BIOS.LibType_Custom;
126 BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
127 BIOS.assertsEnabled = false;
128 BIOS.logsEnabled = false;
129 BIOS.swiEnabled = false;
131 /*
132 * The BIOS module will create the default heap for the system.
133 * Specify the size of this default heap.
134 */
135 BIOS.heapSize = 32000;
137 Swi.common$.namedInstance = true;
138 Program.sectionsExclude = ".*";
140 Clock.tickPeriod = 1000;
141 Hwi.dispatcherSwiSupport = true;
142 Hwi.dispatcherTaskSupport = true;
143 Hwi.dispatcherAutoNestingSupport = true;
145 Task.enableIdleTask = false;
146 Task.initStackFlag = false;
147 Task.checkStackFlag = false;
149 /* ================ Driver configuration ================ */
150 /* Load the EDMA package */
151 var Edma = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
152 var drv = xdc.loadPackage ("ti.sdo.edma3.drv");
153 var rm = xdc.loadPackage ("ti.sdo.edma3.rm");
155 var socType = "am335x";
156 /*use CSL package*/
157 var Csl = xdc.loadPackage('ti.csl');
158 Csl.Settings.deviceType = socType;
160 /* Load the Osal package */
161 var osType = "tirtos";
162 var Osal = xdc.loadPackage('ti.osal');
163 Osal.Settings.osType = osType;
164 Osal.Settings.socType = socType;
165 /* Load the spi package */
166 var I2C = xdc.loadPackage('ti.drv.i2c');
167 I2C.Settings.socType = socType;
169 /* Load the board package */
170 var Board = xdc.loadPackage('ti.board');
171 Board.Settings.boardName = "skAM335x";
173 /* Load the GPIO package */
174 var GPIO = xdc.loadPackage('ti.drv.gpio');
176 /* Load the uart package */
177 var UartPackage = xdc.loadPackage('ti.drv.uart');
179 /* Load the MMCSD package */
180 var Mmcsd = xdc.loadPackage('ti.drv.mmcsd');
181 Mmcsd.Settings.socType = socType;
182 Mmcsd.Settings.useDma = "true";
184 /* Load the fatfs package */
185 var Fatfs = xdc.loadPackage('ti.fs.fatfs');
188 /* ================ Cache and MMU configuration ================ */
190 var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
191 Cache.enableCache = true;
193 var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
194 Mmu.enableMMU = true;
196 /* Force peripheral section to be NON cacheable strongly-ordered memory */
197 var peripheralAttrs = {
198 type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
199 tex: 0,
200 bufferable : false, // bufferable
201 cacheable : false, // cacheable
202 shareable : false, // shareable
203 noexecute : true, // not executable
204 };
206 /* Define the base address of the 1 Meg page the peripheral resides in. */
207 var peripheralBaseAddr = 0x44e00400;;
209 /* Configure the corresponding MMU page descriptor accordingly */
210 Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
211 peripheralBaseAddr,
212 peripheralAttrs);
215 /* Define the base address of the 1 Meg page the peripheral resides in. */
216 var peripheralBaseAddr = 0x481a6000;
218 /* Configure the corresponding MMU page descriptor accordingly */
219 Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
220 peripheralBaseAddr,
221 peripheralAttrs);
224 /* Define the base address of the 1 Meg page the peripheral resides in. */
225 var peripheralBaseAddr = 0x49000000;
227 /* Configure the corresponding MMU page descriptor accordingly */
228 Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
229 peripheralBaseAddr,
230 peripheralAttrs);