xref: /rk3399_rockchip-uboot/include/configs/dbau1x00.h (revision fe126d8b34d2e7c3c2dc1d4e61086018e016768c)
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