1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Configuation settings for the Sentec Cobra Board. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de> 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun /* --- 10*4882a593Smuzhiyun * Version: U-Boot 1.0.0 - initial release for Sentec COBRA5272 board 11*4882a593Smuzhiyun * Date: 2004-03-29 12*4882a593Smuzhiyun * Author: Florian Schlote 13*4882a593Smuzhiyun * 14*4882a593Smuzhiyun * For a description of configuration options please refer also to the 15*4882a593Smuzhiyun * general u-boot-1.x.x/README file 16*4882a593Smuzhiyun * --- 17*4882a593Smuzhiyun */ 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* --- 20*4882a593Smuzhiyun * board/config.h - configuration options, board specific 21*4882a593Smuzhiyun * --- 22*4882a593Smuzhiyun */ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #ifndef _CONFIG_COBRA5272_H 25*4882a593Smuzhiyun #define _CONFIG_COBRA5272_H 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* --- 28*4882a593Smuzhiyun * Defines processor clock - important for correct timings concerning serial 29*4882a593Smuzhiyun * interface etc. 30*4882a593Smuzhiyun * --- 31*4882a593Smuzhiyun */ 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #define CONFIG_SYS_CLK 66000000 34*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */ 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun /* --- 37*4882a593Smuzhiyun * Enable use of Ethernet 38*4882a593Smuzhiyun * --- 39*4882a593Smuzhiyun */ 40*4882a593Smuzhiyun #define CONFIG_MCFFEC 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun /* Enable Dma Timer */ 43*4882a593Smuzhiyun #define CONFIG_MCFTMR 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* --- 46*4882a593Smuzhiyun * Define baudrate for UART1 (console output, tftp, ...) 47*4882a593Smuzhiyun * default value of CONFIG_BAUDRATE for Sentec board: 19200 baud 48*4882a593Smuzhiyun * CONFIG_SYS_BAUDRATE_TABLE defines values that can be selected in u-boot command 49*4882a593Smuzhiyun * interface 50*4882a593Smuzhiyun * --- 51*4882a593Smuzhiyun */ 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun #define CONFIG_MCFUART 54*4882a593Smuzhiyun #define CONFIG_SYS_UART_PORT (0) 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /* --- 57*4882a593Smuzhiyun * set "#if 0" to "#if 1" if (Hardware)-WATCHDOG should be enabled & change 58*4882a593Smuzhiyun * timeout acc. to your needs 59*4882a593Smuzhiyun * #define CONFIG_WATCHDOG_TIMEOUT x , x is timeout in milliseconds, e. g. 10000 60*4882a593Smuzhiyun * for 10 sec 61*4882a593Smuzhiyun * --- 62*4882a593Smuzhiyun */ 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #if 0 65*4882a593Smuzhiyun #define CONFIG_WATCHDOG 66*4882a593Smuzhiyun #define CONFIG_WATCHDOG_TIMEOUT 10000 /* timeout in milliseconds */ 67*4882a593Smuzhiyun #endif 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun /* --- 70*4882a593Smuzhiyun * CONFIG_MONITOR_IS_IN_RAM defines if u-boot is started from a different 71*4882a593Smuzhiyun * bootloader residing in flash ('chainloading'); if you want to use 72*4882a593Smuzhiyun * chainloading or want to compile a u-boot binary that can be loaded into 73*4882a593Smuzhiyun * RAM via BDM set 74*4882a593Smuzhiyun * "#if 0" to "#if 1" 75*4882a593Smuzhiyun * You will need a first stage bootloader then, e. g. colilo or a working BDM 76*4882a593Smuzhiyun * cable (Background Debug Mode) 77*4882a593Smuzhiyun * 78*4882a593Smuzhiyun * Setting #if 0: u-boot will start from flash and relocate itself to RAM 79*4882a593Smuzhiyun * 80*4882a593Smuzhiyun * Please do not forget to modify the setting of CONFIG_SYS_TEXT_BASE 81*4882a593Smuzhiyun * in board/cobra5272/config.mk accordingly (#if 0: 0xffe00000; #if 1: 0x20000) 82*4882a593Smuzhiyun * 83*4882a593Smuzhiyun * --- 84*4882a593Smuzhiyun */ 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #if 0 87*4882a593Smuzhiyun #define CONFIG_MONITOR_IS_IN_RAM /* monitor is started from a preloader */ 88*4882a593Smuzhiyun #endif 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun /* --- 91*4882a593Smuzhiyun * Configuration for environment 92*4882a593Smuzhiyun * Environment is embedded in u-boot in the second sector of the flash 93*4882a593Smuzhiyun * --- 94*4882a593Smuzhiyun */ 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #ifndef CONFIG_MONITOR_IS_IN_RAM 97*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x4000 98*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x2000 99*4882a593Smuzhiyun #else 100*4882a593Smuzhiyun #define CONFIG_ENV_ADDR 0xffe04000 101*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x2000 102*4882a593Smuzhiyun #endif 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define LDS_BOARD_TEXT \ 105*4882a593Smuzhiyun . = DEFINED(env_offset) ? env_offset : .; \ 106*4882a593Smuzhiyun env/embedded.o(.text); 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* 109*4882a593Smuzhiyun * BOOTP options 110*4882a593Smuzhiyun */ 111*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 112*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 113*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 114*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun /* 117*4882a593Smuzhiyun * Command line configuration. 118*4882a593Smuzhiyun */ 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun #ifdef CONFIG_MCFFEC 121*4882a593Smuzhiyun # define CONFIG_MII 1 122*4882a593Smuzhiyun # define CONFIG_MII_INIT 1 123*4882a593Smuzhiyun # define CONFIG_SYS_DISCOVER_PHY 124*4882a593Smuzhiyun # define CONFIG_SYS_RX_ETH_BUFFER 8 125*4882a593Smuzhiyun # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun # define CONFIG_SYS_FEC0_PINMUX 0 128*4882a593Smuzhiyun # define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE 129*4882a593Smuzhiyun # define MCFFEC_TOUT_LOOP 50000 130*4882a593Smuzhiyun /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */ 131*4882a593Smuzhiyun # ifndef CONFIG_SYS_DISCOVER_PHY 132*4882a593Smuzhiyun # define FECDUPLEX FULL 133*4882a593Smuzhiyun # define FECSPEED _100BASET 134*4882a593Smuzhiyun # else 135*4882a593Smuzhiyun # ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN 136*4882a593Smuzhiyun # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 137*4882a593Smuzhiyun # endif 138*4882a593Smuzhiyun # endif /* CONFIG_SYS_DISCOVER_PHY */ 139*4882a593Smuzhiyun #endif 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun /* 142*4882a593Smuzhiyun *----------------------------------------------------------------------------- 143*4882a593Smuzhiyun * Define user parameters that have to be customized most likely 144*4882a593Smuzhiyun *----------------------------------------------------------------------------- 145*4882a593Smuzhiyun */ 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /*AUTOBOOT settings - booting images automatically by u-boot after power on*/ 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun /* The following settings will be contained in the environment block ; if you 150*4882a593Smuzhiyun want to use a neutral environment all those settings can be manually set in 151*4882a593Smuzhiyun u-boot: 'set' command */ 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun #if 0 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "bootm 0xffe80000" /*Autoboto command, please 156*4882a593Smuzhiyun enter a valid image address in flash */ 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun /* User network settings */ 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun #define CONFIG_IPADDR 192.168.100.2 /* default board IP address */ 161*4882a593Smuzhiyun #define CONFIG_SERVERIP 192.168.100.1 /* default tftp server IP address */ 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun #endif 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x20000 /*Defines default RAM address 166*4882a593Smuzhiyun from which user programs will be started */ 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun /*---*/ 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun /* 173*4882a593Smuzhiyun *----------------------------------------------------------------------------- 174*4882a593Smuzhiyun * End of user parameters to be customized 175*4882a593Smuzhiyun *----------------------------------------------------------------------------- 176*4882a593Smuzhiyun */ 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun /* --- 179*4882a593Smuzhiyun * Defines memory range for test 180*4882a593Smuzhiyun * --- 181*4882a593Smuzhiyun */ 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x400 184*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x380000 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun /* --- 187*4882a593Smuzhiyun * Low Level Configuration Settings 188*4882a593Smuzhiyun * (address mappings, register initial values, etc.) 189*4882a593Smuzhiyun * You should know what you are doing if you make changes here. 190*4882a593Smuzhiyun * --- 191*4882a593Smuzhiyun */ 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun /* --- 194*4882a593Smuzhiyun * Base register address 195*4882a593Smuzhiyun * --- 196*4882a593Smuzhiyun */ 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun #define CONFIG_SYS_MBAR 0x10000000 /* Register Base Addrs */ 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun /* --- 201*4882a593Smuzhiyun * System Conf. Reg. & System Protection Reg. 202*4882a593Smuzhiyun * --- 203*4882a593Smuzhiyun */ 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun #define CONFIG_SYS_SCR 0x0003 206*4882a593Smuzhiyun #define CONFIG_SYS_SPR 0xffff 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun /* --- 209*4882a593Smuzhiyun * Ethernet settings 210*4882a593Smuzhiyun * --- 211*4882a593Smuzhiyun */ 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun #define CONFIG_SYS_DISCOVER_PHY 214*4882a593Smuzhiyun #define CONFIG_SYS_ENET_BD_BASE 0x780000 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun /*----------------------------------------------------------------------- 217*4882a593Smuzhiyun * Definitions for initial stack pointer and data area (in internal SRAM) 218*4882a593Smuzhiyun */ 219*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 220*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in internal SRAM */ 221*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 222*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun /*----------------------------------------------------------------------- 225*4882a593Smuzhiyun * Start addresses for the final memory configuration 226*4882a593Smuzhiyun * (Set up by the startup code) 227*4882a593Smuzhiyun * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 228*4882a593Smuzhiyun */ 229*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE 0x00000000 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun /* 232*4882a593Smuzhiyun *------------------------------------------------------------------------- 233*4882a593Smuzhiyun * RAM SIZE (is defined above) 234*4882a593Smuzhiyun *----------------------------------------------------------------------- 235*4882a593Smuzhiyun */ 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun /* #define CONFIG_SYS_SDRAM_SIZE 16 */ 238*4882a593Smuzhiyun 239*4882a593Smuzhiyun /* 240*4882a593Smuzhiyun *----------------------------------------------------------------------- 241*4882a593Smuzhiyun */ 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0xffe00000 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun #ifdef CONFIG_MONITOR_IS_IN_RAM 246*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE 0x20000 247*4882a593Smuzhiyun #else 248*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400) 249*4882a593Smuzhiyun #endif 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN 0x20000 252*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (256 << 10) 253*4882a593Smuzhiyun #define CONFIG_SYS_BOOTPARAMS_LEN 64*1024 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun /* 256*4882a593Smuzhiyun * For booting Linux, the board info and command line data 257*4882a593Smuzhiyun * have to be in the first 8 MB of memory, since this is 258*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization ?? 259*4882a593Smuzhiyun */ 260*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun /*----------------------------------------------------------------------- 263*4882a593Smuzhiyun * FLASH organization 264*4882a593Smuzhiyun */ 265*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 266*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 11 /* max number of sectors on one chip */ 267*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT 1000 /* flash timeout */ 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun /*----------------------------------------------------------------------- 270*4882a593Smuzhiyun * Cache Configuration 271*4882a593Smuzhiyun */ 272*4882a593Smuzhiyun #define CONFIG_SYS_CACHELINE_SIZE 16 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 275*4882a593Smuzhiyun CONFIG_SYS_INIT_RAM_SIZE - 8) 276*4882a593Smuzhiyun #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 277*4882a593Smuzhiyun CONFIG_SYS_INIT_RAM_SIZE - 4) 278*4882a593Smuzhiyun #define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV | CF_CACR_INVI) 279*4882a593Smuzhiyun #define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \ 280*4882a593Smuzhiyun CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 281*4882a593Smuzhiyun CF_ACR_EN | CF_ACR_SM_ALL) 282*4882a593Smuzhiyun #define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_CINV | \ 283*4882a593Smuzhiyun CF_CACR_DISD | CF_CACR_INVI | \ 284*4882a593Smuzhiyun CF_CACR_CEIB | CF_CACR_DCM | \ 285*4882a593Smuzhiyun CF_CACR_EUSP) 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun /*----------------------------------------------------------------------- 288*4882a593Smuzhiyun * Memory bank definitions 289*4882a593Smuzhiyun * 290*4882a593Smuzhiyun * Please refer also to Motorola Coldfire user manual - Chapter XXX 291*4882a593Smuzhiyun * <http://e-www.motorola.com/files/dsp/doc/ref_manual/MCF5272UM.pdf> 292*4882a593Smuzhiyun */ 293*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM 0xFFE00201 294*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM 0xFFE00014 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM 0 297*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM 0 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM 0 300*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM 0 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun #define CONFIG_SYS_BR3_PRELIM 0 303*4882a593Smuzhiyun #define CONFIG_SYS_OR3_PRELIM 0 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun #define CONFIG_SYS_BR4_PRELIM 0 306*4882a593Smuzhiyun #define CONFIG_SYS_OR4_PRELIM 0 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun #define CONFIG_SYS_BR5_PRELIM 0 309*4882a593Smuzhiyun #define CONFIG_SYS_OR5_PRELIM 0 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun #define CONFIG_SYS_BR6_PRELIM 0 312*4882a593Smuzhiyun #define CONFIG_SYS_OR6_PRELIM 0 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun #define CONFIG_SYS_BR7_PRELIM 0x00000701 315*4882a593Smuzhiyun #define CONFIG_SYS_OR7_PRELIM 0xFF00007C 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun /*----------------------------------------------------------------------- 318*4882a593Smuzhiyun * LED config 319*4882a593Smuzhiyun */ 320*4882a593Smuzhiyun #define LED_STAT_0 0xffff /*all LEDs off*/ 321*4882a593Smuzhiyun #define LED_STAT_1 0xfffe 322*4882a593Smuzhiyun #define LED_STAT_2 0xfffd 323*4882a593Smuzhiyun #define LED_STAT_3 0xfffb 324*4882a593Smuzhiyun #define LED_STAT_4 0xfff7 325*4882a593Smuzhiyun #define LED_STAT_5 0xffef 326*4882a593Smuzhiyun #define LED_STAT_6 0xffdf 327*4882a593Smuzhiyun #define LED_STAT_7 0xff00 /*all LEDs on*/ 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun /*----------------------------------------------------------------------- 330*4882a593Smuzhiyun * Port configuration (GPIO) 331*4882a593Smuzhiyun */ 332*4882a593Smuzhiyun #define CONFIG_SYS_PACNT 0x00000000 /* PortA control reg.: All pins are external 333*4882a593Smuzhiyun GPIO*/ 334*4882a593Smuzhiyun #define CONFIG_SYS_PADDR 0x00FF /* PortA direction reg.: PA7 to PA0 are outputs 335*4882a593Smuzhiyun (1^=output, 0^=input) */ 336*4882a593Smuzhiyun #define CONFIG_SYS_PADAT LED_STAT_0 /* PortA value reg.: Turn all LED off */ 337*4882a593Smuzhiyun #define CONFIG_SYS_PBCNT 0x55554155 /* PortB control reg.: Ethernet/UART 338*4882a593Smuzhiyun configuration */ 339*4882a593Smuzhiyun #define CONFIG_SYS_PBDDR 0x0000 /* PortB direction: All pins configured as inputs */ 340*4882a593Smuzhiyun #define CONFIG_SYS_PBDAT 0x0000 /* PortB value reg. */ 341*4882a593Smuzhiyun #define CONFIG_SYS_PDCNT 0x00000000 /* PortD control reg. */ 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun #endif /* _CONFIG_COBRA5272_H */ 344