14a442d31STsiChungLiew /* 24a442d31STsiChungLiew * Configuation settings for the Freescale MCF5329 FireEngine board. 34a442d31STsiChungLiew * 44a442d31STsiChungLiew * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 54a442d31STsiChungLiew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 64a442d31STsiChungLiew * 74a442d31STsiChungLiew * See file CREDITS for list of people who contributed to this 84a442d31STsiChungLiew * project. 94a442d31STsiChungLiew * 104a442d31STsiChungLiew * This program is free software; you can redistribute it and/or 114a442d31STsiChungLiew * modify it under the terms of the GNU General Public License as 124a442d31STsiChungLiew * published by the Free Software Foundation; either version 2 of 134a442d31STsiChungLiew * the License, or (at your option) any later version. 144a442d31STsiChungLiew * 154a442d31STsiChungLiew * This program is distributed in the hope that it will be useful, 164a442d31STsiChungLiew * but WITHOUT ANY WARRANTY; without even the implied warranty of 174a442d31STsiChungLiew * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 184a442d31STsiChungLiew * GNU General Public License for more details. 194a442d31STsiChungLiew * 204a442d31STsiChungLiew * You should have received a copy of the GNU General Public License 214a442d31STsiChungLiew * along with this program; if not, write to the Free Software 224a442d31STsiChungLiew * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 234a442d31STsiChungLiew * MA 02111-1307 USA 244a442d31STsiChungLiew */ 254a442d31STsiChungLiew 264a442d31STsiChungLiew /* 274a442d31STsiChungLiew * board/config.h - configuration options, board specific 284a442d31STsiChungLiew */ 294a442d31STsiChungLiew 304a442d31STsiChungLiew #ifndef _M5235EVB_H 314a442d31STsiChungLiew #define _M5235EVB_H 324a442d31STsiChungLiew 334a442d31STsiChungLiew /* 344a442d31STsiChungLiew * High Level Configuration Options 354a442d31STsiChungLiew * (easy to change) 364a442d31STsiChungLiew */ 374a442d31STsiChungLiew #define CONFIG_MCF523x /* define processor family */ 384a442d31STsiChungLiew #define CONFIG_M5235 /* define processor type */ 394a442d31STsiChungLiew 404a442d31STsiChungLiew #define CONFIG_MCFUART 416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UART_PORT (0) 424a442d31STsiChungLiew #define CONFIG_BAUDRATE 115200 436d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 } 444a442d31STsiChungLiew 454a442d31STsiChungLiew #undef CONFIG_WATCHDOG 464a442d31STsiChungLiew #define CONFIG_WATCHDOG_TIMEOUT 5000 /* timeout in milliseconds, max timeout is 6.71sec */ 474a442d31STsiChungLiew 484a442d31STsiChungLiew /* 494a442d31STsiChungLiew * BOOTP options 504a442d31STsiChungLiew */ 514a442d31STsiChungLiew #define CONFIG_BOOTP_BOOTFILESIZE 524a442d31STsiChungLiew #define CONFIG_BOOTP_BOOTPATH 534a442d31STsiChungLiew #define CONFIG_BOOTP_GATEWAY 544a442d31STsiChungLiew #define CONFIG_BOOTP_HOSTNAME 554a442d31STsiChungLiew 564a442d31STsiChungLiew /* Command line configuration */ 574a442d31STsiChungLiew #include <config_cmd_default.h> 584a442d31STsiChungLiew 594a442d31STsiChungLiew #define CONFIG_CMD_BOOTD 604a442d31STsiChungLiew #define CONFIG_CMD_CACHE 614a442d31STsiChungLiew #define CONFIG_CMD_DHCP 624a442d31STsiChungLiew #define CONFIG_CMD_ELF 634a442d31STsiChungLiew #define CONFIG_CMD_FLASH 644a442d31STsiChungLiew #define CONFIG_CMD_I2C 654a442d31STsiChungLiew #define CONFIG_CMD_MEMORY 664a442d31STsiChungLiew #define CONFIG_CMD_MISC 674a442d31STsiChungLiew #define CONFIG_CMD_MII 684a442d31STsiChungLiew #define CONFIG_CMD_NET 694a442d31STsiChungLiew #define CONFIG_CMD_PCI 704a442d31STsiChungLiew #define CONFIG_CMD_PING 714a442d31STsiChungLiew #define CONFIG_CMD_REGINFO 724a442d31STsiChungLiew 734a442d31STsiChungLiew #undef CONFIG_CMD_LOADB 744a442d31STsiChungLiew #undef CONFIG_CMD_LOADS 754a442d31STsiChungLiew 764a442d31STsiChungLiew #define CONFIG_MCFFEC 774a442d31STsiChungLiew #ifdef CONFIG_MCFFEC 784a442d31STsiChungLiew # define CONFIG_NET_MULTI 1 794a442d31STsiChungLiew # define CONFIG_MII 1 800f3ba7e9STsiChung Liew # define CONFIG_MII_INIT 1 816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_DISCOVER_PHY 826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_RX_ETH_BUFFER 8 836d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 844a442d31STsiChungLiew 856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_PINMUX 0 866d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE 874a442d31STsiChungLiew # define MCFFEC_TOUT_LOOP 50000 886d0f6bcfSJean-Christophe PLAGNIOL-VILLARD /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */ 896d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_DISCOVER_PHY 904a442d31STsiChungLiew # define FECDUPLEX FULL 914a442d31STsiChungLiew # define FECSPEED _100BASET 924a442d31STsiChungLiew # else 936d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN 946d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 954a442d31STsiChungLiew # endif 966d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # endif /* CONFIG_SYS_DISCOVER_PHY */ 974a442d31STsiChungLiew #endif 984a442d31STsiChungLiew 994a442d31STsiChungLiew /* Timer */ 1004a442d31STsiChungLiew #define CONFIG_MCFTMR 1014a442d31STsiChungLiew #undef CONFIG_MCFPIT 1024a442d31STsiChungLiew 1034a442d31STsiChungLiew /* I2C */ 1044a442d31STsiChungLiew #define CONFIG_FSL_I2C 1054a442d31STsiChungLiew #define CONFIG_HARD_I2C /* I2C with hw support */ 1064a442d31STsiChungLiew #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 1076d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_SPEED 80000 1086d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_SLAVE 0x7F 1096d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_OFFSET 0x00000300 1106d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IMMR CONFIG_SYS_MBAR 1116d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_REG (gpio->par_qspi) 1126d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_CLR ~(GPIO_PAR_FECI2C_SCL_MASK | GPIO_PAR_FECI2C_SDA_MASK) 1136d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_SET (GPIO_PAR_FECI2C_SCL_I2CSCL | GPIO_PAR_FECI2C_SDA_I2CSDA) 1144a442d31STsiChungLiew 1154a442d31STsiChungLiew /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ 1164a442d31STsiChungLiew #define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 1174a442d31STsiChungLiew #define CONFIG_BOOTFILE "u-boot.bin" 1184a442d31STsiChungLiew #ifdef CONFIG_MCFFEC 1194a442d31STsiChungLiew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 1204a442d31STsiChungLiew # define CONFIG_IPADDR 192.162.1.2 1214a442d31STsiChungLiew # define CONFIG_NETMASK 255.255.255.0 1224a442d31STsiChungLiew # define CONFIG_SERVERIP 192.162.1.1 1234a442d31STsiChungLiew # define CONFIG_GATEWAYIP 192.162.1.1 1244a442d31STsiChungLiew # define CONFIG_OVERWRITE_ETHADDR_ONCE 1254a442d31STsiChungLiew #endif /* FEC_ENET */ 1264a442d31STsiChungLiew 1274a442d31STsiChungLiew #define CONFIG_HOSTNAME M5235EVB 1284a442d31STsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS \ 1294a442d31STsiChungLiew "netdev=eth0\0" \ 1304a442d31STsiChungLiew "loadaddr=10000\0" \ 1314a442d31STsiChungLiew "u-boot=u-boot.bin\0" \ 1324a442d31STsiChungLiew "load=tftp ${loadaddr) ${u-boot}\0" \ 1334a442d31STsiChungLiew "upd=run load; run prog\0" \ 1344a442d31STsiChungLiew "prog=prot off ffe00000 ffe3ffff;" \ 1354a442d31STsiChungLiew "era ffe00000 ffe3ffff;" \ 1364a442d31STsiChungLiew "cp.b ${loadaddr} ffe00000 ${filesize};"\ 1374a442d31STsiChungLiew "save\0" \ 1384a442d31STsiChungLiew "" 1394a442d31STsiChungLiew 1404a442d31STsiChungLiew #define CONFIG_PRAM 512 /* 512 KB */ 1416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PROMPT "-> " 1426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 1434a442d31STsiChungLiew 1444a442d31STsiChungLiew #if defined(CONFIG_KGDB) 1456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 1464a442d31STsiChungLiew #else 1476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 1484a442d31STsiChungLiew #endif 1494a442d31STsiChungLiew 1506d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ 1516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 1526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ 1536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE+0x20000) 1544a442d31STsiChungLiew 1556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HZ 1000 1566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CLK 75000000 1576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CPU_CLK CONFIG_SYS_CLK * 2 1584a442d31STsiChungLiew 1596d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR 0x40000000 1604a442d31STsiChungLiew 1614a442d31STsiChungLiew /* 1624a442d31STsiChungLiew * Low Level Configuration Settings 1634a442d31STsiChungLiew * (address mappings, register initial values, etc.) 1644a442d31STsiChungLiew * You should know what you are doing if you make changes here. 1654a442d31STsiChungLiew */ 1664a442d31STsiChungLiew /*----------------------------------------------------------------------- 1674a442d31STsiChungLiew * Definitions for initial stack pointer and data area (in DPRAM) 1684a442d31STsiChungLiew */ 1696d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 1706d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_END 0x10000 /* End of used area in internal SRAM */ 1716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_CTRL 0x21 1726d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ 1736d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE - 0x10) 1746d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 1754a442d31STsiChungLiew 1764a442d31STsiChungLiew /*----------------------------------------------------------------------- 1774a442d31STsiChungLiew * Start addresses for the final memory configuration 1784a442d31STsiChungLiew * (Set up by the startup code) 1796d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 1804a442d31STsiChungLiew */ 1816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE 0x00000000 1826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */ 1834a442d31STsiChungLiew 1846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE + 0x400 1856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END ((CONFIG_SYS_SDRAM_SIZE - 3) << 20) 1864a442d31STsiChungLiew 1876d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400) 1886d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 1894a442d31STsiChungLiew 1906d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTPARAMS_LEN 64*1024 1916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 1924a442d31STsiChungLiew 1934a442d31STsiChungLiew /* 1944a442d31STsiChungLiew * For booting Linux, the board info and command line data 1954a442d31STsiChungLiew * have to be in the first 8 MB of memory, since this is 1964a442d31STsiChungLiew * the maximum mapped by the Linux kernel during initialization ?? 1974a442d31STsiChungLiew */ 1984a442d31STsiChungLiew /* Initial Memory map for Linux */ 1996d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) 200d6e4baf4STsiChung Liew #define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) 2014a442d31STsiChungLiew 2024a442d31STsiChungLiew /*----------------------------------------------------------------------- 2034a442d31STsiChungLiew * FLASH organization 2044a442d31STsiChungLiew */ 2056d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI 2066d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_FLASH_CFI 20700b1883aSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_FLASH_CFI_DRIVER 1 2086d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_SIZE 0x800000 /* Max size that the board might have */ 2094a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 2106d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_32BIT 2114a442d31STsiChungLiew #else 2126d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 2134a442d31STsiChungLiew #endif 2146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 2156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 2166d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 2174a442d31STsiChungLiew #endif 2184a442d31STsiChungLiew 219012522feSTsiChung Liew #define CONFIG_SYS_FLASH_BASE (CONFIG_SYS_CS0_BASE) 2204a442d31STsiChungLiew 2214a442d31STsiChungLiew /* Configuration for environment 2224a442d31STsiChungLiew * Environment is embedded in u-boot in the second sector of the flash 2234a442d31STsiChungLiew */ 2245a1aceb0SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_FLASH 1 2254a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 2260e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET (0x8000) 2270e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x4000 2280e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x4000 2294a442d31STsiChungLiew #else 2300e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET (0x4000) 2310e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x2000 2320e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x2000 2334a442d31STsiChungLiew #endif 2344a442d31STsiChungLiew 2354a442d31STsiChungLiew /*----------------------------------------------------------------------- 2364a442d31STsiChungLiew * Cache Configuration 2374a442d31STsiChungLiew */ 2386d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CACHELINE_SIZE 16 2394a442d31STsiChungLiew 240*dd9f054eSTsiChung Liew #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 241*dd9f054eSTsiChung Liew CONFIG_SYS_INIT_RAM_END - 8) 242*dd9f054eSTsiChung Liew #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 243*dd9f054eSTsiChung Liew CONFIG_SYS_INIT_RAM_END - 4) 244*dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV) 245*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \ 246*dd9f054eSTsiChung Liew CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 247*dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 248*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_DISD | \ 249*dd9f054eSTsiChung Liew CF_CACR_CEIB | CF_CACR_DCM | \ 250*dd9f054eSTsiChung Liew CF_CACR_EUSP) 251*dd9f054eSTsiChung Liew 2524a442d31STsiChungLiew /*----------------------------------------------------------------------- 2534a442d31STsiChungLiew * Chipselect bank definitions 2544a442d31STsiChungLiew */ 2554a442d31STsiChungLiew /* 2564a442d31STsiChungLiew * CS0 - NOR Flash 1, 2, 4, or 8MB 2574a442d31STsiChungLiew * CS1 - Available 2584a442d31STsiChungLiew * CS2 - Available 2594a442d31STsiChungLiew * CS3 - Available 2604a442d31STsiChungLiew * CS4 - Available 2614a442d31STsiChungLiew * CS5 - Available 2624a442d31STsiChungLiew * CS6 - Available 2634a442d31STsiChungLiew * CS7 - Available 2644a442d31STsiChungLiew */ 2654a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 266012522feSTsiChung Liew # define CONFIG_SYS_CS0_BASE 0xFFC00000 2676d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CS0_MASK 0x003f0001 268012522feSTsiChung Liew # define CONFIG_SYS_CS0_CTRL 0x00001D00 2694a442d31STsiChungLiew #else 270012522feSTsiChung Liew # define CONFIG_SYS_CS0_BASE 0xFFE00000 2716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CS0_MASK 0x001f0001 272012522feSTsiChung Liew # define CONFIG_SYS_CS0_CTRL 0x00001D80 2734a442d31STsiChungLiew #endif 2744a442d31STsiChungLiew 2754a442d31STsiChungLiew #endif /* _M5329EVB_H */ 276