xref: /OK3568_Linux_fs/u-boot/include/configs/cobra5272.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Configuation settings for the Sentec Cobra Board.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de>
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun /* ---
10*4882a593Smuzhiyun  * Version: U-Boot 1.0.0 - initial release for Sentec COBRA5272 board
11*4882a593Smuzhiyun  * Date: 2004-03-29
12*4882a593Smuzhiyun  * Author: Florian Schlote
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  * For a description of configuration options please refer also to the
15*4882a593Smuzhiyun  * general u-boot-1.x.x/README file
16*4882a593Smuzhiyun  * ---
17*4882a593Smuzhiyun  */
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun /* ---
20*4882a593Smuzhiyun  * board/config.h - configuration options, board specific
21*4882a593Smuzhiyun  * ---
22*4882a593Smuzhiyun  */
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #ifndef _CONFIG_COBRA5272_H
25*4882a593Smuzhiyun #define _CONFIG_COBRA5272_H
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun /* ---
28*4882a593Smuzhiyun  * Defines processor clock - important for correct timings concerning serial
29*4882a593Smuzhiyun  * interface etc.
30*4882a593Smuzhiyun  * ---
31*4882a593Smuzhiyun  */
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #define CONFIG_SYS_CLK			66000000
34*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE		16		/* SDRAM size in MB */
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun /* ---
37*4882a593Smuzhiyun  * Enable use of Ethernet
38*4882a593Smuzhiyun  * ---
39*4882a593Smuzhiyun  */
40*4882a593Smuzhiyun #define CONFIG_MCFFEC
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun /* Enable Dma Timer */
43*4882a593Smuzhiyun #define CONFIG_MCFTMR
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun /* ---
46*4882a593Smuzhiyun  * Define baudrate for UART1 (console output, tftp, ...)
47*4882a593Smuzhiyun  * default value of CONFIG_BAUDRATE for Sentec board: 19200 baud
48*4882a593Smuzhiyun  * CONFIG_SYS_BAUDRATE_TABLE defines values that can be selected in u-boot command
49*4882a593Smuzhiyun  * interface
50*4882a593Smuzhiyun  * ---
51*4882a593Smuzhiyun  */
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun #define CONFIG_MCFUART
54*4882a593Smuzhiyun #define CONFIG_SYS_UART_PORT		(0)
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun /* ---
57*4882a593Smuzhiyun  * set "#if 0" to "#if 1" if (Hardware)-WATCHDOG should be enabled & change
58*4882a593Smuzhiyun  * timeout acc. to your needs
59*4882a593Smuzhiyun  * #define CONFIG_WATCHDOG_TIMEOUT x , x is timeout in milliseconds, e. g. 10000
60*4882a593Smuzhiyun  * for 10 sec
61*4882a593Smuzhiyun  * ---
62*4882a593Smuzhiyun  */
63*4882a593Smuzhiyun 
64*4882a593Smuzhiyun #if 0
65*4882a593Smuzhiyun #define CONFIG_WATCHDOG
66*4882a593Smuzhiyun #define CONFIG_WATCHDOG_TIMEOUT 10000	/* timeout in milliseconds */
67*4882a593Smuzhiyun #endif
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun /* ---
70*4882a593Smuzhiyun  * CONFIG_MONITOR_IS_IN_RAM defines if u-boot is started from a different
71*4882a593Smuzhiyun  * bootloader residing in flash ('chainloading'); if you want to use
72*4882a593Smuzhiyun  * chainloading or want to compile a u-boot binary that can be loaded into
73*4882a593Smuzhiyun  * RAM via BDM set
74*4882a593Smuzhiyun  *	"#if 0" to "#if 1"
75*4882a593Smuzhiyun  * You will need a first stage bootloader then, e. g. colilo or a working BDM
76*4882a593Smuzhiyun  * cable (Background Debug Mode)
77*4882a593Smuzhiyun  *
78*4882a593Smuzhiyun  * Setting #if 0: u-boot will start from flash and relocate itself to RAM
79*4882a593Smuzhiyun  *
80*4882a593Smuzhiyun  * Please do not forget to modify the setting of CONFIG_SYS_TEXT_BASE
81*4882a593Smuzhiyun  * in board/cobra5272/config.mk accordingly (#if 0: 0xffe00000; #if 1: 0x20000)
82*4882a593Smuzhiyun  *
83*4882a593Smuzhiyun  * ---
84*4882a593Smuzhiyun  */
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun #if 0
87*4882a593Smuzhiyun #define CONFIG_MONITOR_IS_IN_RAM /* monitor is started from a preloader */
88*4882a593Smuzhiyun #endif
89*4882a593Smuzhiyun 
90*4882a593Smuzhiyun /* ---
91*4882a593Smuzhiyun  * Configuration for environment
92*4882a593Smuzhiyun  * Environment is embedded in u-boot in the second sector of the flash
93*4882a593Smuzhiyun  * ---
94*4882a593Smuzhiyun  */
95*4882a593Smuzhiyun 
96*4882a593Smuzhiyun #ifndef CONFIG_MONITOR_IS_IN_RAM
97*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		0x4000
98*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE	0x2000
99*4882a593Smuzhiyun #else
100*4882a593Smuzhiyun #define CONFIG_ENV_ADDR		0xffe04000
101*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE	0x2000
102*4882a593Smuzhiyun #endif
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun #define LDS_BOARD_TEXT \
105*4882a593Smuzhiyun 	. = DEFINED(env_offset) ? env_offset : .; \
106*4882a593Smuzhiyun 	env/embedded.o(.text);
107*4882a593Smuzhiyun 
108*4882a593Smuzhiyun /*
109*4882a593Smuzhiyun  * BOOTP options
110*4882a593Smuzhiyun  */
111*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE
112*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH
113*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY
114*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME
115*4882a593Smuzhiyun 
116*4882a593Smuzhiyun /*
117*4882a593Smuzhiyun  * Command line configuration.
118*4882a593Smuzhiyun  */
119*4882a593Smuzhiyun 
120*4882a593Smuzhiyun #ifdef CONFIG_MCFFEC
121*4882a593Smuzhiyun #	define CONFIG_MII		1
122*4882a593Smuzhiyun #	define CONFIG_MII_INIT		1
123*4882a593Smuzhiyun #	define CONFIG_SYS_DISCOVER_PHY
124*4882a593Smuzhiyun #	define CONFIG_SYS_RX_ETH_BUFFER	8
125*4882a593Smuzhiyun #	define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun #	define CONFIG_SYS_FEC0_PINMUX		0
128*4882a593Smuzhiyun #	define CONFIG_SYS_FEC0_MIIBASE		CONFIG_SYS_FEC0_IOBASE
129*4882a593Smuzhiyun #	define MCFFEC_TOUT_LOOP		50000
130*4882a593Smuzhiyun /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
131*4882a593Smuzhiyun #	ifndef CONFIG_SYS_DISCOVER_PHY
132*4882a593Smuzhiyun #		define FECDUPLEX	FULL
133*4882a593Smuzhiyun #		define FECSPEED		_100BASET
134*4882a593Smuzhiyun #	else
135*4882a593Smuzhiyun #		ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
136*4882a593Smuzhiyun #			define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
137*4882a593Smuzhiyun #		endif
138*4882a593Smuzhiyun #	endif			/* CONFIG_SYS_DISCOVER_PHY */
139*4882a593Smuzhiyun #endif
140*4882a593Smuzhiyun 
141*4882a593Smuzhiyun /*
142*4882a593Smuzhiyun  *-----------------------------------------------------------------------------
143*4882a593Smuzhiyun  * Define user parameters that have to be customized most likely
144*4882a593Smuzhiyun  *-----------------------------------------------------------------------------
145*4882a593Smuzhiyun  */
146*4882a593Smuzhiyun 
147*4882a593Smuzhiyun /*AUTOBOOT settings - booting images automatically by u-boot after power on*/
148*4882a593Smuzhiyun 
149*4882a593Smuzhiyun /* The following settings will be contained in the environment block ; if you
150*4882a593Smuzhiyun want to use a neutral environment all those settings can be manually set in
151*4882a593Smuzhiyun u-boot: 'set' command */
152*4882a593Smuzhiyun 
153*4882a593Smuzhiyun #if 0
154*4882a593Smuzhiyun 
155*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND	"bootm 0xffe80000"	/*Autoboto command, please
156*4882a593Smuzhiyun enter a valid image address in flash */
157*4882a593Smuzhiyun 
158*4882a593Smuzhiyun /* User network settings */
159*4882a593Smuzhiyun 
160*4882a593Smuzhiyun #define CONFIG_IPADDR 192.168.100.2		/* default board IP address */
161*4882a593Smuzhiyun #define CONFIG_SERVERIP 192.168.100.1	/* default tftp server IP address */
162*4882a593Smuzhiyun 
163*4882a593Smuzhiyun #endif
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR		0x20000		/*Defines default RAM address
166*4882a593Smuzhiyun from which user programs will be started */
167*4882a593Smuzhiyun 
168*4882a593Smuzhiyun /*---*/
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP				/* undef to save memory		*/
171*4882a593Smuzhiyun 
172*4882a593Smuzhiyun /*
173*4882a593Smuzhiyun  *-----------------------------------------------------------------------------
174*4882a593Smuzhiyun  * End of user parameters to be customized
175*4882a593Smuzhiyun  *-----------------------------------------------------------------------------
176*4882a593Smuzhiyun  */
177*4882a593Smuzhiyun 
178*4882a593Smuzhiyun /* ---
179*4882a593Smuzhiyun  * Defines memory range for test
180*4882a593Smuzhiyun  * ---
181*4882a593Smuzhiyun  */
182*4882a593Smuzhiyun 
183*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START	0x400
184*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END		0x380000
185*4882a593Smuzhiyun 
186*4882a593Smuzhiyun /* ---
187*4882a593Smuzhiyun  * Low Level Configuration Settings
188*4882a593Smuzhiyun  * (address mappings, register initial values, etc.)
189*4882a593Smuzhiyun  * You should know what you are doing if you make changes here.
190*4882a593Smuzhiyun  * ---
191*4882a593Smuzhiyun  */
192*4882a593Smuzhiyun 
193*4882a593Smuzhiyun /* ---
194*4882a593Smuzhiyun  * Base register address
195*4882a593Smuzhiyun  * ---
196*4882a593Smuzhiyun  */
197*4882a593Smuzhiyun 
198*4882a593Smuzhiyun #define CONFIG_SYS_MBAR		0x10000000	/* Register Base Addrs */
199*4882a593Smuzhiyun 
200*4882a593Smuzhiyun /* ---
201*4882a593Smuzhiyun  * System Conf. Reg. & System Protection Reg.
202*4882a593Smuzhiyun  * ---
203*4882a593Smuzhiyun  */
204*4882a593Smuzhiyun 
205*4882a593Smuzhiyun #define CONFIG_SYS_SCR			0x0003
206*4882a593Smuzhiyun #define CONFIG_SYS_SPR			0xffff
207*4882a593Smuzhiyun 
208*4882a593Smuzhiyun /* ---
209*4882a593Smuzhiyun  * Ethernet settings
210*4882a593Smuzhiyun  * ---
211*4882a593Smuzhiyun  */
212*4882a593Smuzhiyun 
213*4882a593Smuzhiyun #define CONFIG_SYS_DISCOVER_PHY
214*4882a593Smuzhiyun #define CONFIG_SYS_ENET_BD_BASE	0x780000
215*4882a593Smuzhiyun 
216*4882a593Smuzhiyun /*-----------------------------------------------------------------------
217*4882a593Smuzhiyun  * Definitions for initial stack pointer and data area (in internal SRAM)
218*4882a593Smuzhiyun  */
219*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR	0x20000000
220*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE	0x1000	/* Size of used area in internal SRAM	*/
221*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
222*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
223*4882a593Smuzhiyun 
224*4882a593Smuzhiyun /*-----------------------------------------------------------------------
225*4882a593Smuzhiyun  * Start addresses for the final memory configuration
226*4882a593Smuzhiyun  * (Set up by the startup code)
227*4882a593Smuzhiyun  * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
228*4882a593Smuzhiyun  */
229*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE		0x00000000
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun /*
232*4882a593Smuzhiyun  *-------------------------------------------------------------------------
233*4882a593Smuzhiyun  * RAM SIZE (is defined above)
234*4882a593Smuzhiyun  *-----------------------------------------------------------------------
235*4882a593Smuzhiyun  */
236*4882a593Smuzhiyun 
237*4882a593Smuzhiyun /* #define CONFIG_SYS_SDRAM_SIZE		16 */
238*4882a593Smuzhiyun 
239*4882a593Smuzhiyun /*
240*4882a593Smuzhiyun  *-----------------------------------------------------------------------
241*4882a593Smuzhiyun  */
242*4882a593Smuzhiyun 
243*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE		0xffe00000
244*4882a593Smuzhiyun 
245*4882a593Smuzhiyun #ifdef	CONFIG_MONITOR_IS_IN_RAM
246*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE	0x20000
247*4882a593Smuzhiyun #else
248*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_FLASH_BASE + 0x400)
249*4882a593Smuzhiyun #endif
250*4882a593Smuzhiyun 
251*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN		0x20000
252*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN		(256 << 10)
253*4882a593Smuzhiyun #define CONFIG_SYS_BOOTPARAMS_LEN	64*1024
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun /*
256*4882a593Smuzhiyun  * For booting Linux, the board info and command line data
257*4882a593Smuzhiyun  * have to be in the first 8 MB of memory, since this is
258*4882a593Smuzhiyun  * the maximum mapped by the Linux kernel during initialization ??
259*4882a593Smuzhiyun  */
260*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for Linux */
261*4882a593Smuzhiyun 
262*4882a593Smuzhiyun /*-----------------------------------------------------------------------
263*4882a593Smuzhiyun  * FLASH organization
264*4882a593Smuzhiyun  */
265*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS	1	/* max number of memory banks		*/
266*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT	11	/* max number of sectors on one chip	*/
267*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT	1000	/* flash timeout */
268*4882a593Smuzhiyun 
269*4882a593Smuzhiyun /*-----------------------------------------------------------------------
270*4882a593Smuzhiyun  * Cache Configuration
271*4882a593Smuzhiyun  */
272*4882a593Smuzhiyun #define CONFIG_SYS_CACHELINE_SIZE	16
273*4882a593Smuzhiyun 
274*4882a593Smuzhiyun #define ICACHE_STATUS			(CONFIG_SYS_INIT_RAM_ADDR + \
275*4882a593Smuzhiyun 					 CONFIG_SYS_INIT_RAM_SIZE - 8)
276*4882a593Smuzhiyun #define DCACHE_STATUS			(CONFIG_SYS_INIT_RAM_ADDR + \
277*4882a593Smuzhiyun 					 CONFIG_SYS_INIT_RAM_SIZE - 4)
278*4882a593Smuzhiyun #define CONFIG_SYS_ICACHE_INV		(CF_CACR_CINV | CF_CACR_INVI)
279*4882a593Smuzhiyun #define CONFIG_SYS_CACHE_ACR0		(CONFIG_SYS_SDRAM_BASE | \
280*4882a593Smuzhiyun 					 CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \
281*4882a593Smuzhiyun 					 CF_ACR_EN | CF_ACR_SM_ALL)
282*4882a593Smuzhiyun #define CONFIG_SYS_CACHE_ICACR		(CF_CACR_CENB | CF_CACR_CINV | \
283*4882a593Smuzhiyun 					 CF_CACR_DISD | CF_CACR_INVI | \
284*4882a593Smuzhiyun 					 CF_CACR_CEIB | CF_CACR_DCM | \
285*4882a593Smuzhiyun 					 CF_CACR_EUSP)
286*4882a593Smuzhiyun 
287*4882a593Smuzhiyun /*-----------------------------------------------------------------------
288*4882a593Smuzhiyun  * Memory bank definitions
289*4882a593Smuzhiyun  *
290*4882a593Smuzhiyun  * Please refer also to Motorola Coldfire user manual - Chapter XXX
291*4882a593Smuzhiyun  * <http://e-www.motorola.com/files/dsp/doc/ref_manual/MCF5272UM.pdf>
292*4882a593Smuzhiyun  */
293*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM		0xFFE00201
294*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM		0xFFE00014
295*4882a593Smuzhiyun 
296*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM		0
297*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM		0
298*4882a593Smuzhiyun 
299*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM		0
300*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM		0
301*4882a593Smuzhiyun 
302*4882a593Smuzhiyun #define CONFIG_SYS_BR3_PRELIM		0
303*4882a593Smuzhiyun #define CONFIG_SYS_OR3_PRELIM		0
304*4882a593Smuzhiyun 
305*4882a593Smuzhiyun #define CONFIG_SYS_BR4_PRELIM		0
306*4882a593Smuzhiyun #define CONFIG_SYS_OR4_PRELIM		0
307*4882a593Smuzhiyun 
308*4882a593Smuzhiyun #define CONFIG_SYS_BR5_PRELIM		0
309*4882a593Smuzhiyun #define CONFIG_SYS_OR5_PRELIM		0
310*4882a593Smuzhiyun 
311*4882a593Smuzhiyun #define CONFIG_SYS_BR6_PRELIM		0
312*4882a593Smuzhiyun #define CONFIG_SYS_OR6_PRELIM		0
313*4882a593Smuzhiyun 
314*4882a593Smuzhiyun #define CONFIG_SYS_BR7_PRELIM		0x00000701
315*4882a593Smuzhiyun #define CONFIG_SYS_OR7_PRELIM		0xFF00007C
316*4882a593Smuzhiyun 
317*4882a593Smuzhiyun /*-----------------------------------------------------------------------
318*4882a593Smuzhiyun  * LED config
319*4882a593Smuzhiyun  */
320*4882a593Smuzhiyun #define	LED_STAT_0	0xffff /*all LEDs off*/
321*4882a593Smuzhiyun #define	LED_STAT_1	0xfffe
322*4882a593Smuzhiyun #define	LED_STAT_2	0xfffd
323*4882a593Smuzhiyun #define	LED_STAT_3	0xfffb
324*4882a593Smuzhiyun #define	LED_STAT_4	0xfff7
325*4882a593Smuzhiyun #define	LED_STAT_5	0xffef
326*4882a593Smuzhiyun #define	LED_STAT_6	0xffdf
327*4882a593Smuzhiyun #define	LED_STAT_7	0xff00 /*all LEDs on*/
328*4882a593Smuzhiyun 
329*4882a593Smuzhiyun /*-----------------------------------------------------------------------
330*4882a593Smuzhiyun  * Port configuration (GPIO)
331*4882a593Smuzhiyun  */
332*4882a593Smuzhiyun #define CONFIG_SYS_PACNT		0x00000000		/* PortA control reg.: All pins are external
333*4882a593Smuzhiyun GPIO*/
334*4882a593Smuzhiyun #define CONFIG_SYS_PADDR		0x00FF			/* PortA direction reg.: PA7 to PA0 are outputs
335*4882a593Smuzhiyun (1^=output, 0^=input) */
336*4882a593Smuzhiyun #define CONFIG_SYS_PADAT		LED_STAT_0		/* PortA value reg.: Turn all LED off */
337*4882a593Smuzhiyun #define CONFIG_SYS_PBCNT		0x55554155		/* PortB control reg.: Ethernet/UART
338*4882a593Smuzhiyun configuration */
339*4882a593Smuzhiyun #define CONFIG_SYS_PBDDR		0x0000			/* PortB direction: All pins configured as inputs */
340*4882a593Smuzhiyun #define CONFIG_SYS_PBDAT		0x0000			/* PortB value reg. */
341*4882a593Smuzhiyun #define CONFIG_SYS_PDCNT		0x00000000		/* PortD control reg. */
342*4882a593Smuzhiyun 
343*4882a593Smuzhiyun #endif	/* _CONFIG_COBRA5272_H */
344