18e585f02STsiChung Liew /* 28e585f02STsiChung Liew * Configuation settings for the Freescale MCF5329 FireEngine board. 38e585f02STsiChung Liew * 48e585f02STsiChung Liew * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 58e585f02STsiChung Liew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 68e585f02STsiChung Liew * 78e585f02STsiChung Liew * See file CREDITS for list of people who contributed to this 88e585f02STsiChung Liew * project. 98e585f02STsiChung Liew * 108e585f02STsiChung Liew * This program is free software; you can redistribute it and/or 118e585f02STsiChung Liew * modify it under the terms of the GNU General Public License as 128e585f02STsiChung Liew * published by the Free Software Foundation; either version 2 of 138e585f02STsiChung Liew * the License, or (at your option) any later version. 148e585f02STsiChung Liew * 158e585f02STsiChung Liew * This program is distributed in the hope that it will be useful, 168e585f02STsiChung Liew * but WITHOUT ANY WARRANTY; without even the implied warranty of 178e585f02STsiChung Liew * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 188e585f02STsiChung Liew * GNU General Public License for more details. 198e585f02STsiChung Liew * 208e585f02STsiChung Liew * You should have received a copy of the GNU General Public License 218e585f02STsiChung Liew * along with this program; if not, write to the Free Software 228e585f02STsiChung Liew * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 238e585f02STsiChung Liew * MA 02111-1307 USA 248e585f02STsiChung Liew */ 258e585f02STsiChung Liew 268e585f02STsiChung Liew /* 278e585f02STsiChung Liew * board/config.h - configuration options, board specific 288e585f02STsiChung Liew */ 298e585f02STsiChung Liew 308e585f02STsiChung Liew #ifndef _M5329EVB_H 318e585f02STsiChung Liew #define _M5329EVB_H 328e585f02STsiChung Liew 338e585f02STsiChung Liew /* 348e585f02STsiChung Liew * High Level Configuration Options 358e585f02STsiChung Liew * (easy to change) 368e585f02STsiChung Liew */ 378e585f02STsiChung Liew #define CONFIG_MCF532x /* define processor family */ 388e585f02STsiChung Liew #define CONFIG_M5329 /* define processor type */ 398e585f02STsiChung Liew 409998bd37STsiChungLiew #define CONFIG_MCFUART 419998bd37STsiChungLiew #define CFG_UART_PORT (0) 428e585f02STsiChung Liew #define CONFIG_BAUDRATE 115200 438e585f02STsiChung Liew #define CFG_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 } 448e585f02STsiChung Liew 458e585f02STsiChung Liew #undef CONFIG_WATCHDOG 468e585f02STsiChung Liew #define CONFIG_WATCHDOG_TIMEOUT 5000 /* timeout in milliseconds, max timeout is 6.71sec */ 478e585f02STsiChung Liew 48ab77bc54STsiChungLiew /* Command line configuration */ 49ab77bc54STsiChungLiew #include <config_cmd_default.h> 50ab77bc54STsiChungLiew 51ab77bc54STsiChungLiew #define CONFIG_CMD_CACHE 52ab77bc54STsiChungLiew #define CONFIG_CMD_DATE 53ab77bc54STsiChungLiew #define CONFIG_CMD_ELF 54ab77bc54STsiChungLiew #define CONFIG_CMD_FLASH 55ab77bc54STsiChungLiew #define CONFIG_CMD_I2C 56ab77bc54STsiChungLiew #define CONFIG_CMD_MEMORY 57ab77bc54STsiChungLiew #define CONFIG_CMD_MISC 58ab77bc54STsiChungLiew #define CONFIG_CMD_MII 59ab77bc54STsiChungLiew #define CONFIG_CMD_NET 60ab77bc54STsiChungLiew #define CONFIG_CMD_PING 61ab77bc54STsiChungLiew #define CONFIG_CMD_REGINFO 620dca874dSTsiChung 631a33ce65STsiChungLiew #ifdef NANDFLASH_SIZE 64ab77bc54STsiChungLiew # define CONFIG_CMD_NAND 651a33ce65STsiChungLiew #endif 661a33ce65STsiChungLiew 670dca874dSTsiChung #define CFG_UNIFY_CACHE 688e585f02STsiChung Liew 698e585f02STsiChung Liew #define CONFIG_MCFFEC 708e585f02STsiChung Liew #ifdef CONFIG_MCFFEC 718e585f02STsiChung Liew # define CONFIG_NET_MULTI 1 728e585f02STsiChung Liew # define CONFIG_MII 1 73*0f3ba7e9STsiChung Liew # define CONFIG_MII_INIT 1 748e585f02STsiChung Liew # define CFG_DISCOVER_PHY 758e585f02STsiChung Liew # define CFG_RX_ETH_BUFFER 8 768e585f02STsiChung Liew # define CFG_FAULT_ECHO_LINK_DOWN 778e585f02STsiChung Liew 788e585f02STsiChung Liew # define CFG_FEC0_PINMUX 0 798e585f02STsiChung Liew # define CFG_FEC0_MIIBASE CFG_FEC0_IOBASE 808e585f02STsiChung Liew # define MCFFEC_TOUT_LOOP 50000 818e585f02STsiChung Liew /* If CFG_DISCOVER_PHY is not defined - hardcoded */ 828e585f02STsiChung Liew # ifndef CFG_DISCOVER_PHY 838e585f02STsiChung Liew # define FECDUPLEX FULL 848e585f02STsiChung Liew # define FECSPEED _100BASET 858e585f02STsiChung Liew # else 868e585f02STsiChung Liew # ifndef CFG_FAULT_ECHO_LINK_DOWN 878e585f02STsiChung Liew # define CFG_FAULT_ECHO_LINK_DOWN 888e585f02STsiChung Liew # endif 898e585f02STsiChung Liew # endif /* CFG_DISCOVER_PHY */ 908e585f02STsiChung Liew #endif 918e585f02STsiChung Liew 928e585f02STsiChung Liew #define CONFIG_MCFRTC 938e585f02STsiChung Liew #undef RTC_DEBUG 948e585f02STsiChung Liew 958e585f02STsiChung Liew /* Timer */ 968e585f02STsiChung Liew #define CONFIG_MCFTMR 978e585f02STsiChung Liew #undef CONFIG_MCFPIT 988e585f02STsiChung Liew 99eaf9e447STsiChungLiew /* I2C */ 100eaf9e447STsiChungLiew #define CONFIG_FSL_I2C 101eaf9e447STsiChungLiew #define CONFIG_HARD_I2C /* I2C with hw support */ 102eaf9e447STsiChungLiew #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 103eaf9e447STsiChungLiew #define CFG_I2C_SPEED 80000 104eaf9e447STsiChungLiew #define CFG_I2C_SLAVE 0x7F 105eaf9e447STsiChungLiew #define CFG_I2C_OFFSET 0x58000 106eaf9e447STsiChungLiew #define CFG_IMMR CFG_MBAR 107eaf9e447STsiChungLiew 1088e585f02STsiChung Liew #define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 109ab77bc54STsiChungLiew #define CONFIG_UDP_CHECKSUM 110ab77bc54STsiChungLiew 1118e585f02STsiChung Liew #ifdef CONFIG_MCFFEC 1128e585f02STsiChung Liew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 1138e585f02STsiChung Liew # define CONFIG_IPADDR 192.162.1.2 1148e585f02STsiChung Liew # define CONFIG_NETMASK 255.255.255.0 1158e585f02STsiChung Liew # define CONFIG_SERVERIP 192.162.1.1 1168e585f02STsiChung Liew # define CONFIG_GATEWAYIP 192.162.1.1 1178e585f02STsiChung Liew # define CONFIG_OVERWRITE_ETHADDR_ONCE 1188e585f02STsiChung Liew #endif /* FEC_ENET */ 1198e585f02STsiChung Liew 1208e585f02STsiChung Liew #define CONFIG_HOSTNAME M5329EVB 1218e585f02STsiChung Liew #define CONFIG_EXTRA_ENV_SETTINGS \ 1228e585f02STsiChung Liew "netdev=eth0\0" \ 1238e585f02STsiChung Liew "loadaddr=40010000\0" \ 1248e585f02STsiChung Liew "u-boot=u-boot.bin\0" \ 1258e585f02STsiChung Liew "load=tftp ${loadaddr) ${u-boot}\0" \ 1268e585f02STsiChung Liew "upd=run load; run prog\0" \ 1278e585f02STsiChung Liew "prog=prot off 0 2ffff;" \ 1288e585f02STsiChung Liew "era 0 2ffff;" \ 1298e585f02STsiChung Liew "cp.b ${loadaddr} 0 ${filesize};" \ 1308e585f02STsiChung Liew "save\0" \ 1318e585f02STsiChung Liew "" 1328e585f02STsiChung Liew 1338e585f02STsiChung Liew #define CONFIG_PRAM 512 /* 512 KB */ 1348e585f02STsiChung Liew #define CFG_PROMPT "-> " 1358e585f02STsiChung Liew #define CFG_LONGHELP /* undef to save memory */ 1368e585f02STsiChung Liew 137ab77bc54STsiChungLiew #ifdef CONFIG_CMD_KGDB 1388e585f02STsiChung Liew # define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 1398e585f02STsiChung Liew #else 1408e585f02STsiChung Liew # define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 1418e585f02STsiChung Liew #endif 1428e585f02STsiChung Liew 1438e585f02STsiChung Liew #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 1448e585f02STsiChung Liew #define CFG_MAXARGS 16 /* max number of command args */ 1458e585f02STsiChung Liew #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 1468e585f02STsiChung Liew #define CFG_LOAD_ADDR 0x40010000 1478e585f02STsiChung Liew 1488e585f02STsiChung Liew #define CFG_HZ 1000 1498e585f02STsiChung Liew #define CFG_CLK 80000000 1508e585f02STsiChung Liew #define CFG_CPU_CLK CFG_CLK * 3 1518e585f02STsiChung Liew 1528e585f02STsiChung Liew #define CFG_MBAR 0xFC000000 1538e585f02STsiChung Liew 1541a33ce65STsiChungLiew #define CFG_LATCH_ADDR (CFG_CS1_BASE + 0x80000) 1551a33ce65STsiChungLiew 1568e585f02STsiChung Liew /* 1578e585f02STsiChung Liew * Low Level Configuration Settings 1588e585f02STsiChung Liew * (address mappings, register initial values, etc.) 1598e585f02STsiChung Liew * You should know what you are doing if you make changes here. 1608e585f02STsiChung Liew */ 1618e585f02STsiChung Liew /*----------------------------------------------------------------------- 1628e585f02STsiChung Liew * Definitions for initial stack pointer and data area (in DPRAM) 1638e585f02STsiChung Liew */ 1648e585f02STsiChung Liew #define CFG_INIT_RAM_ADDR 0x80000000 1658e585f02STsiChung Liew #define CFG_INIT_RAM_END 0x8000 /* End of used area in internal SRAM */ 1668e585f02STsiChung Liew #define CFG_INIT_RAM_CTRL 0x221 1678e585f02STsiChung Liew #define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ 168ab77bc54STsiChungLiew #define CFG_GBL_DATA_OFFSET ((CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) - 0x10) 1698e585f02STsiChung Liew #define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET 1708e585f02STsiChung Liew 1718e585f02STsiChung Liew /*----------------------------------------------------------------------- 1728e585f02STsiChung Liew * Start addresses for the final memory configuration 1738e585f02STsiChung Liew * (Set up by the startup code) 1748e585f02STsiChung Liew * Please note that CFG_SDRAM_BASE _must_ start at 0 1758e585f02STsiChung Liew */ 1768e585f02STsiChung Liew #define CFG_SDRAM_BASE 0x40000000 177c67e12e7STsiChungLiew #define CFG_SDRAM_SIZE 32 /* SDRAM size in MB */ 1788e585f02STsiChung Liew #define CFG_SDRAM_CFG1 0x53722730 1798e585f02STsiChung Liew #define CFG_SDRAM_CFG2 0x56670000 1808e585f02STsiChung Liew #define CFG_SDRAM_CTRL 0xE1092000 1818e585f02STsiChung Liew #define CFG_SDRAM_EMOD 0x40010000 1828e585f02STsiChung Liew #define CFG_SDRAM_MODE 0x018D0000 1838e585f02STsiChung Liew 1848e585f02STsiChung Liew #define CFG_MEMTEST_START CFG_SDRAM_BASE + 0x400 1858e585f02STsiChung Liew #define CFG_MEMTEST_END ((CFG_SDRAM_SIZE - 3) << 20) 1868e585f02STsiChung Liew 1878e585f02STsiChung Liew #define CFG_MONITOR_BASE (CFG_FLASH_BASE + 0x400) 1888e585f02STsiChung Liew #define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 1898e585f02STsiChung Liew 1908e585f02STsiChung Liew #define CFG_BOOTPARAMS_LEN 64*1024 1918e585f02STsiChung Liew #define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 1928e585f02STsiChung Liew 1938e585f02STsiChung Liew /* 1948e585f02STsiChung Liew * For booting Linux, the board info and command line data 1958e585f02STsiChung Liew * have to be in the first 8 MB of memory, since this is 1968e585f02STsiChung Liew * the maximum mapped by the Linux kernel during initialization ?? 1978e585f02STsiChung Liew */ 198ab77bc54STsiChungLiew #define CFG_BOOTMAPSZ (CFG_SDRAM_BASE + (CFG_SDRAM_SIZE << 20)) 1998e585f02STsiChung Liew 2008e585f02STsiChung Liew /*----------------------------------------------------------------------- 2018e585f02STsiChung Liew * FLASH organization 2028e585f02STsiChung Liew */ 20348dbfeabSTsiChungLiew #define CFG_FLASH_CFI 2048e585f02STsiChung Liew #ifdef CFG_FLASH_CFI 2058e585f02STsiChung Liew # define CFG_FLASH_CFI_DRIVER 1 2068e585f02STsiChung Liew # define CFG_FLASH_SIZE 0x800000 /* Max size that the board might have */ 2078e585f02STsiChung Liew # define CFG_FLASH_CFI_WIDTH FLASH_CFI_16BIT 20848dbfeabSTsiChungLiew # define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ 20948dbfeabSTsiChungLiew # define CFG_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 21048dbfeabSTsiChungLiew # define CFG_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 2118e585f02STsiChung Liew #endif 2128e585f02STsiChung Liew 2131a33ce65STsiChungLiew #ifdef NANDFLASH_SIZE 2141a33ce65STsiChungLiew # define CFG_MAX_NAND_DEVICE 1 215320d6199STsiChungLiew # define CFG_NAND_BASE CFG_CS2_BASE 2161a33ce65STsiChungLiew # define CFG_NAND_SIZE 1 2171a33ce65STsiChungLiew # define CFG_NAND_BASE_LIST { CFG_NAND_BASE } 2181a33ce65STsiChungLiew # define NAND_MAX_CHIPS 1 2191a33ce65STsiChungLiew # define NAND_ALLOW_ERASE_ALL 1 2201a33ce65STsiChungLiew # define CONFIG_JFFS2_NAND 1 2211a33ce65STsiChungLiew # define CONFIG_JFFS2_DEV "nand0" 2221a33ce65STsiChungLiew # define CONFIG_JFFS2_PART_SIZE (CFG_CS2_MASK & ~1) 2231a33ce65STsiChungLiew # define CONFIG_JFFS2_PART_OFFSET 0x00000000 2241a33ce65STsiChungLiew #endif 2251a33ce65STsiChungLiew 226320d6199STsiChungLiew #define CFG_FLASH_BASE CFG_CS0_BASE 2278e585f02STsiChung Liew 2288e585f02STsiChung Liew /* Configuration for environment 2298e585f02STsiChung Liew * Environment is embedded in u-boot in the second sector of the flash 2308e585f02STsiChung Liew */ 2318e585f02STsiChung Liew #define CFG_ENV_OFFSET 0x4000 2328e585f02STsiChung Liew #define CFG_ENV_SECT_SIZE 0x2000 2338e585f02STsiChung Liew #define CFG_ENV_IS_IN_FLASH 1 2348e585f02STsiChung Liew #define CFG_ENV_IS_EMBEDDED 1 2358e585f02STsiChung Liew 2368e585f02STsiChung Liew /*----------------------------------------------------------------------- 2378e585f02STsiChung Liew * Cache Configuration 2388e585f02STsiChung Liew */ 2398e585f02STsiChung Liew #define CFG_CACHELINE_SIZE 16 2408e585f02STsiChung Liew 2418e585f02STsiChung Liew /*----------------------------------------------------------------------- 2428e585f02STsiChung Liew * Chipselect bank definitions 2438e585f02STsiChung Liew */ 2448e585f02STsiChung Liew /* 2458e585f02STsiChung Liew * CS0 - NOR Flash 1, 2, 4, or 8MB 2468e585f02STsiChung Liew * CS1 - CompactFlash and registers 2478e585f02STsiChung Liew * CS2 - NAND Flash 16, 32, or 64MB 2488e585f02STsiChung Liew * CS3 - Available 2498e585f02STsiChung Liew * CS4 - Available 2508e585f02STsiChung Liew * CS5 - Available 2518e585f02STsiChung Liew */ 2528e585f02STsiChung Liew #define CFG_CS0_BASE 0 2538e585f02STsiChung Liew #define CFG_CS0_MASK 0x007f0001 2548e585f02STsiChung Liew #define CFG_CS0_CTRL 0x00001fa0 2558e585f02STsiChung Liew 256320d6199STsiChungLiew #define CFG_CS1_BASE 0x10000000 2578e585f02STsiChung Liew #define CFG_CS1_MASK 0x001f0001 2588e585f02STsiChung Liew #define CFG_CS1_CTRL 0x002A3780 2598e585f02STsiChung Liew 2608e585f02STsiChung Liew #ifdef NANDFLASH_SIZE 261320d6199STsiChungLiew #define CFG_CS2_BASE 0x20000000 2621a33ce65STsiChungLiew #define CFG_CS2_MASK ((NANDFLASH_SIZE << 20) | 1) 2638e585f02STsiChung Liew #define CFG_CS2_CTRL 0x00001f60 2648e585f02STsiChung Liew #endif 2658e585f02STsiChung Liew 2668e585f02STsiChung Liew #endif /* _M5329EVB_H */ 267