Merge branch 'upstream-fixes'
[mw/micromonitor-lm32.git] / umon_ports / bf537 / config.h
1 /* Configuration file for phyCore-BF537 board...
2  */
3
4 #define CPU_LE
5 #define CPU_NAME                        "BlackFin BF537"
6
7 /*
8  * The PLATFORM_XXX variable is established in the makefile and used
9  * to distinguish between one of several different BF537 based boards...
10  */
11 #if PLATFORM_PCORE537
12 #define PLATFORM_NAME   "phyCore-BF537"
13 #elif PLATFORM_BF537
14 #define PLATFORM_NAME   "ADDS-BF537-EVAL"
15 #elif PLATFORM_VTCEZ
16 #define PLATFORM_NAME   "ADDS-BF537-EVAL (VDB)"
17 #elif PLATFORM_VTC
18 #define PLATFORM_NAME   "VTC Camera Board"
19 #else
20 #error: Invalid/missing PLATFORM in makefile
21 #endif
22
23 #define APPRAMBASE_OVERRIDE 0x100000
24 #define BOOTROMBASE_OVERRIDE 0x20000000
25
26 #define USR_HEADER_FUNC         showBlackfinInfo
27
28 /* Used by blackfin header files...
29  */
30 #ifndef __ADSPLPBLACKFIN__ 
31 #define __ADSPLPBLACKFIN__ 
32 #endif
33
34 #define EXCEPTION_HEADING "EVENT"
35
36 /* LOOPS_PER_SECOND:
37  * Approximately the size of a loop that will cause a 1-second delay.
38  * This value can be adjusted by using the "sleep -c" command.
39  */
40 #define LOOPS_PER_SECOND        140000
41 #define TIMER_TICKS_PER_MSEC 500000
42
43 /* T/RX_DMA_DESCRIPTOR_BASE:
44  * If defined, they override the default location of the
45  * ethernet drivers's dma descriptor tables.  Usually
46  * the addresses point to some area in L1 data memory
47  * space...
48  *
49  * Note: I experimented with this and found that it
50  * made zero noticeable difference in the ethernet throughput.
51  *
52 #define TX_DMA_DESCRIPTOR_BASE  0xff900000
53 #define RX_DMA_DESCRIPTOR_BASE  0xff900100
54  */
55
56 /* T/X_STAT/DATA_BASE:
57  * If defined, they override the default location of the
58  * ethernet drivers's buffer space.  Usually the 
59  * addresses point to some area in L1 data memory.
60  *
61  * Note: I experimented with this and found that it
62  * made zero noticeable difference in the ethernet throughput.
63  *
64 #define TX_STAT_BASE    0xff900400
65 #define TX_DATA_BASE    0xff900500
66 #define RX_STAT_BASE    0xff901000
67 #define RX_DATA_BASE    0xff901800
68  */
69
70 /* Flash bank configuration:
71  * Basic information needed to configure the flash driver.
72  * Fill in port specific values here.
73  */
74 #define SINGLE_FLASH_DEVICE     1
75 #define FLASH_BANK0_BASE_ADDR   0x20000000
76 #define FLASH_BANK0_SIZE                0x00400000
77 #define FLASH_PROTECT_RANGE     "0-6"
78 #define FLASH_BANK0_WIDTH       2
79 #define FLASH_LARGEST_SECTOR    0x10000
80 #define FLASH_TIMEOUT                   10000000
81
82 /* If there is a need to have the range of protected sectors locked (and
83  * the flash device driver supports it), then enable this macro...
84 #define LOCK_FLASH_PROTECT_RANGE
85  */
86
87 /* TFS definitions:
88  * Values that configure the flash space that is allocated to TFS.
89  * Fill in port specific values here.
90  */
91 #define TFSSPARESIZE                    FLASH_LARGEST_SECTOR
92 #define TFSSTART                        (FLASH_BANK0_BASE_ADDR+0x60000)
93 #define TFSEND                          0x203effff
94 #define TFSSPARE                        (TFSEND+1)
95 #define TFSSECTORCOUNT                  ((TFSSPARE-TFSSTART)/FLASH_LARGEST_SECTOR)
96 #define TFS_EBIN_ELF                    1
97 #define TFS_ALTDEVTBL_BASE              &alt_tfsdevtbl_base
98 #define FLASHBANKS                              1
99
100 /* Use a blackfin-specific memcpy routine with TFS's loader.
101  * This is needed because to load into blackfin's L1 instruction SRAM,
102  * you must use DMA.  In this case, the memcpy function will use DMA
103  * whenever the destination falls within the range of BFIN_L1I_START
104  * and BFIN_L1I_END.
105  */
106 #define USE_ALTERNATE_TFSLD_MEMCPY
107 #ifdef USE_ALTERNATE_TFSLD_MEMCPY
108 #define BFIN_L1I_START  0xffa00000
109 #define BFIN_L1I_END    0xffa13fff
110 #endif
111
112 /* ALLOCSIZE:
113  * Specify the size of the memory block (in monitor space) that
114  * is to be allocated to malloc in the monitor.  Note that this
115  * size can be dynamically increased using the heap command at
116  * runtime.
117  */
118 #define ALLOCSIZE               (64*1024)
119
120 /* MONSTACKSIZE:
121  * The amount of space allocated to the monitor's stack.
122  */
123 #define MONSTACKSIZE    (8*1024)
124
125 #define NO_MONLIB_I2C_STUBS
126
127 /* INCLUDE_XXX Macros:
128  * Set/clear the appropriate macros depending on what you want
129  * to configure in your system.  The sanity of this list is tested
130  * through the inclusion of "inc_check.h" at the bottom of this list...
131  * When starting a port, set all but INCLUDE_MALLOC, INCLUDE_SHELLVARS,
132  * INCLUDE_MEMCMDS and INCLUDE_XMODEM to zero.  Then in small steps
133  * enable the following major features in the following order:
134  *
135  *      INCLUDE_FLASH to test the flash device drivers.
136  *      INCLUDE_TFS* to overlay TFS onto the flash. 
137  *  INCLUDE_ETHERNET, INCLUDE_TFTP to turn the ethernet interface.
138  *
139  * All other INCLUDE_XXX macros can be enabled as needed and for the
140  * most part, they're hardware independent.
141  * Note that for building a very small footprint, INCLUDE_MALLOC and
142  * INCLUDE_SHELLVARS can be disabled.
143  */
144                                                                 
145 #define INCLUDE_MALLOC                  1
146 #define INCLUDE_MEMCMDS         1
147 #define INCLUDE_SHELLVARS               1
148 #define INCLUDE_XMODEM          1
149 #define INCLUDE_DISASSEMBLER    0
150 #define INCLUDE_UNZIP           1
151 #define INCLUDE_ETHERNET        1
152 #define INCLUDE_ICMP                    1
153 #define INCLUDE_IGMP                    0
154 #define INCLUDE_TFTP            1
155 #define INCLUDE_TFS             1
156 #define INCLUDE_EDIT            INCLUDE_TFS
157 #define INCLUDE_FLASH           1
158 #define INCLUDE_LINEEDIT        1
159 #define INCLUDE_DHCPBOOT        1
160 #define INCLUDE_TFSAPI          INCLUDE_TFS
161 #define INCLUDE_TFSSYMTBL       INCLUDE_TFS
162 #define INCLUDE_TFSSCRIPT       INCLUDE_TFS
163 #define INCLUDE_TFSCLI          INCLUDE_TFS
164 #define INCLUDE_EE              1
165 #define INCLUDE_GDB             0
166 #define INCLUDE_STRACE          INCLUDE_TFS
167 #define INCLUDE_CAST            1
168 #define INCLUDE_STRUCT          INCLUDE_TFS
169 #define INCLUDE_REDIRECT        INCLUDE_TFS
170 #define INCLUDE_QUICKMEMCPY     1
171 #define INCLUDE_PROFILER        INCLUDE_TFS
172 #define INCLUDE_BBC             0
173 #define INCLUDE_MEMTRACE        1
174 #define INCLUDE_VERBOSEHELP     1
175 #define INCLUDE_HWTMR               1
176 #define INCLUDE_PORTCMD             0
177 #define INCLUDE_USRLVL              INCLUDE_TFS
178 #define INCLUDE_BFINWATCH           1
179 #define INCLUDE_TIMEOFDAY           1
180 #define INCLUDE_DNS                         1
181 #define INCLUDE_SD                          1
182 #define INCLUDE_FATFS               INCLUDE_SD
183
184 #if PLATFORM_PCORE537
185 #define INCLUDE_STOREMAC        0
186 #else
187 #define INCLUDE_STOREMAC        1
188 #endif
189
190 #include "inc_check.h"