1*aa5f1f9dSTsiChungLiew /* 2*aa5f1f9dSTsiChungLiew * Configuation settings for the Freescale MCF5373 FireEngine board. 3*aa5f1f9dSTsiChungLiew * 4*aa5f1f9dSTsiChungLiew * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 5*aa5f1f9dSTsiChungLiew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 6*aa5f1f9dSTsiChungLiew * 7*aa5f1f9dSTsiChungLiew * See file CREDITS for list of people who contributed to this 8*aa5f1f9dSTsiChungLiew * project. 9*aa5f1f9dSTsiChungLiew * 10*aa5f1f9dSTsiChungLiew * This program is free software; you can redistribute it and/or 11*aa5f1f9dSTsiChungLiew * modify it under the terms of the GNU General Public License as 12*aa5f1f9dSTsiChungLiew * published by the Free Software Foundation; either version 2 of 13*aa5f1f9dSTsiChungLiew * the License, or (at your option) any later version. 14*aa5f1f9dSTsiChungLiew * 15*aa5f1f9dSTsiChungLiew * This program is distributed in the hope that it will be useful, 16*aa5f1f9dSTsiChungLiew * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*aa5f1f9dSTsiChungLiew * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*aa5f1f9dSTsiChungLiew * GNU General Public License for more details. 19*aa5f1f9dSTsiChungLiew * 20*aa5f1f9dSTsiChungLiew * You should have received a copy of the GNU General Public License 21*aa5f1f9dSTsiChungLiew * along with this program; if not, write to the Free Software 22*aa5f1f9dSTsiChungLiew * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 23*aa5f1f9dSTsiChungLiew * MA 02111-1307 USA 24*aa5f1f9dSTsiChungLiew */ 25*aa5f1f9dSTsiChungLiew 26*aa5f1f9dSTsiChungLiew /* 27*aa5f1f9dSTsiChungLiew * board/config.h - configuration options, board specific 28*aa5f1f9dSTsiChungLiew */ 29*aa5f1f9dSTsiChungLiew 30*aa5f1f9dSTsiChungLiew #ifndef _M5373EVB_H 31*aa5f1f9dSTsiChungLiew #define _M5373EVB_H 32*aa5f1f9dSTsiChungLiew 33*aa5f1f9dSTsiChungLiew /* 34*aa5f1f9dSTsiChungLiew * High Level Configuration Options 35*aa5f1f9dSTsiChungLiew * (easy to change) 36*aa5f1f9dSTsiChungLiew */ 37*aa5f1f9dSTsiChungLiew #define CONFIG_MCF532x /* define processor family */ 38*aa5f1f9dSTsiChungLiew #define CONFIG_M5373 /* define processor type */ 39*aa5f1f9dSTsiChungLiew 40*aa5f1f9dSTsiChungLiew #undef DEBUG 41*aa5f1f9dSTsiChungLiew 42*aa5f1f9dSTsiChungLiew #define CONFIG_MCFUART 43*aa5f1f9dSTsiChungLiew #define CFG_UART_PORT (0) 44*aa5f1f9dSTsiChungLiew #define CONFIG_BAUDRATE 115200 45*aa5f1f9dSTsiChungLiew #define CFG_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 } 46*aa5f1f9dSTsiChungLiew 47*aa5f1f9dSTsiChungLiew #undef CONFIG_WATCHDOG 48*aa5f1f9dSTsiChungLiew #define CONFIG_WATCHDOG_TIMEOUT 3360 /* timeout in ms, max is 3.36 sec */ 49*aa5f1f9dSTsiChungLiew 50*aa5f1f9dSTsiChungLiew /* Command line configuration */ 51*aa5f1f9dSTsiChungLiew #include <config_cmd_default.h> 52*aa5f1f9dSTsiChungLiew 53*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_CACHE 54*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_DATE 55*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_ELF 56*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_FLASH 57*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_I2C 58*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_MEMORY 59*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_MISC 60*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_MII 61*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_NET 62*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_PING 63*aa5f1f9dSTsiChungLiew #define CONFIG_CMD_REGINFO 64*aa5f1f9dSTsiChungLiew 65*aa5f1f9dSTsiChungLiew #ifdef NANDFLASH_SIZE 66*aa5f1f9dSTsiChungLiew # define CONFIG_CMD_NAND 67*aa5f1f9dSTsiChungLiew #endif 68*aa5f1f9dSTsiChungLiew 69*aa5f1f9dSTsiChungLiew #define CFG_UNIFY_CACHE 70*aa5f1f9dSTsiChungLiew 71*aa5f1f9dSTsiChungLiew #define CONFIG_MCFFEC 72*aa5f1f9dSTsiChungLiew #ifdef CONFIG_MCFFEC 73*aa5f1f9dSTsiChungLiew # define CONFIG_NET_MULTI 1 74*aa5f1f9dSTsiChungLiew # define CONFIG_MII 1 75*aa5f1f9dSTsiChungLiew # define CFG_DISCOVER_PHY 76*aa5f1f9dSTsiChungLiew # define CFG_RX_ETH_BUFFER 8 77*aa5f1f9dSTsiChungLiew # define CFG_FAULT_ECHO_LINK_DOWN 78*aa5f1f9dSTsiChungLiew 79*aa5f1f9dSTsiChungLiew # define CFG_FEC0_PINMUX 0 80*aa5f1f9dSTsiChungLiew # define CFG_FEC0_MIIBASE CFG_FEC0_IOBASE 81*aa5f1f9dSTsiChungLiew # define MCFFEC_TOUT_LOOP 50000 82*aa5f1f9dSTsiChungLiew /* If CFG_DISCOVER_PHY is not defined - hardcoded */ 83*aa5f1f9dSTsiChungLiew # ifndef CFG_DISCOVER_PHY 84*aa5f1f9dSTsiChungLiew # define FECDUPLEX FULL 85*aa5f1f9dSTsiChungLiew # define FECSPEED _100BASET 86*aa5f1f9dSTsiChungLiew # else 87*aa5f1f9dSTsiChungLiew # ifndef CFG_FAULT_ECHO_LINK_DOWN 88*aa5f1f9dSTsiChungLiew # define CFG_FAULT_ECHO_LINK_DOWN 89*aa5f1f9dSTsiChungLiew # endif 90*aa5f1f9dSTsiChungLiew # endif /* CFG_DISCOVER_PHY */ 91*aa5f1f9dSTsiChungLiew #endif 92*aa5f1f9dSTsiChungLiew 93*aa5f1f9dSTsiChungLiew #define CONFIG_MCFRTC 94*aa5f1f9dSTsiChungLiew #undef RTC_DEBUG 95*aa5f1f9dSTsiChungLiew 96*aa5f1f9dSTsiChungLiew /* Timer */ 97*aa5f1f9dSTsiChungLiew #define CONFIG_MCFTMR 98*aa5f1f9dSTsiChungLiew #undef CONFIG_MCFPIT 99*aa5f1f9dSTsiChungLiew 100*aa5f1f9dSTsiChungLiew /* I2C */ 101*aa5f1f9dSTsiChungLiew #define CONFIG_FSL_I2C 102*aa5f1f9dSTsiChungLiew #define CONFIG_HARD_I2C /* I2C with hw support */ 103*aa5f1f9dSTsiChungLiew #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 104*aa5f1f9dSTsiChungLiew #define CFG_I2C_SPEED 80000 105*aa5f1f9dSTsiChungLiew #define CFG_I2C_SLAVE 0x7F 106*aa5f1f9dSTsiChungLiew #define CFG_I2C_OFFSET 0x58000 107*aa5f1f9dSTsiChungLiew #define CFG_IMMR CFG_MBAR 108*aa5f1f9dSTsiChungLiew 109*aa5f1f9dSTsiChungLiew #define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 110*aa5f1f9dSTsiChungLiew #define CONFIG_UDP_CHECKSUM 111*aa5f1f9dSTsiChungLiew 112*aa5f1f9dSTsiChungLiew #ifdef CONFIG_MCFFEC 113*aa5f1f9dSTsiChungLiew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 114*aa5f1f9dSTsiChungLiew # define CONFIG_IPADDR 192.162.1.2 115*aa5f1f9dSTsiChungLiew # define CONFIG_NETMASK 255.255.255.0 116*aa5f1f9dSTsiChungLiew # define CONFIG_SERVERIP 192.162.1.1 117*aa5f1f9dSTsiChungLiew # define CONFIG_GATEWAYIP 192.162.1.1 118*aa5f1f9dSTsiChungLiew # define CONFIG_OVERWRITE_ETHADDR_ONCE 119*aa5f1f9dSTsiChungLiew #endif /* FEC_ENET */ 120*aa5f1f9dSTsiChungLiew 121*aa5f1f9dSTsiChungLiew #define CONFIG_HOSTNAME M5373EVB 122*aa5f1f9dSTsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS \ 123*aa5f1f9dSTsiChungLiew "netdev=eth0\0" \ 124*aa5f1f9dSTsiChungLiew "loadaddr=" MK_STR(CFG_LOAD_ADDR) "\0" \ 125*aa5f1f9dSTsiChungLiew "u-boot=u-boot.bin\0" \ 126*aa5f1f9dSTsiChungLiew "load=tftp ${loadaddr) ${u-boot}\0" \ 127*aa5f1f9dSTsiChungLiew "upd=run load; run prog\0" \ 128*aa5f1f9dSTsiChungLiew "prog=prot off 0 2ffff;" \ 129*aa5f1f9dSTsiChungLiew "era 0 2ffff;" \ 130*aa5f1f9dSTsiChungLiew "cp.b ${loadaddr} 0 ${filesize};" \ 131*aa5f1f9dSTsiChungLiew "save\0" \ 132*aa5f1f9dSTsiChungLiew "" 133*aa5f1f9dSTsiChungLiew 134*aa5f1f9dSTsiChungLiew #define CONFIG_PRAM 512 /* 512 KB */ 135*aa5f1f9dSTsiChungLiew #define CFG_PROMPT "-> " 136*aa5f1f9dSTsiChungLiew #define CFG_LONGHELP /* undef to save memory */ 137*aa5f1f9dSTsiChungLiew 138*aa5f1f9dSTsiChungLiew #ifdef CONFIG_CMD_KGDB 139*aa5f1f9dSTsiChungLiew # define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 140*aa5f1f9dSTsiChungLiew #else 141*aa5f1f9dSTsiChungLiew # define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 142*aa5f1f9dSTsiChungLiew #endif 143*aa5f1f9dSTsiChungLiew 144*aa5f1f9dSTsiChungLiew #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 145*aa5f1f9dSTsiChungLiew #define CFG_MAXARGS 16 /* max number of command args */ 146*aa5f1f9dSTsiChungLiew #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 147*aa5f1f9dSTsiChungLiew #define CFG_LOAD_ADDR 0x40010000 148*aa5f1f9dSTsiChungLiew 149*aa5f1f9dSTsiChungLiew #define CFG_HZ 1000 150*aa5f1f9dSTsiChungLiew #define CFG_CLK 80000000 151*aa5f1f9dSTsiChungLiew #define CFG_CPU_CLK CFG_CLK * 3 152*aa5f1f9dSTsiChungLiew 153*aa5f1f9dSTsiChungLiew #define CFG_MBAR 0xFC000000 154*aa5f1f9dSTsiChungLiew 155*aa5f1f9dSTsiChungLiew #define CFG_LATCH_ADDR (CFG_CS1_BASE + 0x80000) 156*aa5f1f9dSTsiChungLiew 157*aa5f1f9dSTsiChungLiew /* 158*aa5f1f9dSTsiChungLiew * Low Level Configuration Settings 159*aa5f1f9dSTsiChungLiew * (address mappings, register initial values, etc.) 160*aa5f1f9dSTsiChungLiew * You should know what you are doing if you make changes here. 161*aa5f1f9dSTsiChungLiew */ 162*aa5f1f9dSTsiChungLiew /*----------------------------------------------------------------------- 163*aa5f1f9dSTsiChungLiew * Definitions for initial stack pointer and data area (in DPRAM) 164*aa5f1f9dSTsiChungLiew */ 165*aa5f1f9dSTsiChungLiew #define CFG_INIT_RAM_ADDR 0x80000000 166*aa5f1f9dSTsiChungLiew #define CFG_INIT_RAM_END 0x8000 /* End of used area in internal SRAM */ 167*aa5f1f9dSTsiChungLiew #define CFG_INIT_RAM_CTRL 0x221 168*aa5f1f9dSTsiChungLiew #define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ 169*aa5f1f9dSTsiChungLiew #define CFG_GBL_DATA_OFFSET ((CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) - 0x10) 170*aa5f1f9dSTsiChungLiew #define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET 171*aa5f1f9dSTsiChungLiew 172*aa5f1f9dSTsiChungLiew /*----------------------------------------------------------------------- 173*aa5f1f9dSTsiChungLiew * Start addresses for the final memory configuration 174*aa5f1f9dSTsiChungLiew * (Set up by the startup code) 175*aa5f1f9dSTsiChungLiew * Please note that CFG_SDRAM_BASE _must_ start at 0 176*aa5f1f9dSTsiChungLiew */ 177*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_BASE 0x40000000 178*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_SIZE 32 /* SDRAM size in MB */ 179*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_CFG1 0x53722730 180*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_CFG2 0x56670000 181*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_CTRL 0xE1092000 182*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_EMOD 0x40010000 183*aa5f1f9dSTsiChungLiew #define CFG_SDRAM_MODE 0x018D0000 184*aa5f1f9dSTsiChungLiew 185*aa5f1f9dSTsiChungLiew #define CFG_MEMTEST_START CFG_SDRAM_BASE + 0x400 186*aa5f1f9dSTsiChungLiew #define CFG_MEMTEST_END ((CFG_SDRAM_SIZE - 3) << 20) 187*aa5f1f9dSTsiChungLiew 188*aa5f1f9dSTsiChungLiew #define CFG_MONITOR_BASE (CFG_FLASH_BASE + 0x400) 189*aa5f1f9dSTsiChungLiew #define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 190*aa5f1f9dSTsiChungLiew 191*aa5f1f9dSTsiChungLiew #define CFG_BOOTPARAMS_LEN 64*1024 192*aa5f1f9dSTsiChungLiew #define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 193*aa5f1f9dSTsiChungLiew 194*aa5f1f9dSTsiChungLiew /* 195*aa5f1f9dSTsiChungLiew * For booting Linux, the board info and command line data 196*aa5f1f9dSTsiChungLiew * have to be in the first 8 MB of memory, since this is 197*aa5f1f9dSTsiChungLiew * the maximum mapped by the Linux kernel during initialization ?? 198*aa5f1f9dSTsiChungLiew */ 199*aa5f1f9dSTsiChungLiew #define CFG_BOOTMAPSZ (CFG_SDRAM_BASE + (CFG_SDRAM_SIZE << 20)) 200*aa5f1f9dSTsiChungLiew 201*aa5f1f9dSTsiChungLiew /*----------------------------------------------------------------------- 202*aa5f1f9dSTsiChungLiew * FLASH organization 203*aa5f1f9dSTsiChungLiew */ 204*aa5f1f9dSTsiChungLiew #define CFG_FLASH_CFI 205*aa5f1f9dSTsiChungLiew #ifdef CFG_FLASH_CFI 206*aa5f1f9dSTsiChungLiew # define CFG_FLASH_CFI_DRIVER 1 207*aa5f1f9dSTsiChungLiew # define CFG_FLASH_SIZE 0x800000 /* Max size that the board might have */ 208*aa5f1f9dSTsiChungLiew # define CFG_FLASH_CFI_WIDTH FLASH_CFI_16BIT 209*aa5f1f9dSTsiChungLiew # define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ 210*aa5f1f9dSTsiChungLiew # define CFG_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 211*aa5f1f9dSTsiChungLiew # define CFG_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 212*aa5f1f9dSTsiChungLiew #endif 213*aa5f1f9dSTsiChungLiew 214*aa5f1f9dSTsiChungLiew #ifdef NANDFLASH_SIZE 215*aa5f1f9dSTsiChungLiew # define CFG_MAX_NAND_DEVICE 1 216*aa5f1f9dSTsiChungLiew # define CFG_NAND_BASE CFG_CS2_BASE 217*aa5f1f9dSTsiChungLiew # define CFG_NAND_SIZE 1 218*aa5f1f9dSTsiChungLiew # define CFG_NAND_BASE_LIST { CFG_NAND_BASE } 219*aa5f1f9dSTsiChungLiew # define NAND_MAX_CHIPS 1 220*aa5f1f9dSTsiChungLiew # define NAND_ALLOW_ERASE_ALL 1 221*aa5f1f9dSTsiChungLiew # define CONFIG_JFFS2_NAND 1 222*aa5f1f9dSTsiChungLiew # define CONFIG_JFFS2_DEV "nand0" 223*aa5f1f9dSTsiChungLiew # define CONFIG_JFFS2_PART_SIZE (CFG_CS2_MASK & ~1) 224*aa5f1f9dSTsiChungLiew # define CONFIG_JFFS2_PART_OFFSET 0x00000000 225*aa5f1f9dSTsiChungLiew #endif 226*aa5f1f9dSTsiChungLiew 227*aa5f1f9dSTsiChungLiew #define CFG_FLASH_BASE CFG_CS0_BASE 228*aa5f1f9dSTsiChungLiew 229*aa5f1f9dSTsiChungLiew /* Configuration for environment 230*aa5f1f9dSTsiChungLiew * Environment is embedded in u-boot in the second sector of the flash 231*aa5f1f9dSTsiChungLiew */ 232*aa5f1f9dSTsiChungLiew #define CFG_ENV_OFFSET 0x4000 233*aa5f1f9dSTsiChungLiew #define CFG_ENV_SECT_SIZE 0x2000 234*aa5f1f9dSTsiChungLiew #define CFG_ENV_IS_IN_FLASH 1 235*aa5f1f9dSTsiChungLiew #define CFG_ENV_IS_EMBEDDED 1 236*aa5f1f9dSTsiChungLiew 237*aa5f1f9dSTsiChungLiew /*----------------------------------------------------------------------- 238*aa5f1f9dSTsiChungLiew * Cache Configuration 239*aa5f1f9dSTsiChungLiew */ 240*aa5f1f9dSTsiChungLiew #define CFG_CACHELINE_SIZE 16 241*aa5f1f9dSTsiChungLiew 242*aa5f1f9dSTsiChungLiew /*----------------------------------------------------------------------- 243*aa5f1f9dSTsiChungLiew * Chipselect bank definitions 244*aa5f1f9dSTsiChungLiew */ 245*aa5f1f9dSTsiChungLiew /* 246*aa5f1f9dSTsiChungLiew * CS0 - NOR Flash 1, 2, 4, or 8MB 247*aa5f1f9dSTsiChungLiew * CS1 - CompactFlash and registers 248*aa5f1f9dSTsiChungLiew * CS2 - NAND Flash 16, 32, or 64MB 249*aa5f1f9dSTsiChungLiew * CS3 - Available 250*aa5f1f9dSTsiChungLiew * CS4 - Available 251*aa5f1f9dSTsiChungLiew * CS5 - Available 252*aa5f1f9dSTsiChungLiew */ 253*aa5f1f9dSTsiChungLiew #define CFG_CS0_BASE 0 254*aa5f1f9dSTsiChungLiew #define CFG_CS0_MASK 0x007f0001 255*aa5f1f9dSTsiChungLiew #define CFG_CS0_CTRL 0x00001fa0 256*aa5f1f9dSTsiChungLiew 257*aa5f1f9dSTsiChungLiew #define CFG_CS1_BASE 0x10000000 258*aa5f1f9dSTsiChungLiew #define CFG_CS1_MASK 0x001f0001 259*aa5f1f9dSTsiChungLiew #define CFG_CS1_CTRL 0x002A3780 260*aa5f1f9dSTsiChungLiew 261*aa5f1f9dSTsiChungLiew #ifdef NANDFLASH_SIZE 262*aa5f1f9dSTsiChungLiew #define CFG_CS2_BASE 0x20000000 263*aa5f1f9dSTsiChungLiew #define CFG_CS2_MASK ((NANDFLASH_SIZE << 20) | 1) 264*aa5f1f9dSTsiChungLiew #define CFG_CS2_CTRL 0x00001f60 265*aa5f1f9dSTsiChungLiew #endif 266*aa5f1f9dSTsiChungLiew 267*aa5f1f9dSTsiChungLiew #endif /* _M5373EVB_H */ 268