summaryrefslogtreecommitdiffstats
path: root/ports/beagleboneblack/config.h
blob: b0136c358bc5a7f96a2ab7e975e3d7c2ba93bc71 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
/*
 * Monitor configuration file
 *
 * General notice:
 * This code is part of a boot-monitor package developed as a generic base
 * platform for embedded system designs.  As such, it is likely to be
 * distributed to various projects beyond the control of the original
 * author.  Please notify the author of any enhancements made or bugs found
 * so that all may benefit from the changes.  In addition, notification back
 * to the author will allow the new user to pick up changes that may have
 * been made by other users after this version of the code was distributed.
 *
 * Author:  Ed Sutter
 * email:   esutter@lucent.com
 * phone:   908-582-2351
 *
 *
 * Adapted by Jarielle Catbagan for the Beaglebone Black
 * email: jcatbagan93@gmail.com
 */

#include "am335x.h"

/*
 * The target_putchar() function also drops the character at the
 * LCD...
 */
//#define MORE_PUTCHAR lcd_putchar
//#define CONSOLE_UART_BASE (OMAP35XX_L4_IO_BASE+0x6C000)
#define CONSOLE_UART_BASE UART0_BASE

#define SIO_STEP                4
#define IEN_DEFAULT             0x40
#define MCTL_DEFAULT            0x01

#define TIMER_TICKS_PER_MSEC    545000

/* DEFAULT_ETHERADD & DEFAULT_IPADD:
 * Refer to notes in ethernet.c function EthernetStartup() for details
 * regarding the use of these definitions.
 * DEFAULT_IPADD could be set to "DHCP" or "BOOTP" as well.
 */
#define DEFAULT_ETHERADD "00:30:23:40:00:"      // Cogent Block
#define DEFAULT_IPADD    "192.168.254.110"

#define CPU_LE

// Establish a user defined function to be called when uMon
// prints out the startup banner...
// If this is defined, then the output similar to the following will
// be printed just above the uMon header...
//      Silicon ID: 1.0
//      CPU Rev: 2, Variant: 1
//      CM Rev: 1.0, PRM Rev: 1.0
// #define USR_HEADER_FUNC show_revision

/* Defining DONT_CENTER_MONHEADER eliminates the automatic centering
 * of the monitor's startup banner...
 */
#define DONT_CENTER_MONHEADER

/* XBUFCNT & RBUFCNT:
 *  Number of transmit and receive buffers allocated to ethernet.
 *  The total of XBUFCNT+RBUFCNT should not exceed MAXEBDS
 */
#define XBUFCNT     8
#define RBUFCNT     8
#define XBUFSIZE    2048
#define RBUFSIZE    2048

/* LOOPS_PER_SECOND:
 * Approximately the size of a loop that will cause a 1-second delay.
 * This can be guestimated or modified with the sleep -c command at the
 * monitor command line.
 */
#define LOOPS_PER_SECOND        15000

#define INCLUDE_NANDCMD         0

#if INCLUDE_NANDCMD
/* Needed for NAND to work with TFSRAM:
 */
#define NAND_TFS_BASE           0x10000     // base of TFS in NAND

#define FLASHRAM_BASE           0x80300000
#define FLASHRAM_END            0x8037ffff
#define FLASHRAM_SECTORSIZE     0x00010000
#define FLASHRAM_SPARESIZE      FLASHRAM_SECTORSIZE
#define FLASHRAM_BANKNUM        1
#define FLASHRAM_SECTORCOUNT    8
#endif

/* Flash bank configuration:
 */
#ifdef FLASHRAM_BASE
#define FLASHBANKS              2
#else
#define FLASHBANKS              1
#endif
#define SINGLE_FLASH_DEVICE     1
#define FLASH_COPY_TO_RAM       1
#define FLASH_BANK0_BASE_ADDR   0x08000000
#define FLASH_PROTECT_RANGE     "0-2"
#define FLASH_BANK0_WIDTH       2
#define FLASH_LARGEST_SECTOR    0x20000
#define FLASH_LOOP_TIMEOUT      10000000
#define BUFFERED_WRITE

/* TFS definitions:
 *  TFSSTART:       Base address in FLASH at which TFS starts.
 *  TFSEND:         End address of TFS in FLASH.
 *  TFSSPARE:       Location of sector that is used as the spare sector
 *                  by TFS for defragmentation.
 *  TFSSPARESIZE:   Size of the spare sector used by TFS for defragmentation.
 *  TFSSECTORCOUNT: Number of eraseable sectors that TFS covers, not including
 *                  the TFSSPARE sector.
 */
#define TFSSPARESIZE            FLASH_LARGEST_SECTOR
#define TFS_DEVTOT              1
#define TFSSTART                (FLASH_BANK0_BASE_ADDR+0x060000)
//#define TFSEND                (FLASH_BANK0_BASE_ADDR+0x007dffff)  // 8MB Flash
#define TFSEND                  (FLASH_BANK0_BASE_ADDR+0x00edffff)  // 16MB Flash
//#define TFSEND                (FLASH_BANK0_BASE_ADDR+0x03dfffff)  // 64MB Flash
#define TFSSPARE                (TFSEND+1)
#define TFSSECTORCOUNT          ((TFSSPARE-TFSSTART)/0x20000)
#define TFS_EBIN_ELFMSBIN       1
#define TFS_VERBOSE_STARTUP     1
#define TFS_ALTDEVTBL_BASE      &alt_tfsdevtbl_base

/* Specify CPU/PLATFORM type and name so that common code can be used
 * for a similar cpu, on different platforms.
 * The 'TYPE' definition is used for ifdefs in the code and the 'NAME'
 * is used for printfs in the code.
 */
#define CPU_TYPE        AM3358
#define CPU_NAME        "TI AM3358 Cortex-A8"
#define PLATFORM_TYPE   BEAGLEBONEBLACK
#define PLATFORM_NAME   "Beaglebone Black"

/* Specify the size of the memory block (in monitor space) that is to be
 * allocated to malloc in the monitor.  Note that this size can be dynamically
 * increased using the heap extension option in the heap command.
 */
#define ALLOCSIZE           1024    // (64*1024)
#define MONSTACKSIZE        (16*1024)


/* Specify inclusion of subsystems within the monitor here.
 * Refer to comments in common/monitor/inc_check.h for details on
 * each of these macros.
 */

#define INCLUDE_MEMTRACE        0
#define INCLUDE_MEMCMDS         1
#define INCLUDE_EDIT            0
#define INCLUDE_DISASSEMBLER    0
#define INCLUDE_UNZIP           0
#define INCLUDE_ETHERNET        0
#define INCLUDE_ICMP            0
#define INCLUDE_TFTP            0
#define INCLUDE_DHCPBOOT        0
#define INCLUDE_TFS             0
#define INCLUDE_TFSCLI          0
#define INCLUDE_TFSAPI          0
#define INCLUDE_TFSSCRIPT       0
#define INCLUDE_TFSSYMTBL       0
#define INCLUDE_XMODEM          1
#define INCLUDE_LINEEDIT        0
#define INCLUDE_EE              0
#define INCLUDE_FLASH           0
#define INCLUDE_STRACE          0
#define INCLUDE_CAST            0
#define INCLUDE_STRUCT          0
#define INCLUDE_REDIRECT        0
#define INCLUDE_QUICKMEMCPY     0
#define INCLUDE_PROFILER        0
#define INCLUDE_BBC             0
#define INCLUDE_STOREMAC        0
#define INCLUDE_SHELLVARS       1
#define INCLUDE_MALLOC          0
#define INCLUDE_PORTCMD         0
#define INCLUDE_SYSLOG          0
#define INCLUDE_HWTMR           0
#define INCLUDE_VERBOSEHELP     0
#define INCLUDE_GDB             0
#define INCLUDE_USRLVL          0
#define INCLUDE_JFFS2           0
#define INCLUDE_JFFS2ZLIB       0
#define INCLUDE_FBI             0
#define INCLUDE_TSI             0
#define INCLUDE_SD              1
#define INCLUDE_DNS             0
#define INCLUDE_BLINKLED        1
#define INCLUDE_FATFS		1
#define TARGET_BLINKLED         target_blinkled

/* Inclusion of this next file will make sure that all of the above
 * inclusions are legal; and warn/adjust where necessary.
 */
#include "inc_check.h"