105316f8eSTsiChung Liew /* 205316f8eSTsiChung Liew * Configuation settings for the Freescale MCF54451 EVB board. 305316f8eSTsiChung Liew * 405316f8eSTsiChung Liew * Copyright (C) 2004-2008 Freescale Semiconductor, Inc. 505316f8eSTsiChung Liew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 605316f8eSTsiChung Liew * 705316f8eSTsiChung Liew * See file CREDITS for list of people who contributed to this 805316f8eSTsiChung Liew * project. 905316f8eSTsiChung Liew * 1005316f8eSTsiChung Liew * This program is free software; you can redistribute it and/or 1105316f8eSTsiChung Liew * modify it under the terms of the GNU General Public License as 1205316f8eSTsiChung Liew * published by the Free Software Foundation; either version 2 of 1305316f8eSTsiChung Liew * the License, or (at your option) any later version. 1405316f8eSTsiChung Liew * 1505316f8eSTsiChung Liew * This program is distributed in the hope that it will be useful, 1605316f8eSTsiChung Liew * but WITHOUT ANY WARRANTY; without even the implied warranty of 1705316f8eSTsiChung Liew * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1805316f8eSTsiChung Liew * GNU General Public License for more details. 1905316f8eSTsiChung Liew * 2005316f8eSTsiChung Liew * You should have received a copy of the GNU General Public License 2105316f8eSTsiChung Liew * along with this program; if not, write to the Free Software 2205316f8eSTsiChung Liew * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 2305316f8eSTsiChung Liew * MA 02111-1307 USA 2405316f8eSTsiChung Liew */ 2505316f8eSTsiChung Liew 2605316f8eSTsiChung Liew /* 2705316f8eSTsiChung Liew * board/config.h - configuration options, board specific 2805316f8eSTsiChung Liew */ 2905316f8eSTsiChung Liew 3005316f8eSTsiChung Liew #ifndef _M54451EVB_H 3105316f8eSTsiChung Liew #define _M54451EVB_H 3205316f8eSTsiChung Liew 3305316f8eSTsiChung Liew /* 3405316f8eSTsiChung Liew * High Level Configuration Options 3505316f8eSTsiChung Liew * (easy to change) 3605316f8eSTsiChung Liew */ 3705316f8eSTsiChung Liew #define CONFIG_MCF5445x /* define processor family */ 3805316f8eSTsiChung Liew #define CONFIG_M54451 /* define processor type */ 3905316f8eSTsiChung Liew #define CONFIG_M54451EVB /* M54451EVB board */ 4005316f8eSTsiChung Liew 4105316f8eSTsiChung Liew #define CONFIG_MCFUART 426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UART_PORT (0) 4305316f8eSTsiChung Liew #define CONFIG_BAUDRATE 115200 446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 } 4505316f8eSTsiChung Liew 4605316f8eSTsiChung Liew #undef CONFIG_WATCHDOG 4705316f8eSTsiChung Liew 4805316f8eSTsiChung Liew #define CONFIG_TIMESTAMP /* Print image info with timestamp */ 4905316f8eSTsiChung Liew 5005316f8eSTsiChung Liew /* 5105316f8eSTsiChung Liew * BOOTP options 5205316f8eSTsiChung Liew */ 5305316f8eSTsiChung Liew #define CONFIG_BOOTP_BOOTFILESIZE 5405316f8eSTsiChung Liew #define CONFIG_BOOTP_BOOTPATH 5505316f8eSTsiChung Liew #define CONFIG_BOOTP_GATEWAY 5605316f8eSTsiChung Liew #define CONFIG_BOOTP_HOSTNAME 5705316f8eSTsiChung Liew 5805316f8eSTsiChung Liew /* Command line configuration */ 5905316f8eSTsiChung Liew #include <config_cmd_default.h> 6005316f8eSTsiChung Liew 6105316f8eSTsiChung Liew #define CONFIG_CMD_BOOTD 6205316f8eSTsiChung Liew #define CONFIG_CMD_CACHE 6305316f8eSTsiChung Liew #define CONFIG_CMD_DATE 6405316f8eSTsiChung Liew #define CONFIG_CMD_DHCP 6505316f8eSTsiChung Liew #define CONFIG_CMD_ELF 6605316f8eSTsiChung Liew #define CONFIG_CMD_FLASH 6705316f8eSTsiChung Liew #define CONFIG_CMD_I2C 6805316f8eSTsiChung Liew #undef CONFIG_CMD_JFFS2 6905316f8eSTsiChung Liew #define CONFIG_CMD_MEMORY 7005316f8eSTsiChung Liew #define CONFIG_CMD_MISC 7105316f8eSTsiChung Liew #define CONFIG_CMD_MII 7205316f8eSTsiChung Liew #define CONFIG_CMD_NET 73709b384bSTsiChung Liew #define CONFIG_CMD_NFS 7405316f8eSTsiChung Liew #define CONFIG_CMD_PING 7505316f8eSTsiChung Liew #define CONFIG_CMD_REGINFO 7605316f8eSTsiChung Liew #define CONFIG_CMD_SPI 7705316f8eSTsiChung Liew #define CONFIG_CMD_SF 7805316f8eSTsiChung Liew 7905316f8eSTsiChung Liew #undef CONFIG_CMD_LOADB 8005316f8eSTsiChung Liew #undef CONFIG_CMD_LOADS 8105316f8eSTsiChung Liew 8205316f8eSTsiChung Liew /* Network configuration */ 8305316f8eSTsiChung Liew #define CONFIG_MCFFEC 8405316f8eSTsiChung Liew #ifdef CONFIG_MCFFEC 8505316f8eSTsiChung Liew # define CONFIG_NET_MULTI 1 8605316f8eSTsiChung Liew # define CONFIG_MII 1 8705316f8eSTsiChung Liew # define CONFIG_MII_INIT 1 886d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_DISCOVER_PHY 896d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_RX_ETH_BUFFER 8 906d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 9105316f8eSTsiChung Liew 926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_PINMUX 0 936d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE 9405316f8eSTsiChung Liew # define MCFFEC_TOUT_LOOP 50000 9505316f8eSTsiChung Liew 9605316f8eSTsiChung Liew # define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 97052c0891STsiChung Liew # define CONFIG_BOOTARGS "root=/dev/mtdblock1 rw rootfstype=jffs2 ip=none mtdparts=physmap-flash.0:2M(kernel)ro,-(jffs2)" 9805316f8eSTsiChung Liew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 9905316f8eSTsiChung Liew # define CONFIG_ETHPRIME "FEC0" 10005316f8eSTsiChung Liew # define CONFIG_IPADDR 192.162.1.2 10105316f8eSTsiChung Liew # define CONFIG_NETMASK 255.255.255.0 10205316f8eSTsiChung Liew # define CONFIG_SERVERIP 192.162.1.1 10305316f8eSTsiChung Liew # define CONFIG_GATEWAYIP 192.162.1.1 10405316f8eSTsiChung Liew # define CONFIG_OVERWRITE_ETHADDR_ONCE 10505316f8eSTsiChung Liew 1066d0f6bcfSJean-Christophe PLAGNIOL-VILLARD /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */ 1076d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_DISCOVER_PHY 10805316f8eSTsiChung Liew # define FECDUPLEX FULL 10905316f8eSTsiChung Liew # define FECSPEED _100BASET 11005316f8eSTsiChung Liew # else 1116d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN 1126d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 11305316f8eSTsiChung Liew # endif 1146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # endif /* CONFIG_SYS_DISCOVER_PHY */ 11505316f8eSTsiChung Liew #endif 11605316f8eSTsiChung Liew 11705316f8eSTsiChung Liew #define CONFIG_HOSTNAME M54451EVB 1186d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_STMICRO_BOOT 11905316f8eSTsiChung Liew /* ST Micro serial flash */ 1206d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR2 0x40010007 12105316f8eSTsiChung Liew #define CONFIG_EXTRA_ENV_SETTINGS \ 12205316f8eSTsiChung Liew "netdev=eth0\0" \ 1236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD "inpclk=" MK_STR(CONFIG_SYS_INPUT_CLKSRC) "\0" \ 12405316f8eSTsiChung Liew "loadaddr=0x40010000\0" \ 12505316f8eSTsiChung Liew "sbfhdr=sbfhdr.bin\0" \ 12605316f8eSTsiChung Liew "uboot=u-boot.bin\0" \ 12705316f8eSTsiChung Liew "load=tftp ${loadaddr} ${sbfhdr};" \ 1286d0f6bcfSJean-Christophe PLAGNIOL-VILLARD "tftp " MK_STR(CONFIG_SYS_LOAD_ADDR2) " ${uboot} \0" \ 12905316f8eSTsiChung Liew "upd=run load; run prog\0" \ 13005316f8eSTsiChung Liew "prog=sf probe 0:1 10000 1;" \ 13105316f8eSTsiChung Liew "sf erase 0 30000;" \ 13205316f8eSTsiChung Liew "sf write ${loadaddr} 0 30000;" \ 13305316f8eSTsiChung Liew "save\0" \ 13405316f8eSTsiChung Liew "" 13505316f8eSTsiChung Liew #else 1366d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UBOOT_END 0x3FFFF 13705316f8eSTsiChung Liew #define CONFIG_EXTRA_ENV_SETTINGS \ 13805316f8eSTsiChung Liew "netdev=eth0\0" \ 1396d0f6bcfSJean-Christophe PLAGNIOL-VILLARD "inpclk=" MK_STR(CONFIG_SYS_INPUT_CLKSRC) "\0" \ 14005316f8eSTsiChung Liew "loadaddr=40010000\0" \ 14105316f8eSTsiChung Liew "u-boot=u-boot.bin\0" \ 14205316f8eSTsiChung Liew "load=tftp ${loadaddr) ${u-boot}\0" \ 14305316f8eSTsiChung Liew "upd=run load; run prog\0" \ 1446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD "prog=prot off 0 " MK_STR(CONFIG_SYS_UBOOT_END) \ 1456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD "; era 0 " MK_STR(CONFIG_SYS_UBOOT_END) " ;" \ 14605316f8eSTsiChung Liew "cp.b ${loadaddr} 0 ${filesize};" \ 14705316f8eSTsiChung Liew "save\0" \ 14805316f8eSTsiChung Liew "" 14905316f8eSTsiChung Liew #endif 15005316f8eSTsiChung Liew 15105316f8eSTsiChung Liew /* Realtime clock */ 15205316f8eSTsiChung Liew #define CONFIG_MCFRTC 15305316f8eSTsiChung Liew #undef RTC_DEBUG 1546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_RTC_OSCILLATOR (32 * CONFIG_SYS_HZ) 15505316f8eSTsiChung Liew 15605316f8eSTsiChung Liew /* Timer */ 15705316f8eSTsiChung Liew #define CONFIG_MCFTMR 15805316f8eSTsiChung Liew #undef CONFIG_MCFPIT 15905316f8eSTsiChung Liew 16005316f8eSTsiChung Liew /* I2c */ 16105316f8eSTsiChung Liew #define CONFIG_FSL_I2C 16205316f8eSTsiChung Liew #define CONFIG_HARD_I2C /* I2C with hardware support */ 16305316f8eSTsiChung Liew #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 1646d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_SPEED 80000 /* I2C speed and slave address */ 1656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_SLAVE 0x7F 1666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_OFFSET 0x58000 1676d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IMMR CONFIG_SYS_MBAR 16805316f8eSTsiChung Liew 16905316f8eSTsiChung Liew /* DSPI and Serial Flash */ 170ee0a8462STsiChung Liew #define CONFIG_CF_SPI 17105316f8eSTsiChung Liew #define CONFIG_CF_DSPI 17205316f8eSTsiChung Liew #define CONFIG_SERIAL_FLASH 17305316f8eSTsiChung Liew #define CONFIG_HARD_SPI 1746d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SBFHDR_SIZE 0x7 17505316f8eSTsiChung Liew #ifdef CONFIG_CMD_SPI 17605316f8eSTsiChung Liew # define CONFIG_SPI_FLASH 17705316f8eSTsiChung Liew # define CONFIG_SPI_FLASH_STMICRO 17805316f8eSTsiChung Liew 179ee0a8462STsiChung Liew # define CONFIG_SYS_DSPI_CTAR0 (DSPI_CTAR_TRSZ(7) | \ 180ee0a8462STsiChung Liew DSPI_CTAR_PCSSCK_1CLK | \ 181ee0a8462STsiChung Liew DSPI_CTAR_PASC(0) | \ 182ee0a8462STsiChung Liew DSPI_CTAR_PDT(0) | \ 183ee0a8462STsiChung Liew DSPI_CTAR_CSSCK(0) | \ 184ee0a8462STsiChung Liew DSPI_CTAR_ASC(0) | \ 185ee0a8462STsiChung Liew DSPI_CTAR_DT(1)) 186ee0a8462STsiChung Liew # define CONFIG_SYS_DSPI_CTAR1 (CONFIG_SYS_DSPI_CTAR0) 187ee0a8462STsiChung Liew # define CONFIG_SYS_DSPI_CTAR2 (CONFIG_SYS_DSPI_CTAR0) 18805316f8eSTsiChung Liew #endif 18905316f8eSTsiChung Liew 19005316f8eSTsiChung Liew /* Input, PCI, Flexbus, and VCO */ 19105316f8eSTsiChung Liew #define CONFIG_EXTRA_CLOCK 19205316f8eSTsiChung Liew 19305316f8eSTsiChung Liew #define CONFIG_PRAM 2048 /* 2048 KB */ 19405316f8eSTsiChung Liew 1956d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PROMPT "-> " 1966d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 19705316f8eSTsiChung Liew 19805316f8eSTsiChung Liew #if defined(CONFIG_CMD_KGDB) 1996d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 20005316f8eSTsiChung Liew #else 2016d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 20205316f8eSTsiChung Liew #endif 2036d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ 2046d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 2056d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ 20605316f8eSTsiChung Liew 2076d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x10000) 20805316f8eSTsiChung Liew 2096d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HZ 1000 21005316f8eSTsiChung Liew 2116d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR 0xFC000000 21205316f8eSTsiChung Liew 21305316f8eSTsiChung Liew /* 21405316f8eSTsiChung Liew * Low Level Configuration Settings 21505316f8eSTsiChung Liew * (address mappings, register initial values, etc.) 21605316f8eSTsiChung Liew * You should know what you are doing if you make changes here. 21705316f8eSTsiChung Liew */ 21805316f8eSTsiChung Liew 21905316f8eSTsiChung Liew /*----------------------------------------------------------------------- 22005316f8eSTsiChung Liew * Definitions for initial stack pointer and data area (in DPRAM) 22105316f8eSTsiChung Liew */ 2226d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0x80000000 2236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_END 0x8000 /* End of used area in internal SRAM */ 2246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_CTRL 0x221 2256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GBL_DATA_SIZE 256 /* size in bytes reserved for initial data */ 2266d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GBL_DATA_OFFSET ((CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE) - 32) 2276d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 2286d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SBFHDR_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - 32) 22905316f8eSTsiChung Liew 23005316f8eSTsiChung Liew /*----------------------------------------------------------------------- 23105316f8eSTsiChung Liew * Start addresses for the final memory configuration 23205316f8eSTsiChung Liew * (Set up by the startup code) 2336d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 23405316f8eSTsiChung Liew */ 2356d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE 0x40000000 2366d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 128 /* SDRAM size in MB */ 2376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_CFG1 0x33633F30 2386d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_CFG2 0x57670000 2396d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_CTRL 0xE20D2C00 2406d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_EMOD 0x80810000 2416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_MODE 0x008D0000 2426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_DRV_STRENGTH 0x44 24305316f8eSTsiChung Liew 2446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE + 0x400 2456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END ((CONFIG_SYS_SDRAM_SIZE - 3) << 20) 24605316f8eSTsiChung Liew 24705316f8eSTsiChung Liew #ifdef CONFIG_CF_SBF 2486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MONITOR_BASE (TEXT_BASE + 0x400) 24905316f8eSTsiChung Liew #else 2506d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400) 25105316f8eSTsiChung Liew #endif 2526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTPARAMS_LEN 64*1024 2536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 2546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 25505316f8eSTsiChung Liew 25605316f8eSTsiChung Liew /* 25705316f8eSTsiChung Liew * For booting Linux, the board info and command line data 25805316f8eSTsiChung Liew * have to be in the first 8 MB of memory, since this is 25905316f8eSTsiChung Liew * the maximum mapped by the Linux kernel during initialization ?? 26005316f8eSTsiChung Liew */ 26105316f8eSTsiChung Liew /* Initial Memory map for Linux */ 2626d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) 26305316f8eSTsiChung Liew 26405316f8eSTsiChung Liew /* Configuration for environment 26505316f8eSTsiChung Liew * Environment is embedded in u-boot in the second sector of the flash 26605316f8eSTsiChung Liew */ 267709b384bSTsiChung Liew #if defined(CONFIG_SYS_STMICRO_BOOT) 2680b5099a8SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_IS_IN_SPI_FLASH 1 2690e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SPI_CS 1 2700e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET 0x20000 2710e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x2000 2720e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x10000 27305316f8eSTsiChung Liew #else 2745a1aceb0SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_IS_IN_FLASH 1 275709b384bSTsiChung Liew # define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x8000) 276709b384bSTsiChung Liew # define CONFIG_ENV_SIZE 0x2000 277709b384bSTsiChung Liew # define CONFIG_ENV_SECT_SIZE 0x8000 27805316f8eSTsiChung Liew #endif 27905316f8eSTsiChung Liew #undef CONFIG_ENV_OVERWRITE 28005316f8eSTsiChung Liew 281ee0a8462STsiChung Liew /* FLASH organization */ 2826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_BASE CONFIG_SYS_CS0_BASE 28305316f8eSTsiChung Liew 2846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI 2856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_FLASH_CFI 28605316f8eSTsiChung Liew 28705316f8eSTsiChung Liew # define CONFIG_FLASH_CFI_DRIVER 1 288709b384bSTsiChung Liew # define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 2896d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_SIZE 0x1000000 /* Max size that the board might have */ 2906d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 2916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 2926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 2936d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 2946d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CHECKSUM 2956d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_CS0_BASE } 29605316f8eSTsiChung Liew 29705316f8eSTsiChung Liew #endif 29805316f8eSTsiChung Liew 29905316f8eSTsiChung Liew /* 30005316f8eSTsiChung Liew * This is setting for JFFS2 support in u-boot. 30105316f8eSTsiChung Liew * NOTE: Enable CONFIG_CMD_JFFS2 for JFFS2 support. 30205316f8eSTsiChung Liew */ 303709b384bSTsiChung Liew #ifdef CONFIG_CMD_JFFS2 30405316f8eSTsiChung Liew # define CONFIG_JFFS2_DEV "nor0" 30505316f8eSTsiChung Liew # define CONFIG_JFFS2_PART_SIZE 0x01000000 3066d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_JFFS2_PART_OFFSET (CONFIG_SYS_FLASH0_BASE + 0x500000) 30705316f8eSTsiChung Liew #endif 30805316f8eSTsiChung Liew 309709b384bSTsiChung Liew /* Cache Configuration */ 3106d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CACHELINE_SIZE 16 31105316f8eSTsiChung Liew 312*dd9f054eSTsiChung Liew #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 313*dd9f054eSTsiChung Liew CONFIG_SYS_INIT_RAM_END - 8) 314*dd9f054eSTsiChung Liew #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 315*dd9f054eSTsiChung Liew CONFIG_SYS_INIT_RAM_END - 4) 316*dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV (CF_CACR_BCINVA + CF_CACR_ICINVA) 317*dd9f054eSTsiChung Liew #define CONFIG_SYS_DCACHE_INV (CF_CACR_DCINVA) 318*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR2 (CONFIG_SYS_SDRAM_BASE | \ 319*dd9f054eSTsiChung Liew CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 320*dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 321*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR (CF_CACR_BEC | CF_CACR_IEC | \ 322*dd9f054eSTsiChung Liew CF_CACR_ICINVA | CF_CACR_EUSP) 323*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_DCACR ((CONFIG_SYS_CACHE_ICACR | \ 324*dd9f054eSTsiChung Liew CF_CACR_DEC | CF_CACR_DDCM_P | \ 325*dd9f054eSTsiChung Liew CF_CACR_DCINVA) & ~CF_CACR_ICINVA) 326*dd9f054eSTsiChung Liew 32705316f8eSTsiChung Liew /*----------------------------------------------------------------------- 32805316f8eSTsiChung Liew * Memory bank definitions 32905316f8eSTsiChung Liew */ 33005316f8eSTsiChung Liew /* 331709b384bSTsiChung Liew * CS0 - NOR Flash 16MB 33205316f8eSTsiChung Liew * CS1 - Available 33305316f8eSTsiChung Liew * CS2 - Available 33405316f8eSTsiChung Liew * CS3 - Available 33505316f8eSTsiChung Liew * CS4 - Available 33605316f8eSTsiChung Liew * CS5 - Available 33705316f8eSTsiChung Liew */ 33805316f8eSTsiChung Liew 339709b384bSTsiChung Liew /* Flash */ 3406d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS0_BASE 0x00000000 341709b384bSTsiChung Liew #define CONFIG_SYS_CS0_MASK 0x00FF0001 342709b384bSTsiChung Liew #define CONFIG_SYS_CS0_CTRL 0x00004D80 34305316f8eSTsiChung Liew 3446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SPANSION_BASE CONFIG_SYS_CS0_BASE 34505316f8eSTsiChung Liew 34605316f8eSTsiChung Liew #endif /* _M54451EVB_H */ 347