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 408e585f02STsiChung Liew #undef DEBUG 418e585f02STsiChung Liew 429998bd37STsiChungLiew #define CONFIG_MCFUART 439998bd37STsiChungLiew #define CFG_UART_PORT (0) 448e585f02STsiChung Liew #define CONFIG_BAUDRATE 115200 458e585f02STsiChung Liew #define CFG_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 } 468e585f02STsiChung Liew 478e585f02STsiChung Liew #undef CONFIG_WATCHDOG 488e585f02STsiChung Liew #define CONFIG_WATCHDOG_TIMEOUT 5000 /* timeout in milliseconds, max timeout is 6.71sec */ 498e585f02STsiChung Liew 50ab77bc54STsiChungLiew /* Command line configuration */ 51ab77bc54STsiChungLiew #include <config_cmd_default.h> 52ab77bc54STsiChungLiew 53ab77bc54STsiChungLiew #define CONFIG_CMD_CACHE 54ab77bc54STsiChungLiew #define CONFIG_CMD_DATE 55ab77bc54STsiChungLiew #define CONFIG_CMD_ELF 56ab77bc54STsiChungLiew #define CONFIG_CMD_FLASH 57ab77bc54STsiChungLiew #define CONFIG_CMD_I2C 58ab77bc54STsiChungLiew #define CONFIG_CMD_MEMORY 59ab77bc54STsiChungLiew #define CONFIG_CMD_MISC 60ab77bc54STsiChungLiew #define CONFIG_CMD_MII 61ab77bc54STsiChungLiew #define CONFIG_CMD_NET 62ab77bc54STsiChungLiew #define CONFIG_CMD_PING 63ab77bc54STsiChungLiew #define CONFIG_CMD_REGINFO 640dca874dSTsiChung 651a33ce65STsiChungLiew #ifdef NANDFLASH_SIZE 66ab77bc54STsiChungLiew # define CONFIG_CMD_NAND 671a33ce65STsiChungLiew #endif 681a33ce65STsiChungLiew 690dca874dSTsiChung #define CFG_UNIFY_CACHE 708e585f02STsiChung Liew 718e585f02STsiChung Liew #define CONFIG_MCFFEC 728e585f02STsiChung Liew #ifdef CONFIG_MCFFEC 738e585f02STsiChung Liew # define CONFIG_NET_MULTI 1 748e585f02STsiChung Liew # define CONFIG_MII 1 758e585f02STsiChung Liew # define CFG_DISCOVER_PHY 768e585f02STsiChung Liew # define CFG_RX_ETH_BUFFER 8 778e585f02STsiChung Liew # define CFG_FAULT_ECHO_LINK_DOWN 788e585f02STsiChung Liew 798e585f02STsiChung Liew # define CFG_FEC0_PINMUX 0 808e585f02STsiChung Liew # define CFG_FEC0_MIIBASE CFG_FEC0_IOBASE 818e585f02STsiChung Liew # define MCFFEC_TOUT_LOOP 50000 828e585f02STsiChung Liew /* If CFG_DISCOVER_PHY is not defined - hardcoded */ 838e585f02STsiChung Liew # ifndef CFG_DISCOVER_PHY 848e585f02STsiChung Liew # define FECDUPLEX FULL 858e585f02STsiChung Liew # define FECSPEED _100BASET 868e585f02STsiChung Liew # else 878e585f02STsiChung Liew # ifndef CFG_FAULT_ECHO_LINK_DOWN 888e585f02STsiChung Liew # define CFG_FAULT_ECHO_LINK_DOWN 898e585f02STsiChung Liew # endif 908e585f02STsiChung Liew # endif /* CFG_DISCOVER_PHY */ 918e585f02STsiChung Liew #endif 928e585f02STsiChung Liew 938e585f02STsiChung Liew #define CONFIG_MCFRTC 948e585f02STsiChung Liew #undef RTC_DEBUG 958e585f02STsiChung Liew 968e585f02STsiChung Liew /* Timer */ 978e585f02STsiChung Liew #define CONFIG_MCFTMR 988e585f02STsiChung Liew #undef CONFIG_MCFPIT 998e585f02STsiChung Liew 100eaf9e447STsiChungLiew /* I2C */ 101eaf9e447STsiChungLiew #define CONFIG_FSL_I2C 102eaf9e447STsiChungLiew #define CONFIG_HARD_I2C /* I2C with hw support */ 103eaf9e447STsiChungLiew #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 104eaf9e447STsiChungLiew #define CFG_I2C_SPEED 80000 105eaf9e447STsiChungLiew #define CFG_I2C_SLAVE 0x7F 106eaf9e447STsiChungLiew #define CFG_I2C_OFFSET 0x58000 107eaf9e447STsiChungLiew #define CFG_IMMR CFG_MBAR 108eaf9e447STsiChungLiew 1098e585f02STsiChung Liew #define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 110ab77bc54STsiChungLiew #define CONFIG_UDP_CHECKSUM 111ab77bc54STsiChungLiew 1128e585f02STsiChung Liew #ifdef CONFIG_MCFFEC 1138e585f02STsiChung Liew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 1148e585f02STsiChung Liew # define CONFIG_IPADDR 192.162.1.2 1158e585f02STsiChung Liew # define CONFIG_NETMASK 255.255.255.0 1168e585f02STsiChung Liew # define CONFIG_SERVERIP 192.162.1.1 1178e585f02STsiChung Liew # define CONFIG_GATEWAYIP 192.162.1.1 1188e585f02STsiChung Liew # define CONFIG_OVERWRITE_ETHADDR_ONCE 1198e585f02STsiChung Liew #endif /* FEC_ENET */ 1208e585f02STsiChung Liew 1218e585f02STsiChung Liew #define CONFIG_HOSTNAME M5329EVB 1228e585f02STsiChung Liew #define CONFIG_EXTRA_ENV_SETTINGS \ 1238e585f02STsiChung Liew "netdev=eth0\0" \ 1248e585f02STsiChung Liew "loadaddr=40010000\0" \ 1258e585f02STsiChung Liew "u-boot=u-boot.bin\0" \ 1268e585f02STsiChung Liew "load=tftp ${loadaddr) ${u-boot}\0" \ 1278e585f02STsiChung Liew "upd=run load; run prog\0" \ 1288e585f02STsiChung Liew "prog=prot off 0 2ffff;" \ 1298e585f02STsiChung Liew "era 0 2ffff;" \ 1308e585f02STsiChung Liew "cp.b ${loadaddr} 0 ${filesize};" \ 1318e585f02STsiChung Liew "save\0" \ 1328e585f02STsiChung Liew "" 1338e585f02STsiChung Liew 1348e585f02STsiChung Liew #define CONFIG_PRAM 512 /* 512 KB */ 1358e585f02STsiChung Liew #define CFG_PROMPT "-> " 1368e585f02STsiChung Liew #define CFG_LONGHELP /* undef to save memory */ 1378e585f02STsiChung Liew 138ab77bc54STsiChungLiew #ifdef CONFIG_CMD_KGDB 1398e585f02STsiChung Liew # define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 1408e585f02STsiChung Liew #else 1418e585f02STsiChung Liew # define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 1428e585f02STsiChung Liew #endif 1438e585f02STsiChung Liew 1448e585f02STsiChung Liew #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 1458e585f02STsiChung Liew #define CFG_MAXARGS 16 /* max number of command args */ 1468e585f02STsiChung Liew #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 1478e585f02STsiChung Liew #define CFG_LOAD_ADDR 0x40010000 1488e585f02STsiChung Liew 1498e585f02STsiChung Liew #define CFG_HZ 1000 1508e585f02STsiChung Liew #define CFG_CLK 80000000 1518e585f02STsiChung Liew #define CFG_CPU_CLK CFG_CLK * 3 1528e585f02STsiChung Liew 1538e585f02STsiChung Liew #define CFG_MBAR 0xFC000000 1548e585f02STsiChung Liew 1551a33ce65STsiChungLiew #define CFG_LATCH_ADDR (CFG_CS1_BASE + 0x80000) 1561a33ce65STsiChungLiew 1578e585f02STsiChung Liew /* 1588e585f02STsiChung Liew * Low Level Configuration Settings 1598e585f02STsiChung Liew * (address mappings, register initial values, etc.) 1608e585f02STsiChung Liew * You should know what you are doing if you make changes here. 1618e585f02STsiChung Liew */ 1628e585f02STsiChung Liew /*----------------------------------------------------------------------- 1638e585f02STsiChung Liew * Definitions for initial stack pointer and data area (in DPRAM) 1648e585f02STsiChung Liew */ 1658e585f02STsiChung Liew #define CFG_INIT_RAM_ADDR 0x80000000 1668e585f02STsiChung Liew #define CFG_INIT_RAM_END 0x8000 /* End of used area in internal SRAM */ 1678e585f02STsiChung Liew #define CFG_INIT_RAM_CTRL 0x221 1688e585f02STsiChung Liew #define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ 169ab77bc54STsiChungLiew #define CFG_GBL_DATA_OFFSET ((CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) - 0x10) 1708e585f02STsiChung Liew #define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET 1718e585f02STsiChung Liew 1728e585f02STsiChung Liew /*----------------------------------------------------------------------- 1738e585f02STsiChung Liew * Start addresses for the final memory configuration 1748e585f02STsiChung Liew * (Set up by the startup code) 1758e585f02STsiChung Liew * Please note that CFG_SDRAM_BASE _must_ start at 0 1768e585f02STsiChung Liew */ 1778e585f02STsiChung Liew #define CFG_SDRAM_BASE 0x40000000 178*c67e12e7STsiChungLiew #define CFG_SDRAM_SIZE 32 /* SDRAM size in MB */ 1798e585f02STsiChung Liew #define CFG_SDRAM_CFG1 0x53722730 1808e585f02STsiChung Liew #define CFG_SDRAM_CFG2 0x56670000 1818e585f02STsiChung Liew #define CFG_SDRAM_CTRL 0xE1092000 1828e585f02STsiChung Liew #define CFG_SDRAM_EMOD 0x40010000 1838e585f02STsiChung Liew #define CFG_SDRAM_MODE 0x018D0000 1848e585f02STsiChung Liew 1858e585f02STsiChung Liew #define CFG_MEMTEST_START CFG_SDRAM_BASE + 0x400 1868e585f02STsiChung Liew #define CFG_MEMTEST_END ((CFG_SDRAM_SIZE - 3) << 20) 1878e585f02STsiChung Liew 1888e585f02STsiChung Liew #define CFG_MONITOR_BASE (CFG_FLASH_BASE + 0x400) 1898e585f02STsiChung Liew #define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 1908e585f02STsiChung Liew 1918e585f02STsiChung Liew #define CFG_BOOTPARAMS_LEN 64*1024 1928e585f02STsiChung Liew #define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 1938e585f02STsiChung Liew 1948e585f02STsiChung Liew /* 1958e585f02STsiChung Liew * For booting Linux, the board info and command line data 1968e585f02STsiChung Liew * have to be in the first 8 MB of memory, since this is 1978e585f02STsiChung Liew * the maximum mapped by the Linux kernel during initialization ?? 1988e585f02STsiChung Liew */ 199ab77bc54STsiChungLiew #define CFG_BOOTMAPSZ (CFG_SDRAM_BASE + (CFG_SDRAM_SIZE << 20)) 2008e585f02STsiChung Liew 2018e585f02STsiChung Liew /*----------------------------------------------------------------------- 2028e585f02STsiChung Liew * FLASH organization 2038e585f02STsiChung Liew */ 20448dbfeabSTsiChungLiew #define CFG_FLASH_CFI 2058e585f02STsiChung Liew #ifdef CFG_FLASH_CFI 2068e585f02STsiChung Liew # define CFG_FLASH_CFI_DRIVER 1 2078e585f02STsiChung Liew # define CFG_FLASH_SIZE 0x800000 /* Max size that the board might have */ 2088e585f02STsiChung Liew # define CFG_FLASH_CFI_WIDTH FLASH_CFI_16BIT 20948dbfeabSTsiChungLiew # define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ 21048dbfeabSTsiChungLiew # define CFG_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 21148dbfeabSTsiChungLiew # define CFG_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 2128e585f02STsiChung Liew #endif 2138e585f02STsiChung Liew 2141a33ce65STsiChungLiew #ifdef NANDFLASH_SIZE 2151a33ce65STsiChungLiew # define CFG_MAX_NAND_DEVICE 1 2161a33ce65STsiChungLiew # define CFG_NAND_BASE (CFG_CS2_BASE << 16) 2171a33ce65STsiChungLiew # define CFG_NAND_SIZE 1 2181a33ce65STsiChungLiew # define CFG_NAND_BASE_LIST { CFG_NAND_BASE } 2191a33ce65STsiChungLiew # define NAND_MAX_CHIPS 1 2201a33ce65STsiChungLiew # define NAND_ALLOW_ERASE_ALL 1 2211a33ce65STsiChungLiew # define CONFIG_JFFS2_NAND 1 2221a33ce65STsiChungLiew # define CONFIG_JFFS2_DEV "nand0" 2231a33ce65STsiChungLiew # define CONFIG_JFFS2_PART_SIZE (CFG_CS2_MASK & ~1) 2241a33ce65STsiChungLiew # define CONFIG_JFFS2_PART_OFFSET 0x00000000 2251a33ce65STsiChungLiew #endif 2261a33ce65STsiChungLiew 227ab77bc54STsiChungLiew #define CFG_FLASH_BASE (CFG_CS0_BASE << 16) 2288e585f02STsiChung Liew 2298e585f02STsiChung Liew /* Configuration for environment 2308e585f02STsiChung Liew * Environment is embedded in u-boot in the second sector of the flash 2318e585f02STsiChung Liew */ 2328e585f02STsiChung Liew #define CFG_ENV_OFFSET 0x4000 2338e585f02STsiChung Liew #define CFG_ENV_SECT_SIZE 0x2000 2348e585f02STsiChung Liew #define CFG_ENV_IS_IN_FLASH 1 2358e585f02STsiChung Liew #define CFG_ENV_IS_EMBEDDED 1 2368e585f02STsiChung Liew 2378e585f02STsiChung Liew /*----------------------------------------------------------------------- 2388e585f02STsiChung Liew * Cache Configuration 2398e585f02STsiChung Liew */ 2408e585f02STsiChung Liew #define CFG_CACHELINE_SIZE 16 2418e585f02STsiChung Liew 2428e585f02STsiChung Liew /*----------------------------------------------------------------------- 2438e585f02STsiChung Liew * Chipselect bank definitions 2448e585f02STsiChung Liew */ 2458e585f02STsiChung Liew /* 2468e585f02STsiChung Liew * CS0 - NOR Flash 1, 2, 4, or 8MB 2478e585f02STsiChung Liew * CS1 - CompactFlash and registers 2488e585f02STsiChung Liew * CS2 - NAND Flash 16, 32, or 64MB 2498e585f02STsiChung Liew * CS3 - Available 2508e585f02STsiChung Liew * CS4 - Available 2518e585f02STsiChung Liew * CS5 - Available 2528e585f02STsiChung Liew */ 2538e585f02STsiChung Liew #define CFG_CS0_BASE 0 2548e585f02STsiChung Liew #define CFG_CS0_MASK 0x007f0001 2558e585f02STsiChung Liew #define CFG_CS0_CTRL 0x00001fa0 2568e585f02STsiChung Liew 2578e585f02STsiChung Liew #define CFG_CS1_BASE 0x1000 2588e585f02STsiChung Liew #define CFG_CS1_MASK 0x001f0001 2598e585f02STsiChung Liew #define CFG_CS1_CTRL 0x002A3780 2608e585f02STsiChung Liew 2618e585f02STsiChung Liew #ifdef NANDFLASH_SIZE 2621a33ce65STsiChungLiew #define CFG_CS2_BASE 0x2000 2631a33ce65STsiChungLiew #define CFG_CS2_MASK ((NANDFLASH_SIZE << 20) | 1) 2648e585f02STsiChung Liew #define CFG_CS2_CTRL 0x00001f60 2658e585f02STsiChung Liew #endif 2668e585f02STsiChung Liew 2678e585f02STsiChung Liew #endif /* _M5329EVB_H */ 268