15da627a4Swdenk /* 25da627a4Swdenk * (C) Copyright 2003 35da627a4Swdenk * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 45da627a4Swdenk * 55da627a4Swdenk * See file CREDITS for list of people who contributed to this 65da627a4Swdenk * project. 75da627a4Swdenk * 85da627a4Swdenk * This program is free software; you can redistribute it and/or 95da627a4Swdenk * modify it under the terms of the GNU General Public License as 105da627a4Swdenk * published by the Free Software Foundation; either version 2 of 115da627a4Swdenk * the License, or (at your option) any later version. 125da627a4Swdenk * 135da627a4Swdenk * This program is distributed in the hope that it will be useful, 145da627a4Swdenk * but WITHOUT ANY WARRANTY; without even the implied warranty of 155da627a4Swdenk * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 165da627a4Swdenk * GNU General Public License for more details. 175da627a4Swdenk * 185da627a4Swdenk * You should have received a copy of the GNU General Public License 195da627a4Swdenk * along with this program; if not, write to the Free Software 205da627a4Swdenk * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 215da627a4Swdenk * MA 02111-1307 USA 225da627a4Swdenk */ 235da627a4Swdenk 245da627a4Swdenk /* 255da627a4Swdenk * This file contains the configuration parameters for the dbau1x00 board. 265da627a4Swdenk */ 275da627a4Swdenk 285da627a4Swdenk #ifndef __CONFIG_H 295da627a4Swdenk #define __CONFIG_H 305da627a4Swdenk 315da627a4Swdenk #define CONFIG_MIPS32 1 /* MIPS32 CPU core */ 325da627a4Swdenk #define CONFIG_DBAU1X00 1 335da627a4Swdenk #define CONFIG_AU1X00 1 /* alchemy series cpu */ 345da627a4Swdenk 35a2663ea4Swdenk #ifdef CONFIG_DBAU1000 365da627a4Swdenk /* Also known as Merlot */ 37a2663ea4Swdenk #define CONFIG_AU1000 1 38a2663ea4Swdenk #else 39a2663ea4Swdenk #ifdef CONFIG_DBAU1100 40a2663ea4Swdenk #define CONFIG_AU1100 1 41a2663ea4Swdenk #else 42a2663ea4Swdenk #ifdef CONFIG_DBAU1500 43a2663ea4Swdenk #define CONFIG_AU1500 1 44a2663ea4Swdenk #else 45ff36fd85Swdenk #ifdef CONFIG_DBAU1550 46ff36fd85Swdenk /* Cabernet */ 47ff36fd85Swdenk #define CONFIG_AU1550 1 48ff36fd85Swdenk #else 49a2663ea4Swdenk #error "No valid board set" 50a2663ea4Swdenk #endif 51a2663ea4Swdenk #endif 52a2663ea4Swdenk #endif 53ff36fd85Swdenk #endif 545da627a4Swdenk 555da627a4Swdenk #define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */ 565da627a4Swdenk 575da627a4Swdenk #define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */ 585da627a4Swdenk 595da627a4Swdenk #define CONFIG_BAUDRATE 115200 605da627a4Swdenk 615da627a4Swdenk /* valid baudrates */ 625da627a4Swdenk #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } 635da627a4Swdenk 645da627a4Swdenk #define CONFIG_TIMESTAMP /* Print image info with timestamp */ 655da627a4Swdenk #undef CONFIG_BOOTARGS 665da627a4Swdenk 675da627a4Swdenk #define CONFIG_EXTRA_ENV_SETTINGS \ 68*fe126d8bSWolfgang Denk "addmisc=setenv bootargs ${bootargs} " \ 69*fe126d8bSWolfgang Denk "console=ttyS0,${baudrate} " \ 705da627a4Swdenk "panic=1\0" \ 715da627a4Swdenk "bootfile=/tftpboot/vmlinux.srec\0" \ 72*fe126d8bSWolfgang Denk "load=tftp 80500000 ${u-boot}\0" \ 735da627a4Swdenk "" 74ff36fd85Swdenk 75ff36fd85Swdenk #ifdef CONFIG_DBAU1550 76ff36fd85Swdenk /* Boot from flash by default, revert to bootp */ 77ff36fd85Swdenk #define CONFIG_BOOTCOMMAND "bootm 0xbfc20000; bootp; bootm" 78ff36fd85Swdenk 79ff36fd85Swdenk #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_FLASH | CFG_CMD_LOADB | CFG_CMD_NET) & \ 80ff36fd85Swdenk ~(CFG_CMD_ENV | CFG_CMD_FAT | CFG_CMD_FPGA | CFG_CMD_IDE | \ 81ff36fd85Swdenk CFG_CMD_MII | CFG_CMD_RUN | CFG_CMD_BDI | CFG_CMD_BEDBUG | \ 82ff36fd85Swdenk CFG_CMD_NFS | CFG_CMD_ELF | CFG_CMD_PCMCIA | CFG_CMD_I2C)) 83ff36fd85Swdenk #else /* CONFIG_DBAU1550 */ 845da627a4Swdenk /* Boot from Compact flash partition 2 as default */ 855da627a4Swdenk #define CONFIG_BOOTCOMMAND "ide reset;disk 0x81000000 0:2;bootm" 865da627a4Swdenk 87ff36fd85Swdenk #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_IDE | CFG_CMD_DHCP | CFG_CMD_ELF) & \ 885da627a4Swdenk ~(CFG_CMD_ENV | CFG_CMD_FAT | CFG_CMD_FLASH | CFG_CMD_FPGA | \ 89ff36fd85Swdenk CFG_CMD_MII | CFG_CMD_LOADS | CFG_CMD_RUN | CFG_CMD_LOADB | \ 90ff36fd85Swdenk CFG_CMD_ELF | CFG_CMD_BDI | CFG_CMD_BEDBUG)) 91ff36fd85Swdenk #endif /* CONFIG_DBAU1550 */ 92ff36fd85Swdenk 935da627a4Swdenk #include <cmd_confdefs.h> 945da627a4Swdenk 955da627a4Swdenk /* 965da627a4Swdenk * Miscellaneous configurable options 975da627a4Swdenk */ 985da627a4Swdenk #define CFG_LONGHELP /* undef to save memory */ 99ff36fd85Swdenk 100ff36fd85Swdenk #define CFG_PROMPT "DbAu1xx0 # " /* Monitor Command Prompt */ 101ff36fd85Swdenk 1025da627a4Swdenk #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 1035da627a4Swdenk #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 1045da627a4Swdenk #define CFG_MAXARGS 16 /* max number of command args*/ 1055da627a4Swdenk 1065da627a4Swdenk #define CFG_MALLOC_LEN 128*1024 1075da627a4Swdenk 1085da627a4Swdenk #define CFG_BOOTPARAMS_LEN 128*1024 1095da627a4Swdenk 110ff36fd85Swdenk #define CFG_MHZ 396 111ff36fd85Swdenk 112ff36fd85Swdenk #if (CFG_MHZ % 12) != 0 113ff36fd85Swdenk #error "Invalid CPU frequency - must be multiple of 12!" 114ff36fd85Swdenk #endif 115ff36fd85Swdenk 116ff36fd85Swdenk #define CFG_HZ (CFG_MHZ * 1000000) /* FIXME causes overflow in net.c */ 1175da627a4Swdenk 1185da627a4Swdenk #define CFG_SDRAM_BASE 0x80000000 /* Cached addr */ 1195da627a4Swdenk 1205da627a4Swdenk #define CFG_LOAD_ADDR 0x81000000 /* default load address */ 1215da627a4Swdenk 1225da627a4Swdenk #define CFG_MEMTEST_START 0x80100000 1235da627a4Swdenk #define CFG_MEMTEST_END 0x80800000 1245da627a4Swdenk 1255da627a4Swdenk /*----------------------------------------------------------------------- 1265da627a4Swdenk * FLASH and environment organization 1275da627a4Swdenk */ 128ff36fd85Swdenk #ifdef CONFIG_DBAU1550 129ff36fd85Swdenk 130ff36fd85Swdenk #define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ 131ff36fd85Swdenk #define CFG_MAX_FLASH_SECT (512) /* max number of sectors on one chip */ 132ff36fd85Swdenk 133ff36fd85Swdenk #define PHYS_FLASH_1 0xb8000000 /* Flash Bank #1 */ 134ff36fd85Swdenk #define PHYS_FLASH_2 0xbc000000 /* Flash Bank #2 */ 135ff36fd85Swdenk 136ff36fd85Swdenk #define CFG_FLASH_BANKS_LIST {PHYS_FLASH_1, PHYS_FLASH_2} 137ff36fd85Swdenk 138ff36fd85Swdenk #else /* CONFIG_DBAU1550 */ 139ff36fd85Swdenk 1405da627a4Swdenk #define CFG_MAX_FLASH_BANKS 2 /* max number of memory banks */ 1415da627a4Swdenk #define CFG_MAX_FLASH_SECT (128) /* max number of sectors on one chip */ 1425da627a4Swdenk 1435da627a4Swdenk #define PHYS_FLASH_1 0xbec00000 /* Flash Bank #1 */ 1445da627a4Swdenk #define PHYS_FLASH_2 0xbfc00000 /* Flash Bank #2 */ 1455da627a4Swdenk 146ff36fd85Swdenk #endif /* CONFIG_DBAU1550 */ 147ff36fd85Swdenk 148ff36fd85Swdenk #define CFG_FLASH_CFI 1 149ff36fd85Swdenk #define CFG_FLASH_CFI_DRIVER 1 150ff36fd85Swdenk 1515da627a4Swdenk /* The following #defines are needed to get flash environment right */ 1525da627a4Swdenk #define CFG_MONITOR_BASE TEXT_BASE 1535da627a4Swdenk #define CFG_MONITOR_LEN (192 << 10) 1545da627a4Swdenk 1555da627a4Swdenk #define CFG_INIT_SP_OFFSET 0x400000 1565da627a4Swdenk 1575da627a4Swdenk /* We boot from this flash, selected with dip switch */ 1585da627a4Swdenk #define CFG_FLASH_BASE PHYS_FLASH_2 1595da627a4Swdenk 1605da627a4Swdenk /* timeout values are in ticks */ 1615da627a4Swdenk #define CFG_FLASH_ERASE_TOUT (2 * CFG_HZ) /* Timeout for Flash Erase */ 1625da627a4Swdenk #define CFG_FLASH_WRITE_TOUT (2 * CFG_HZ) /* Timeout for Flash Write */ 1635da627a4Swdenk 1645da627a4Swdenk #define CFG_ENV_IS_NOWHERE 1 1655da627a4Swdenk 1665da627a4Swdenk /* Address and size of Primary Environment Sector */ 1675da627a4Swdenk #define CFG_ENV_ADDR 0xB0030000 1685da627a4Swdenk #define CFG_ENV_SIZE 0x10000 1695da627a4Swdenk 1705da627a4Swdenk #define CONFIG_FLASH_16BIT 1715da627a4Swdenk 1725da627a4Swdenk #define CONFIG_NR_DRAM_BANKS 2 1735da627a4Swdenk 1745da627a4Swdenk #define CONFIG_NET_MULTI 1755da627a4Swdenk 176ff36fd85Swdenk #ifdef CONFIG_DBAU1550 177ff36fd85Swdenk #define MEM_SIZE 192 178ff36fd85Swdenk #else 179ff36fd85Swdenk #define MEM_SIZE 64 180ff36fd85Swdenk #endif 181ff36fd85Swdenk 1825da627a4Swdenk #define CONFIG_MEMSIZE_IN_BYTES 1835da627a4Swdenk 184ff36fd85Swdenk #ifndef CONFIG_DBAU1550 1855da627a4Swdenk /*---ATA PCMCIA ------------------------------------*/ 1865da627a4Swdenk #define CFG_PCMCIA_MEM_SIZE 0x4000000 /* Offset to slot 1 FIXME!!! */ 1875da627a4Swdenk #define CFG_PCMCIA_MEM_ADDR 0x20000000 1885da627a4Swdenk #define CONFIG_PCMCIA_SLOT_A 1895da627a4Swdenk 1905da627a4Swdenk #define CONFIG_ATAPI 1 1915da627a4Swdenk #define CONFIG_MAC_PARTITION 1 1925da627a4Swdenk 1935da627a4Swdenk /* We run CF in "true ide" mode or a harddrive via pcmcia */ 1945da627a4Swdenk #define CONFIG_IDE_PCMCIA 1 1955da627a4Swdenk 1965da627a4Swdenk /* We only support one slot for now */ 1975da627a4Swdenk #define CFG_IDE_MAXBUS 1 /* max. 1 IDE bus */ 1985da627a4Swdenk #define CFG_IDE_MAXDEVICE 1 /* max. 1 drive per IDE bus */ 1995da627a4Swdenk 2005da627a4Swdenk #undef CONFIG_IDE_LED /* LED for ide not supported */ 2015da627a4Swdenk #undef CONFIG_IDE_RESET /* reset for ide not supported */ 2025da627a4Swdenk 2035da627a4Swdenk #define CFG_ATA_IDE0_OFFSET 0x0000 2045da627a4Swdenk 2055da627a4Swdenk #define CFG_ATA_BASE_ADDR CFG_PCMCIA_MEM_ADDR 2065da627a4Swdenk 2075da627a4Swdenk /* Offset for data I/O */ 2085da627a4Swdenk #define CFG_ATA_DATA_OFFSET 8 2095da627a4Swdenk 2105da627a4Swdenk /* Offset for normal register accesses */ 2115da627a4Swdenk #define CFG_ATA_REG_OFFSET 0 2125da627a4Swdenk 2135da627a4Swdenk /* Offset for alternate registers */ 2145da627a4Swdenk #define CFG_ATA_ALT_OFFSET 0x0100 215ff36fd85Swdenk #endif /* CONFIG_DBAU1550 */ 2165da627a4Swdenk 2175da627a4Swdenk /*----------------------------------------------------------------------- 2185da627a4Swdenk * Cache Configuration 2195da627a4Swdenk */ 2205da627a4Swdenk #define CFG_DCACHE_SIZE 16384 2215da627a4Swdenk #define CFG_ICACHE_SIZE 16384 2225da627a4Swdenk #define CFG_CACHELINE_SIZE 32 2235da627a4Swdenk 2245da627a4Swdenk #endif /* __CONFIG_H */ 225