xref: /OK3568_Linux_fs/u-boot/include/configs/dbau1x00.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2003
3*4882a593Smuzhiyun  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun /*
9*4882a593Smuzhiyun  * This file contains the configuration parameters for the dbau1x00 board.
10*4882a593Smuzhiyun  */
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #ifndef __CONFIG_H
13*4882a593Smuzhiyun #define __CONFIG_H
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define CONFIG_DBAU1X00		1
16*4882a593Smuzhiyun #define CONFIG_SOC_AU1X00	1  /* alchemy series cpu */
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #ifdef CONFIG_DBAU1000
19*4882a593Smuzhiyun /* Also known as Merlot */
20*4882a593Smuzhiyun #define CONFIG_SOC_AU1000	1
21*4882a593Smuzhiyun #else
22*4882a593Smuzhiyun #ifdef CONFIG_DBAU1100
23*4882a593Smuzhiyun #define CONFIG_SOC_AU1100	1
24*4882a593Smuzhiyun #else
25*4882a593Smuzhiyun #ifdef CONFIG_DBAU1500
26*4882a593Smuzhiyun #define CONFIG_SOC_AU1500	1
27*4882a593Smuzhiyun #else
28*4882a593Smuzhiyun #ifdef CONFIG_DBAU1550
29*4882a593Smuzhiyun /* Cabernet */
30*4882a593Smuzhiyun #define CONFIG_SOC_AU1550	1
31*4882a593Smuzhiyun #else
32*4882a593Smuzhiyun #error "No valid board set"
33*4882a593Smuzhiyun #endif
34*4882a593Smuzhiyun #endif
35*4882a593Smuzhiyun #endif
36*4882a593Smuzhiyun #endif
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun /* valid baudrates */
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define	CONFIG_TIMESTAMP		/* Print image info with timestamp */
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define	CONFIG_EXTRA_ENV_SETTINGS					\
43*4882a593Smuzhiyun 	"addmisc=setenv bootargs ${bootargs} "				\
44*4882a593Smuzhiyun 		"console=ttyS0,${baudrate} "				\
45*4882a593Smuzhiyun 		"panic=1\0"						\
46*4882a593Smuzhiyun 	"bootfile=/tftpboot/vmlinux.srec\0"				\
47*4882a593Smuzhiyun 	"load=tftp 80500000 ${u-boot}\0"				\
48*4882a593Smuzhiyun 	""
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #ifdef CONFIG_DBAU1550
51*4882a593Smuzhiyun /* Boot from flash by default, revert to bootp */
52*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND	"bootm 0xbfc20000; bootp; bootm"
53*4882a593Smuzhiyun #else /* CONFIG_DBAU1550 */
54*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND	"bootp;bootm"
55*4882a593Smuzhiyun #endif /* CONFIG_DBAU1550 */
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun /*
58*4882a593Smuzhiyun  * BOOTP options
59*4882a593Smuzhiyun  */
60*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE
61*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH
62*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY
63*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun /*
66*4882a593Smuzhiyun  * Command line configuration.
67*4882a593Smuzhiyun  */
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun /*
70*4882a593Smuzhiyun  * Miscellaneous configurable options
71*4882a593Smuzhiyun  */
72*4882a593Smuzhiyun #define	CONFIG_SYS_LONGHELP				/* undef to save memory      */
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN		128*1024
75*4882a593Smuzhiyun 
76*4882a593Smuzhiyun #define CONFIG_SYS_BOOTPARAMS_LEN	128*1024
77*4882a593Smuzhiyun 
78*4882a593Smuzhiyun #define CONFIG_SYS_MHZ			396
79*4882a593Smuzhiyun 
80*4882a593Smuzhiyun #if (CONFIG_SYS_MHZ % 12) != 0
81*4882a593Smuzhiyun #error "Invalid CPU frequency - must be multiple of 12!"
82*4882a593Smuzhiyun #endif
83*4882a593Smuzhiyun 
84*4882a593Smuzhiyun #define CONFIG_SYS_MIPS_TIMER_FREQ	(CONFIG_SYS_MHZ * 1000000)
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE		0x80000000     /* Cached addr */
87*4882a593Smuzhiyun 
88*4882a593Smuzhiyun #define	CONFIG_SYS_LOAD_ADDR		0x81000000     /* default load address	*/
89*4882a593Smuzhiyun 
90*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START	0x80100000
91*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END		0x80800000
92*4882a593Smuzhiyun 
93*4882a593Smuzhiyun /*-----------------------------------------------------------------------
94*4882a593Smuzhiyun  * FLASH and environment organization
95*4882a593Smuzhiyun  */
96*4882a593Smuzhiyun #ifdef CONFIG_DBAU1550
97*4882a593Smuzhiyun 
98*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS	2	/* max number of memory banks */
99*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT	(512)	/* max number of sectors on one chip */
100*4882a593Smuzhiyun 
101*4882a593Smuzhiyun #define PHYS_FLASH_1		0xb8000000 /* Flash Bank #1 */
102*4882a593Smuzhiyun #define PHYS_FLASH_2		0xbc000000 /* Flash Bank #2 */
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun #else /* CONFIG_DBAU1550 */
105*4882a593Smuzhiyun 
106*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS	2	/* max number of memory banks */
107*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT	(128)	/* max number of sectors on one chip */
108*4882a593Smuzhiyun 
109*4882a593Smuzhiyun #define PHYS_FLASH_1		0xbec00000 /* Flash Bank #1 */
110*4882a593Smuzhiyun #define PHYS_FLASH_2		0xbfc00000 /* Flash Bank #2 */
111*4882a593Smuzhiyun 
112*4882a593Smuzhiyun #endif /* CONFIG_DBAU1550 */
113*4882a593Smuzhiyun 
114*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BANKS_LIST {PHYS_FLASH_1, PHYS_FLASH_2}
115*4882a593Smuzhiyun 
116*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI           1
117*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER    1
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun #define	CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE
120*4882a593Smuzhiyun #define	CONFIG_SYS_MONITOR_LEN		(192 << 10)
121*4882a593Smuzhiyun 
122*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET	0x400000
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun /* We boot from this flash, selected with dip switch */
125*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE		PHYS_FLASH_2
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun /* timeout values are in ticks */
128*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT	(2 * CONFIG_SYS_HZ) /* Timeout for Flash Erase */
129*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT	(2 * CONFIG_SYS_HZ) /* Timeout for Flash Write */
130*4882a593Smuzhiyun 
131*4882a593Smuzhiyun /* Address and size of Primary Environment Sector	*/
132*4882a593Smuzhiyun #define CONFIG_ENV_ADDR		0xB0030000
133*4882a593Smuzhiyun #define CONFIG_ENV_SIZE		0x10000
134*4882a593Smuzhiyun 
135*4882a593Smuzhiyun #define CONFIG_FLASH_16BIT
136*4882a593Smuzhiyun 
137*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS	2
138*4882a593Smuzhiyun 
139*4882a593Smuzhiyun #ifdef CONFIG_DBAU1550
140*4882a593Smuzhiyun #define MEM_SIZE 192
141*4882a593Smuzhiyun #else
142*4882a593Smuzhiyun #define MEM_SIZE 64
143*4882a593Smuzhiyun #endif
144*4882a593Smuzhiyun 
145*4882a593Smuzhiyun #define CONFIG_MEMSIZE_IN_BYTES
146*4882a593Smuzhiyun 
147*4882a593Smuzhiyun #ifndef CONFIG_DBAU1550
148*4882a593Smuzhiyun /*---ATA PCMCIA ------------------------------------*/
149*4882a593Smuzhiyun #define CONFIG_SYS_PCMCIA_MEM_SIZE 0x4000000 /* Offset to slot 1 FIXME!!! */
150*4882a593Smuzhiyun #define CONFIG_SYS_PCMCIA_MEM_ADDR 0x20000000
151*4882a593Smuzhiyun #define CONFIG_PCMCIA_SLOT_A
152*4882a593Smuzhiyun 
153*4882a593Smuzhiyun #define CONFIG_ATAPI 1
154*4882a593Smuzhiyun 
155*4882a593Smuzhiyun /* We run CF in "true ide" mode or a harddrive via pcmcia */
156*4882a593Smuzhiyun #define CONFIG_IDE_PCMCIA 1
157*4882a593Smuzhiyun 
158*4882a593Smuzhiyun /* We only support one slot for now */
159*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXBUS		1	/* max. 1 IDE bus		*/
160*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXDEVICE	1	/* max. 1 drive per IDE bus	*/
161*4882a593Smuzhiyun 
162*4882a593Smuzhiyun #undef	CONFIG_IDE_RESET		/* reset for ide not supported	*/
163*4882a593Smuzhiyun 
164*4882a593Smuzhiyun #define CONFIG_SYS_ATA_IDE0_OFFSET	0x0000
165*4882a593Smuzhiyun 
166*4882a593Smuzhiyun #define CONFIG_SYS_ATA_BASE_ADDR       CONFIG_SYS_PCMCIA_MEM_ADDR
167*4882a593Smuzhiyun 
168*4882a593Smuzhiyun /* Offset for data I/O			*/
169*4882a593Smuzhiyun #define CONFIG_SYS_ATA_DATA_OFFSET     8
170*4882a593Smuzhiyun 
171*4882a593Smuzhiyun /* Offset for normal register accesses  */
172*4882a593Smuzhiyun #define CONFIG_SYS_ATA_REG_OFFSET      0
173*4882a593Smuzhiyun 
174*4882a593Smuzhiyun /* Offset for alternate registers       */
175*4882a593Smuzhiyun #define CONFIG_SYS_ATA_ALT_OFFSET      0x0100
176*4882a593Smuzhiyun #endif /* CONFIG_DBAU1550 */
177*4882a593Smuzhiyun 
178*4882a593Smuzhiyun #endif	/* __CONFIG_H */
179