18ae158cdSTsiChungLiew /* 28ae158cdSTsiChungLiew * Configuation settings for the Freescale MCF54455 EVB board. 38ae158cdSTsiChungLiew * 48ae158cdSTsiChungLiew * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 58ae158cdSTsiChungLiew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 68ae158cdSTsiChungLiew * 78ae158cdSTsiChungLiew * See file CREDITS for list of people who contributed to this 88ae158cdSTsiChungLiew * project. 98ae158cdSTsiChungLiew * 108ae158cdSTsiChungLiew * This program is free software; you can redistribute it and/or 118ae158cdSTsiChungLiew * modify it under the terms of the GNU General Public License as 128ae158cdSTsiChungLiew * published by the Free Software Foundation; either version 2 of 138ae158cdSTsiChungLiew * the License, or (at your option) any later version. 148ae158cdSTsiChungLiew * 158ae158cdSTsiChungLiew * This program is distributed in the hope that it will be useful, 168ae158cdSTsiChungLiew * but WITHOUT ANY WARRANTY; without even the implied warranty of 178ae158cdSTsiChungLiew * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 188ae158cdSTsiChungLiew * GNU General Public License for more details. 198ae158cdSTsiChungLiew * 208ae158cdSTsiChungLiew * You should have received a copy of the GNU General Public License 218ae158cdSTsiChungLiew * along with this program; if not, write to the Free Software 228ae158cdSTsiChungLiew * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 238ae158cdSTsiChungLiew * MA 02111-1307 USA 248ae158cdSTsiChungLiew */ 258ae158cdSTsiChungLiew 268ae158cdSTsiChungLiew /* 278ae158cdSTsiChungLiew * board/config.h - configuration options, board specific 288ae158cdSTsiChungLiew */ 298ae158cdSTsiChungLiew 30e8ee8f3aSTsiChungLiew #ifndef _M54455EVB_H 31e8ee8f3aSTsiChungLiew #define _M54455EVB_H 328ae158cdSTsiChungLiew 338ae158cdSTsiChungLiew /* 348ae158cdSTsiChungLiew * High Level Configuration Options 358ae158cdSTsiChungLiew * (easy to change) 368ae158cdSTsiChungLiew */ 378ae158cdSTsiChungLiew #define CONFIG_MCF5445x /* define processor family */ 388ae158cdSTsiChungLiew #define CONFIG_M54455 /* define processor type */ 398ae158cdSTsiChungLiew #define CONFIG_M54455EVB /* M54455EVB board */ 408ae158cdSTsiChungLiew 418ae158cdSTsiChungLiew #define CONFIG_MCFUART 428ae158cdSTsiChungLiew #define CFG_UART_PORT (0) 438ae158cdSTsiChungLiew #define CONFIG_BAUDRATE 115200 448ae158cdSTsiChungLiew #define CFG_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 } 458ae158cdSTsiChungLiew 468ae158cdSTsiChungLiew #undef CONFIG_WATCHDOG 478ae158cdSTsiChungLiew 488ae158cdSTsiChungLiew #define CONFIG_TIMESTAMP /* Print image info with timestamp */ 498ae158cdSTsiChungLiew 508ae158cdSTsiChungLiew /* 518ae158cdSTsiChungLiew * BOOTP options 528ae158cdSTsiChungLiew */ 538ae158cdSTsiChungLiew #define CONFIG_BOOTP_BOOTFILESIZE 548ae158cdSTsiChungLiew #define CONFIG_BOOTP_BOOTPATH 558ae158cdSTsiChungLiew #define CONFIG_BOOTP_GATEWAY 568ae158cdSTsiChungLiew #define CONFIG_BOOTP_HOSTNAME 578ae158cdSTsiChungLiew 588ae158cdSTsiChungLiew /* Command line configuration */ 598ae158cdSTsiChungLiew #include <config_cmd_default.h> 608ae158cdSTsiChungLiew 618ae158cdSTsiChungLiew #define CONFIG_CMD_BOOTD 628ae158cdSTsiChungLiew #define CONFIG_CMD_CACHE 638ae158cdSTsiChungLiew #define CONFIG_CMD_DATE 648ae158cdSTsiChungLiew #define CONFIG_CMD_DHCP 658ae158cdSTsiChungLiew #define CONFIG_CMD_ELF 668ae158cdSTsiChungLiew #define CONFIG_CMD_EXT2 678ae158cdSTsiChungLiew #define CONFIG_CMD_FAT 688ae158cdSTsiChungLiew #define CONFIG_CMD_FLASH 698ae158cdSTsiChungLiew #define CONFIG_CMD_I2C 708ae158cdSTsiChungLiew #define CONFIG_CMD_IDE 718ae158cdSTsiChungLiew #define CONFIG_CMD_JFFS2 728ae158cdSTsiChungLiew #define CONFIG_CMD_MEMORY 738ae158cdSTsiChungLiew #define CONFIG_CMD_MISC 748ae158cdSTsiChungLiew #define CONFIG_CMD_MII 758ae158cdSTsiChungLiew #define CONFIG_CMD_NET 76e8ee8f3aSTsiChungLiew #undef CONFIG_CMD_PCI 778ae158cdSTsiChungLiew #define CONFIG_CMD_PING 788ae158cdSTsiChungLiew #define CONFIG_CMD_REGINFO 798ae158cdSTsiChungLiew 808ae158cdSTsiChungLiew #undef CONFIG_CMD_LOADB 818ae158cdSTsiChungLiew #undef CONFIG_CMD_LOADS 828ae158cdSTsiChungLiew 838ae158cdSTsiChungLiew /* Network configuration */ 848ae158cdSTsiChungLiew #define CONFIG_MCFFEC 858ae158cdSTsiChungLiew #ifdef CONFIG_MCFFEC 868ae158cdSTsiChungLiew # define CONFIG_NET_MULTI 1 878ae158cdSTsiChungLiew # define CONFIG_MII 1 888ae158cdSTsiChungLiew # define CONFIG_CF_DOMII 898ae158cdSTsiChungLiew # define CFG_DISCOVER_PHY 908ae158cdSTsiChungLiew # define CFG_RX_ETH_BUFFER 8 918ae158cdSTsiChungLiew # define CFG_FAULT_ECHO_LINK_DOWN 928ae158cdSTsiChungLiew 938ae158cdSTsiChungLiew # define CFG_FEC0_PINMUX 0 948ae158cdSTsiChungLiew # define CFG_FEC1_PINMUX 0 958ae158cdSTsiChungLiew # define CFG_FEC0_MIIBASE CFG_FEC0_IOBASE 968ae158cdSTsiChungLiew # define CFG_FEC1_MIIBASE CFG_FEC0_IOBASE 978ae158cdSTsiChungLiew # define MCFFEC_TOUT_LOOP 50000 988ae158cdSTsiChungLiew # define CONFIG_HAS_ETH1 998ae158cdSTsiChungLiew 1008ae158cdSTsiChungLiew # define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 1018ae158cdSTsiChungLiew # define CONFIG_BOOTARGS "root=/dev/mtdblock1 rw rootfstype=jffs2 ip=none mtdparts=physmap-flash.0:5M(kernel)ro,-(jffs2)" 1028ae158cdSTsiChungLiew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 1038ae158cdSTsiChungLiew # define CONFIG_ETH1ADDR 00:e0:0c:bc:e5:61 1048ae158cdSTsiChungLiew # define CONFIG_ETHPRIME "FEC0" 1058ae158cdSTsiChungLiew # define CONFIG_IPADDR 192.162.1.2 1068ae158cdSTsiChungLiew # define CONFIG_NETMASK 255.255.255.0 1078ae158cdSTsiChungLiew # define CONFIG_SERVERIP 192.162.1.1 1088ae158cdSTsiChungLiew # define CONFIG_GATEWAYIP 192.162.1.1 1098ae158cdSTsiChungLiew # define CONFIG_OVERWRITE_ETHADDR_ONCE 1108ae158cdSTsiChungLiew 1118ae158cdSTsiChungLiew /* If CFG_DISCOVER_PHY is not defined - hardcoded */ 1128ae158cdSTsiChungLiew # ifndef CFG_DISCOVER_PHY 1138ae158cdSTsiChungLiew # define FECDUPLEX FULL 1148ae158cdSTsiChungLiew # define FECSPEED _100BASET 1158ae158cdSTsiChungLiew # else 1168ae158cdSTsiChungLiew # ifndef CFG_FAULT_ECHO_LINK_DOWN 1178ae158cdSTsiChungLiew # define CFG_FAULT_ECHO_LINK_DOWN 1188ae158cdSTsiChungLiew # endif 1198ae158cdSTsiChungLiew # endif /* CFG_DISCOVER_PHY */ 1208ae158cdSTsiChungLiew #endif 1218ae158cdSTsiChungLiew 1228ae158cdSTsiChungLiew #define CONFIG_HOSTNAME M54455EVB 1238ae158cdSTsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS \ 1248ae158cdSTsiChungLiew "netdev=eth0\0" \ 1258ae158cdSTsiChungLiew "inpclk=" MK_STR(CFG_INPUT_CLKSRC) "\0" \ 1268ae158cdSTsiChungLiew "loadaddr=40010000\0" \ 1278ae158cdSTsiChungLiew "u-boot=u-boot.bin\0" \ 1288ae158cdSTsiChungLiew "load=tftp ${loadaddr) ${u-boot}\0" \ 1298ae158cdSTsiChungLiew "upd=run load; run prog\0" \ 130e8ee8f3aSTsiChungLiew "prog=prot off 4000000 402ffff;" \ 131e8ee8f3aSTsiChungLiew "era 4000000 402ffff;" \ 1328ae158cdSTsiChungLiew "cp.b ${loadaddr} 0 ${filesize};" \ 1338ae158cdSTsiChungLiew "save\0" \ 1348ae158cdSTsiChungLiew "" 1358ae158cdSTsiChungLiew 1368ae158cdSTsiChungLiew /* ATA configuration */ 1378ae158cdSTsiChungLiew #define CONFIG_ISO_PARTITION 1388ae158cdSTsiChungLiew #define CONFIG_DOS_PARTITION 1398ae158cdSTsiChungLiew #define CONFIG_IDE_RESET 1 1408ae158cdSTsiChungLiew #define CONFIG_IDE_PREINIT 1 1418ae158cdSTsiChungLiew #define CONFIG_ATAPI 1428ae158cdSTsiChungLiew #undef CONFIG_LBA48 1438ae158cdSTsiChungLiew 1448ae158cdSTsiChungLiew #define CFG_IDE_MAXBUS 1 1458ae158cdSTsiChungLiew #define CFG_IDE_MAXDEVICE 2 1468ae158cdSTsiChungLiew 1478ae158cdSTsiChungLiew #define CFG_ATA_BASE_ADDR 0x90000000 1488ae158cdSTsiChungLiew #define CFG_ATA_IDE0_OFFSET 0 1498ae158cdSTsiChungLiew 1508ae158cdSTsiChungLiew #define CFG_ATA_DATA_OFFSET 0xA0 /* Offset for data I/O */ 1518ae158cdSTsiChungLiew #define CFG_ATA_REG_OFFSET 0xA0 /* Offset for normal register accesses */ 1528ae158cdSTsiChungLiew #define CFG_ATA_ALT_OFFSET 0xC0 /* Offset for alternate registers */ 1538ae158cdSTsiChungLiew #define CFG_ATA_STRIDE 4 /* Interval between registers */ 1548ae158cdSTsiChungLiew #define _IO_BASE 0 1558ae158cdSTsiChungLiew 1568ae158cdSTsiChungLiew /* Realtime clock */ 1578ae158cdSTsiChungLiew #define CONFIG_MCFRTC 1588ae158cdSTsiChungLiew #undef RTC_DEBUG 1598ae158cdSTsiChungLiew #define CFG_RTC_OSCILLATOR (32 * CFG_HZ) 1608ae158cdSTsiChungLiew 1618ae158cdSTsiChungLiew /* Timer */ 1628ae158cdSTsiChungLiew #define CONFIG_MCFTMR 1638ae158cdSTsiChungLiew #undef CONFIG_MCFPIT 1648ae158cdSTsiChungLiew 1658ae158cdSTsiChungLiew /* I2c */ 1668ae158cdSTsiChungLiew #define CONFIG_FSL_I2C 1678ae158cdSTsiChungLiew #define CONFIG_HARD_I2C /* I2C with hardware support */ 1688ae158cdSTsiChungLiew #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 1698ae158cdSTsiChungLiew #define CFG_I2C_SPEED 80000 /* I2C speed and slave address */ 1708ae158cdSTsiChungLiew #define CFG_I2C_SLAVE 0x7F 1718ae158cdSTsiChungLiew #define CFG_I2C_OFFSET 0x58000 1728ae158cdSTsiChungLiew #define CFG_IMMR CFG_MBAR 1738ae158cdSTsiChungLiew 174bae61eefSTsiChung Liew /* DSPI and Serial Flash */ 175bae61eefSTsiChung Liew #define CONFIG_CF_DSPI 176bae61eefSTsiChung Liew #define CONFIG_SERIAL_FLASH 177bae61eefSTsiChung Liew 1788ae158cdSTsiChungLiew /* PCI */ 179e8ee8f3aSTsiChungLiew #ifdef CONFIG_CMD_PCI 1808ae158cdSTsiChungLiew #define CONFIG_PCI 1 1812e72ad06STsiChungLiew #define CONFIG_PCI_PNP 1 182*f33fca22STsiChung Liew #define CONFIG_PCIAUTO_SKIP_HOST_BRIDGE 1 1832e72ad06STsiChungLiew 1842e72ad06STsiChungLiew #define CFG_PCI_CACHE_LINE_SIZE 4 1858ae158cdSTsiChungLiew 1868ae158cdSTsiChungLiew #define CFG_PCI_MEM_BUS 0xA0000000 1878ae158cdSTsiChungLiew #define CFG_PCI_MEM_PHYS CFG_PCI_MEM_BUS 1888ae158cdSTsiChungLiew #define CFG_PCI_MEM_SIZE 0x10000000 1898ae158cdSTsiChungLiew 1908ae158cdSTsiChungLiew #define CFG_PCI_IO_BUS 0xB1000000 1918ae158cdSTsiChungLiew #define CFG_PCI_IO_PHYS CFG_PCI_IO_BUS 1928ae158cdSTsiChungLiew #define CFG_PCI_IO_SIZE 0x01000000 1938ae158cdSTsiChungLiew 1948ae158cdSTsiChungLiew #define CFG_PCI_CFG_BUS 0xB0000000 1958ae158cdSTsiChungLiew #define CFG_PCI_CFG_PHYS CFG_PCI_CFG_BUS 1968ae158cdSTsiChungLiew #define CFG_PCI_CFG_SIZE 0x01000000 197e8ee8f3aSTsiChungLiew #endif 1988ae158cdSTsiChungLiew 1998ae158cdSTsiChungLiew /* FPGA - Spartan 2 */ 2008ae158cdSTsiChungLiew /* experiment 2012e72ad06STsiChungLiew #define CONFIG_FPGA CFG_SPARTAN3 2028ae158cdSTsiChungLiew #define CONFIG_FPGA_COUNT 1 2038ae158cdSTsiChungLiew #define CFG_FPGA_PROG_FEEDBACK 2048ae158cdSTsiChungLiew #define CFG_FPGA_CHECK_CTRLC 2058ae158cdSTsiChungLiew */ 2068ae158cdSTsiChungLiew 2078ae158cdSTsiChungLiew /* Input, PCI, Flexbus, and VCO */ 2088ae158cdSTsiChungLiew #define CONFIG_EXTRA_CLOCK 2098ae158cdSTsiChungLiew 2108ae158cdSTsiChungLiew #define CONFIG_PRAM 512 /* 512 KB */ 2118ae158cdSTsiChungLiew 2128ae158cdSTsiChungLiew #define CFG_PROMPT "-> " 2138ae158cdSTsiChungLiew #define CFG_LONGHELP /* undef to save memory */ 2148ae158cdSTsiChungLiew 2158ae158cdSTsiChungLiew #if defined(CONFIG_CMD_KGDB) 2168ae158cdSTsiChungLiew #define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 2178ae158cdSTsiChungLiew #else 2188ae158cdSTsiChungLiew #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 2198ae158cdSTsiChungLiew #endif 2208ae158cdSTsiChungLiew #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 2218ae158cdSTsiChungLiew #define CFG_MAXARGS 16 /* max number of command args */ 2228ae158cdSTsiChungLiew #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 2238ae158cdSTsiChungLiew 2248ae158cdSTsiChungLiew #define CFG_LOAD_ADDR (CFG_SDRAM_BASE + 0x10000) 2258ae158cdSTsiChungLiew 2268ae158cdSTsiChungLiew #define CFG_HZ 1000 2278ae158cdSTsiChungLiew 2288ae158cdSTsiChungLiew #define CFG_MBAR 0xFC000000 2298ae158cdSTsiChungLiew 2308ae158cdSTsiChungLiew /* 2318ae158cdSTsiChungLiew * Low Level Configuration Settings 2328ae158cdSTsiChungLiew * (address mappings, register initial values, etc.) 2338ae158cdSTsiChungLiew * You should know what you are doing if you make changes here. 2348ae158cdSTsiChungLiew */ 2358ae158cdSTsiChungLiew 2368ae158cdSTsiChungLiew /*----------------------------------------------------------------------- 2378ae158cdSTsiChungLiew * Definitions for initial stack pointer and data area (in DPRAM) 2388ae158cdSTsiChungLiew */ 2398ae158cdSTsiChungLiew #define CFG_INIT_RAM_ADDR 0x80000000 2408ae158cdSTsiChungLiew #define CFG_INIT_RAM_END 0x8000 /* End of used area in internal SRAM */ 2418ae158cdSTsiChungLiew #define CFG_INIT_RAM_CTRL 0x221 2428ae158cdSTsiChungLiew #define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ 2438ae158cdSTsiChungLiew #define CFG_GBL_DATA_OFFSET ((CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) - 16) 2448ae158cdSTsiChungLiew #define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET 2458ae158cdSTsiChungLiew 2468ae158cdSTsiChungLiew /*----------------------------------------------------------------------- 2478ae158cdSTsiChungLiew * Start addresses for the final memory configuration 2488ae158cdSTsiChungLiew * (Set up by the startup code) 2498ae158cdSTsiChungLiew * Please note that CFG_SDRAM_BASE _must_ start at 0 2508ae158cdSTsiChungLiew */ 2518ae158cdSTsiChungLiew #define CFG_SDRAM_BASE 0x40000000 2528ae158cdSTsiChungLiew #define CFG_SDRAM_BASE1 0x48000000 2538ae158cdSTsiChungLiew #define CFG_SDRAM_SIZE 256 /* SDRAM size in MB */ 2548ae158cdSTsiChungLiew #define CFG_SDRAM_CFG1 0x65311610 2558ae158cdSTsiChungLiew #define CFG_SDRAM_CFG2 0x59670000 2568ae158cdSTsiChungLiew #define CFG_SDRAM_CTRL 0xEA0B2000 2578ae158cdSTsiChungLiew #define CFG_SDRAM_EMOD 0x40010000 2588ae158cdSTsiChungLiew #define CFG_SDRAM_MODE 0x00010033 2598ae158cdSTsiChungLiew 2608ae158cdSTsiChungLiew #define CFG_MEMTEST_START CFG_SDRAM_BASE + 0x400 2618ae158cdSTsiChungLiew #define CFG_MEMTEST_END ((CFG_SDRAM_SIZE - 3) << 20) 2628ae158cdSTsiChungLiew 2638ae158cdSTsiChungLiew #define CFG_MONITOR_BASE (CFG_FLASH_BASE + 0x400) 2648ae158cdSTsiChungLiew #define CFG_BOOTPARAMS_LEN 64*1024 2658ae158cdSTsiChungLiew #define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 2668ae158cdSTsiChungLiew #define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 2678ae158cdSTsiChungLiew 2688ae158cdSTsiChungLiew /* 2698ae158cdSTsiChungLiew * For booting Linux, the board info and command line data 2708ae158cdSTsiChungLiew * have to be in the first 8 MB of memory, since this is 2718ae158cdSTsiChungLiew * the maximum mapped by the Linux kernel during initialization ?? 2728ae158cdSTsiChungLiew */ 2738ae158cdSTsiChungLiew /* Initial Memory map for Linux */ 2748ae158cdSTsiChungLiew #define CFG_BOOTMAPSZ (CFG_SDRAM_BASE + (CFG_SDRAM_SIZE << 20)) 2758ae158cdSTsiChungLiew 2768ae158cdSTsiChungLiew /* Configuration for environment 2778ae158cdSTsiChungLiew * Environment is embedded in u-boot in the second sector of the flash 2788ae158cdSTsiChungLiew */ 2798ae158cdSTsiChungLiew #define CFG_ENV_IS_IN_FLASH 1 2808ae158cdSTsiChungLiew #define CONFIG_ENV_OVERWRITE 1 2818ae158cdSTsiChungLiew #undef CFG_ENV_IS_EMBEDDED 2828ae158cdSTsiChungLiew 2838ae158cdSTsiChungLiew /*----------------------------------------------------------------------- 2848ae158cdSTsiChungLiew * FLASH organization 2858ae158cdSTsiChungLiew */ 2868ae158cdSTsiChungLiew #ifdef CFG_ATMEL_BOOT 287e8ee8f3aSTsiChungLiew # define CFG_FLASH_BASE CFG_CS0_BASE 2888ae158cdSTsiChungLiew # define CFG_FLASH0_BASE CFG_CS0_BASE 2898ae158cdSTsiChungLiew # define CFG_FLASH1_BASE CFG_CS1_BASE 290e8ee8f3aSTsiChungLiew # define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x4000) 291e8ee8f3aSTsiChungLiew # define CFG_ENV_SECT_SIZE 0x2000 2928ae158cdSTsiChungLiew #else 2932e72ad06STsiChungLiew # define CFG_FLASH_BASE CFG_CS0_BASE 2942e72ad06STsiChungLiew # define CFG_FLASH0_BASE CFG_CS0_BASE 2952e72ad06STsiChungLiew # define CFG_FLASH1_BASE CFG_CS1_BASE 296e8ee8f3aSTsiChungLiew # define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x60000) 297e8ee8f3aSTsiChungLiew # define CFG_ENV_SECT_SIZE 0x20000 2988ae158cdSTsiChungLiew #endif 2998ae158cdSTsiChungLiew 3008ae158cdSTsiChungLiew /* M54455EVB has one non CFI flash, defined CFG_FLASH_CFI will cause the system 3018ae158cdSTsiChungLiew keep reset. */ 3028ae158cdSTsiChungLiew #undef CFG_FLASH_CFI 3038ae158cdSTsiChungLiew #ifdef CFG_FLASH_CFI 3048ae158cdSTsiChungLiew 3058ae158cdSTsiChungLiew # define CFG_FLASH_CFI_DRIVER 1 3068ae158cdSTsiChungLiew # define CFG_FLASH_SIZE 0x1000000 /* Max size that the board might have */ 3078ae158cdSTsiChungLiew # define CFG_FLASH_CFI_WIDTH FLASH_CFI_8BIT 3088ae158cdSTsiChungLiew # define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ 3098ae158cdSTsiChungLiew # define CFG_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 3108ae158cdSTsiChungLiew # define CFG_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 3118ae158cdSTsiChungLiew # define CFG_FLASH_CHECKSUM 3128ae158cdSTsiChungLiew # define CFG_FLASH_BANKS_LIST { CFG_CS0_BASE, CFG_CS1_BASE } 3138ae158cdSTsiChungLiew 3148ae158cdSTsiChungLiew #else 3158ae158cdSTsiChungLiew 316bae61eefSTsiChung Liew # define CFG_MAX_FLASH_BANKS 3 /* max number of memory banks */ 3178ae158cdSTsiChungLiew 3188ae158cdSTsiChungLiew # define CFG_ATMEL_REGION 4 3198ae158cdSTsiChungLiew # define CFG_ATMEL_TOTALSECT 11 3208ae158cdSTsiChungLiew # define CFG_ATMEL_SECT {1, 2, 1, 7} 3218ae158cdSTsiChungLiew # define CFG_ATMEL_SECTSZ {0x4000, 0x2000, 0x8000, 0x10000} 3228ae158cdSTsiChungLiew # define CFG_INTEL_SECT 137 3238ae158cdSTsiChungLiew 3248ae158cdSTsiChungLiew /* max number of sectors on one chip */ 3258ae158cdSTsiChungLiew # define CFG_MAX_FLASH_SECT (CFG_ATMEL_TOTALSECT + CFG_INTEL_SECT) 3268ae158cdSTsiChungLiew # define CFG_FLASH_ERASE_TOUT 2000 /* Atmel needs longer timeout */ 3278ae158cdSTsiChungLiew # define CFG_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */ 3288ae158cdSTsiChungLiew # define CFG_FLASH_LOCK_TOUT 5 /* Timeout for Flash Set Lock Bit (in ms) */ 3298ae158cdSTsiChungLiew # define CFG_FLASH_UNLOCK_TOUT 100 /* Timeout for Flash Clear Lock Bits (in ms) */ 3308ae158cdSTsiChungLiew # define CFG_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 3318ae158cdSTsiChungLiew # define CFG_FLASH_CHECKSUM 3328ae158cdSTsiChungLiew 333bae61eefSTsiChung Liew #ifdef CONFIG_SERIAL_FLASH 334bae61eefSTsiChung Liew # define CFG_FLASH2_BASE 0x01000000 335bae61eefSTsiChung Liew # define CFG_STM_SECT 32 336bae61eefSTsiChung Liew # define CFG_STM_SECTSZ 0x10000 337bae61eefSTsiChung Liew 338bae61eefSTsiChung Liew # undef CFG_FLASH_ERASE_TOUT 339bae61eefSTsiChung Liew # define CFG_FLASH_ERASE_TOUT 20000 340bae61eefSTsiChung Liew 341bae61eefSTsiChung Liew # define SER_WREN 0x06 342bae61eefSTsiChung Liew # define SER_WRDI 0x04 343bae61eefSTsiChung Liew # define SER_RDID 0x9F 344bae61eefSTsiChung Liew # define SER_RDSR 0x05 345bae61eefSTsiChung Liew # define SER_WRSR 0x01 346bae61eefSTsiChung Liew # define SER_READ 0x03 347bae61eefSTsiChung Liew # define SER_F_READ 0x0B 348bae61eefSTsiChung Liew # define SER_PAGE_PROG 0x02 349bae61eefSTsiChung Liew # define SER_SECT_ERASE 0xD8 350bae61eefSTsiChung Liew # define SER_BULK_ERASE 0xC7 351bae61eefSTsiChung Liew # define SER_DEEP_PWRDN 0xB9 352bae61eefSTsiChung Liew # define SER_RES 0xAB 353bae61eefSTsiChung Liew #endif 354bae61eefSTsiChung Liew 3558ae158cdSTsiChungLiew #endif 3568ae158cdSTsiChungLiew 3578ae158cdSTsiChungLiew /* 3588ae158cdSTsiChungLiew * This is setting for JFFS2 support in u-boot. 3598ae158cdSTsiChungLiew * NOTE: Enable CONFIG_CMD_JFFS2 for JFFS2 support. 3608ae158cdSTsiChungLiew */ 3618ae158cdSTsiChungLiew #ifdef CFG_ATMEL_BOOT 362e8ee8f3aSTsiChungLiew # define CONFIG_JFFS2_DEV "nor1" 3638ae158cdSTsiChungLiew # define CONFIG_JFFS2_PART_SIZE 0x01000000 364e8ee8f3aSTsiChungLiew # define CONFIG_JFFS2_PART_OFFSET (CFG_FLASH1_BASE + 0x500000) 3658ae158cdSTsiChungLiew #else 3668ae158cdSTsiChungLiew # define CONFIG_JFFS2_DEV "nor0" 3678ae158cdSTsiChungLiew # define CONFIG_JFFS2_PART_SIZE (0x01000000 - 0x500000) 3688ae158cdSTsiChungLiew # define CONFIG_JFFS2_PART_OFFSET (CFG_FLASH0_BASE + 0x500000) 3698ae158cdSTsiChungLiew #endif 3708ae158cdSTsiChungLiew 3718ae158cdSTsiChungLiew /*----------------------------------------------------------------------- 3728ae158cdSTsiChungLiew * Cache Configuration 3738ae158cdSTsiChungLiew */ 3748ae158cdSTsiChungLiew #define CFG_CACHELINE_SIZE 16 3758ae158cdSTsiChungLiew 3768ae158cdSTsiChungLiew /*----------------------------------------------------------------------- 3778ae158cdSTsiChungLiew * Memory bank definitions 3788ae158cdSTsiChungLiew */ 3798ae158cdSTsiChungLiew /* 3808ae158cdSTsiChungLiew * CS0 - NOR Flash 1, 2, 4, or 8MB 3818ae158cdSTsiChungLiew * CS1 - CompactFlash and registers 3828ae158cdSTsiChungLiew * CS2 - CPLD 3838ae158cdSTsiChungLiew * CS3 - FPGA 3848ae158cdSTsiChungLiew * CS4 - Available 3858ae158cdSTsiChungLiew * CS5 - Available 3868ae158cdSTsiChungLiew */ 3878ae158cdSTsiChungLiew 3888ae158cdSTsiChungLiew #ifdef CFG_ATMEL_BOOT 3898ae158cdSTsiChungLiew /* Atmel Flash */ 390e8ee8f3aSTsiChungLiew #define CFG_CS0_BASE 0x04000000 3918ae158cdSTsiChungLiew #define CFG_CS0_MASK 0x00070001 3928ae158cdSTsiChungLiew #define CFG_CS0_CTRL 0x00001140 3938ae158cdSTsiChungLiew /* Intel Flash */ 394e8ee8f3aSTsiChungLiew #define CFG_CS1_BASE 0x00000000 3958ae158cdSTsiChungLiew #define CFG_CS1_MASK 0x01FF0001 396e8ee8f3aSTsiChungLiew #define CFG_CS1_CTRL 0x00000D60 3978ae158cdSTsiChungLiew 3988ae158cdSTsiChungLiew #define CFG_ATMEL_BASE CFG_CS0_BASE 3998ae158cdSTsiChungLiew #else 4008ae158cdSTsiChungLiew /* Intel Flash */ 401e8ee8f3aSTsiChungLiew #define CFG_CS0_BASE 0x00000000 4028ae158cdSTsiChungLiew #define CFG_CS0_MASK 0x01FF0001 403e8ee8f3aSTsiChungLiew #define CFG_CS0_CTRL 0x00000D60 4048ae158cdSTsiChungLiew /* Atmel Flash */ 4058ae158cdSTsiChungLiew #define CFG_CS1_BASE 0x04000000 4068ae158cdSTsiChungLiew #define CFG_CS1_MASK 0x00070001 4078ae158cdSTsiChungLiew #define CFG_CS1_CTRL 0x00001140 4088ae158cdSTsiChungLiew 4098ae158cdSTsiChungLiew #define CFG_ATMEL_BASE CFG_CS1_BASE 4108ae158cdSTsiChungLiew #endif 4118ae158cdSTsiChungLiew 4128ae158cdSTsiChungLiew /* CPLD */ 4138ae158cdSTsiChungLiew #define CFG_CS2_BASE 0x08000000 4148ae158cdSTsiChungLiew #define CFG_CS2_MASK 0x00070001 4158ae158cdSTsiChungLiew #define CFG_CS2_CTRL 0x003f1140 4168ae158cdSTsiChungLiew 4178ae158cdSTsiChungLiew /* FPGA */ 4188ae158cdSTsiChungLiew #define CFG_CS3_BASE 0x09000000 4198ae158cdSTsiChungLiew #define CFG_CS3_MASK 0x00070001 4208ae158cdSTsiChungLiew #define CFG_CS3_CTRL 0x00000020 4218ae158cdSTsiChungLiew 422e8ee8f3aSTsiChungLiew #endif /* _M54455EVB_H */ 423