1/* ********************************************************************* 2 * Broadcom Common Firmware Environment (CFE) 3 * 4 * BSP Configuration file File: bsp_config.h 5 * 6 * This module contains global parameters and conditional 7 * compilation settings for building CFE. 8 * 9 * Author: Mitch Lichtenberg 10 * 11 ********************************************************************* 12 * 13 * Copyright 2000,2001,2002,2003 14 * Broadcom Corporation. All rights reserved. 15 * 16 * This software is furnished under license and may be used and 17 * copied only in accordance with the following terms and 18 * conditions. Subject to these conditions, you may download, 19 * copy, install, use, modify and distribute modified or unmodified 20 * copies of this software in source and/or binary form. No title 21 * or ownership is transferred hereby. 22 * 23 * 1) Any source code used, modified or distributed must reproduce 24 * and retain this copyright notice and list of conditions 25 * as they appear in the source file. 26 * 27 * 2) No right is granted to use any trade name, trademark, or 28 * logo of Broadcom Corporation. The "Broadcom Corporation" 29 * name may not be used to endorse or promote products derived 30 * from this software without the prior written permission of 31 * Broadcom Corporation. 32 * 33 * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR 34 * IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED 35 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 36 * PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT 37 * SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN 38 * PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT, 39 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 40 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 41 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 42 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 43 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 44 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF 45 * THE POSSIBILITY OF SUCH DAMAGE. 46 ********************************************************************* */ 47 48 49#ifndef CFG_L2_RAM /* Set this to run from L2 */ 50#define CFG_L2_RAM 0 51#endif 52 53#if CFG_RUNFROMKSEG0 54#define CFG_INIT_L1 1 /* initialize the L1 cache */ 55#define CFG_INIT_L2 1 /* initialize the L2 cache */ 56#else 57#define CFG_INIT_L1 1 /* initialize the L1 cache */ 58#define CFG_INIT_L2 1 /* initialize the L2 cache */ 59#endif 60 61#if CFG_BOOTRAM 62#define CFG_INIT_DRAM 1 /* initialize DRAM controller */ 63#define CFG_DRAM_SIZE xxx /* size of DRAM if you don't initialize */ 64#elif CFG_L2_RAM 65#define CFG_INIT_DRAM 1 /* ignore DRAM */ 66#define CFG_DRAM_SIZE xxx /* reassure init_mips */ 67#else 68#define CFG_INIT_DRAM 1 /* initialize DRAM controller */ 69#define CFG_DRAM_SIZE xxx /* size of DRAM if you don't initialize */ 70#endif 71 72#define CFG_NETWORK 1 /* define to include network support */ 73#define CFG_TCP 1 74#define CFG_FATFS 1 75#define CFG_UI 1 /* Define to enable user interface */ 76 77#ifndef _UNICPU_ 78#define CFG_MULTI_CPUS 1 /* Define to include multiple CPU support */ 79#endif 80 81#if (CFG_BOOTRAM || CFG_L2_RAM) 82#define CFG_HEAP_SIZE 384 /* heap size in kilobytes */ 83#else 84/* 4MB needed for PM (packet manager) testing */ 85#define CFG_HEAP_SIZE 4096 /* heap size in kilobytes */ 86#endif 87 88#define CFG_STACK_SIZE 8192 /* stack size (bytes, rounded up to K) */ 89 90/* 91 * These parameters control the flash driver's sector buffer. 92 * If you write environment variables or make small changes to 93 * flash sectors from user applications, you 94 * need to have the heap big enough to store a temporary sector 95 * for merging in small changes to flash sectors, so you 96 * should set CFG_FLASH_ALLOC_SECTOR_BUFFER in that case. 97 * Otherwise, you can provide an address in unallocated memory 98 * of where to place the sector buffer. 99 */ 100 101#define CFG_FLASH_ALLOC_SECTOR_BUFFER 0 /* '1' to allocate sector buffer from the heap */ 102#define CFG_FLASH_SECTOR_BUFFER_ADDR (100*1024*1024-128*1024) /* 100MB - 128K */ 103#define CFG_FLASH_SECTOR_BUFFER_SIZE (128*1024) 104 105/* 106 * The flash staging buffer is where we store a flash image before we write 107 * it to the flash. It's too big for the heap. 108 */ 109 110#define CFG_FLASH_STAGING_BUFFER_ADDR (100*1024*1024) 111#define CFG_FLASH_STAGING_BUFFER_SIZE (4*1024*1024) 112 113/* 114 * MC_NOCHANINTLV 115 * MC_01CHANINTLV 116 * MC_23CHANINTLV Valid in 32-bit channels only 117 * MC_01_23CHANINTLV Valid in 32-bit channels only 118 * MC_FULLCHANINTLV Valid in 32-bit channels only 119 */ 120#define CFG_DRAM_INTERLEAVE MC_01CHANINTLV 121 122/* 123 * NOCSINTLV 124 * CSINTLV_2CS 125 * CSINTLV_4CS 126 * CSINTLV_8CS Valid in 64-bit channels only 127 */ 128#define CFG_DRAM_CSINTERLEAVE CSINTLV_4CS /* Max is 4 CS interleave */ 129 /* CS 0,2,4,6 for DDR2 */ 130 131#if CFG_RELOC 132#define CFG_DRAM_ECC 1 /* Turn on to enable ECC */ 133#else 134#define CFG_DRAM_ECC 0 /* Turn on to enable ECC */ 135#endif 136 137 138#define CFG_SERIAL_BAUD_RATE 115200 /* normal console speed */ 139 140#define CFG_VENDOR_EXTENSIONS 0 141 142/* 143 * Include board-specific stuff 144 */ 145 146#include "bcm91480b.h" 147 148