xref: /rk3399_rockchip-uboot/include/configs/microblaze-generic.h (revision c82a541d475e25a0eebee3c98aaa1e8259bea2c2)
152a822edSMichal Simek /*
252a822edSMichal Simek  * (C) Copyright 2007-2008 Michal Simek
352a822edSMichal Simek  *
452a822edSMichal Simek  * Michal SIMEK <monstr@monstr.eu>
552a822edSMichal Simek  *
652a822edSMichal Simek  * See file CREDITS for list of people who contributed to this
752a822edSMichal Simek  * project.
852a822edSMichal Simek  *
952a822edSMichal Simek  * This program is free software; you can redistribute it and/or
1052a822edSMichal Simek  * modify it under the terms of the GNU General Public License as
1152a822edSMichal Simek  * published by the Free Software Foundation; either version 2 of
1252a822edSMichal Simek  * the License, or (at your option) any later version.
1352a822edSMichal Simek  *
1452a822edSMichal Simek  * This program is distributed in the hope that it will be useful,
1552a822edSMichal Simek  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1652a822edSMichal Simek  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1752a822edSMichal Simek  * GNU General Public License for more details.
1852a822edSMichal Simek  *
1952a822edSMichal Simek  * You should have received a copy of the GNU General Public License
2052a822edSMichal Simek  * along with this program; if not, write to the Free Software
2152a822edSMichal Simek  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2252a822edSMichal Simek  * MA 02111-1307 USA
2352a822edSMichal Simek  */
2452a822edSMichal Simek 
2552a822edSMichal Simek #ifndef __CONFIG_H
2652a822edSMichal Simek #define __CONFIG_H
2752a822edSMichal Simek 
2852a822edSMichal Simek #include "../board/xilinx/microblaze-generic/xparameters.h"
2952a822edSMichal Simek 
3052a822edSMichal Simek #define	CONFIG_MICROBLAZE	1	/* MicroBlaze CPU */
3152a822edSMichal Simek #define	MICROBLAZE_V5		1
3252a822edSMichal Simek 
3352a822edSMichal Simek /* uart */
3452a822edSMichal Simek #ifdef XILINX_UARTLITE_BASEADDR
3552a822edSMichal Simek 	#define	CONFIG_XILINX_UARTLITE
3652a822edSMichal Simek 	#define	CONFIG_SERIAL_BASE	XILINX_UARTLITE_BASEADDR
3752a822edSMichal Simek 	#define	CONFIG_BAUDRATE		XILINX_UARTLITE_BAUDRATE
3852a822edSMichal Simek 	#define	CONFIG_SYS_BAUDRATE_TABLE	{ CONFIG_BAUDRATE }
39330e5545SMichal Simek 	#define CONSOLE_ARG	"console=console=ttyUL0,115200\0"
4052a822edSMichal Simek #elif XILINX_UART16550_BASEADDR
4152a822edSMichal Simek 	#define CONFIG_SYS_NS16550	1
4252a822edSMichal Simek 	#define CONFIG_SYS_NS16550_SERIAL
4352a822edSMichal Simek 	#define CONFIG_SYS_NS16550_REG_SIZE	-4
4452a822edSMichal Simek 	#define CONFIG_CONS_INDEX	1
4552a822edSMichal Simek 	#define CONFIG_SYS_NS16550_COM1	(XILINX_UART16550_BASEADDR + 0x1000 + 0x3)
4652a822edSMichal Simek 	#define CONFIG_SYS_NS16550_CLK	XILINX_UART16550_CLOCK_HZ
4752a822edSMichal Simek 	#define	CONFIG_BAUDRATE		115200
4852a822edSMichal Simek 
4952a822edSMichal Simek 	/* The following table includes the supported baudrates */
5052a822edSMichal Simek 	#define CONFIG_SYS_BAUDRATE_TABLE  \
5152a822edSMichal Simek 		{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
52330e5545SMichal Simek 	#define CONSOLE_ARG	"console=console=ttyS0,115200\0"
5352a822edSMichal Simek #else
5452a822edSMichal Simek 	#error Undefined uart
5552a822edSMichal Simek #endif
5652a822edSMichal Simek 
5752a822edSMichal Simek /* setting reset address */
5852a822edSMichal Simek /*#define	CONFIG_SYS_RESET_ADDRESS	TEXT_BASE*/
5952a822edSMichal Simek 
6052a822edSMichal Simek /* ethernet */
613ceba1d4SMichal Simek #ifdef XILINX_EMACLITE_BASEADDR
6252a822edSMichal Simek 	#define CONFIG_XILINX_EMACLITE	1
6352a822edSMichal Simek 	#define CONFIG_SYS_ENET
64330e5545SMichal Simek #elif XILINX_LLTEMAC_BASEADDR
65330e5545SMichal Simek 	#define CONFIG_XILINX_LL_TEMAC	1
66330e5545SMichal Simek 	#define CONFIG_SYS_ENET
6752a822edSMichal Simek #endif
68330e5545SMichal Simek 
6952a822edSMichal Simek #undef ET_DEBUG
7052a822edSMichal Simek 
7152a822edSMichal Simek /* gpio */
7252a822edSMichal Simek #ifdef XILINX_GPIO_BASEADDR
7352a822edSMichal Simek 	#define	CONFIG_SYS_GPIO_0		1
7452a822edSMichal Simek 	#define	CONFIG_SYS_GPIO_0_ADDR		XILINX_GPIO_BASEADDR
7552a822edSMichal Simek #endif
7652a822edSMichal Simek 
7752a822edSMichal Simek /* interrupt controller */
7852a822edSMichal Simek #ifdef XILINX_INTC_BASEADDR
7952a822edSMichal Simek 	#define	CONFIG_SYS_INTC_0		1
8052a822edSMichal Simek 	#define	CONFIG_SYS_INTC_0_ADDR		XILINX_INTC_BASEADDR
8152a822edSMichal Simek 	#define	CONFIG_SYS_INTC_0_NUM		XILINX_INTC_NUM_INTR_INPUTS
8252a822edSMichal Simek #endif
8352a822edSMichal Simek 
8452a822edSMichal Simek /* timer */
8552a822edSMichal Simek #ifdef XILINX_TIMER_BASEADDR
8652a822edSMichal Simek 	#if (XILINX_TIMER_IRQ != -1)
8752a822edSMichal Simek 		#define	CONFIG_SYS_TIMER_0		1
8852a822edSMichal Simek 		#define	CONFIG_SYS_TIMER_0_ADDR	XILINX_TIMER_BASEADDR
8952a822edSMichal Simek 		#define	CONFIG_SYS_TIMER_0_IRQ		XILINX_TIMER_IRQ
9052a822edSMichal Simek 		#define	FREQUENCE		XILINX_CLOCK_FREQ
9152a822edSMichal Simek 		#define	CONFIG_SYS_TIMER_0_PRELOAD	( FREQUENCE/1000 )
9252a822edSMichal Simek 	#endif
93330e5545SMichal Simek #elif XILINX_CLOCK_FREQ
9452a822edSMichal Simek 	#define	CONFIG_XILINX_CLOCK_FREQ	XILINX_CLOCK_FREQ
9552a822edSMichal Simek #else
9652a822edSMichal Simek 	#error BAD CLOCK FREQ
9752a822edSMichal Simek #endif
9852a822edSMichal Simek /* FSL */
9952a822edSMichal Simek /* #define	CONFIG_SYS_FSL_2 */
10052a822edSMichal Simek /* #define	FSL_INTR_2	1 */
10152a822edSMichal Simek 
10252a822edSMichal Simek /*
10352a822edSMichal Simek  * memory layout - Example
10452a822edSMichal Simek  * TEXT_BASE = 0x1200_0000;
10552a822edSMichal Simek  * CONFIG_SYS_SRAM_BASE = 0x1000_0000;
10652a822edSMichal Simek  * CONFIG_SYS_SRAM_SIZE = 0x0400_0000;
10752a822edSMichal Simek  *
10852a822edSMichal Simek  * CONFIG_SYS_GBL_DATA_OFFSET = 0x1000_0000 + 0x0400_0000 - 0x1000 = 0x13FF_F000
10952a822edSMichal Simek  * CONFIG_SYS_MONITOR_BASE = 0x13FF_F000 - 0x40000 = 0x13FB_F000
11052a822edSMichal Simek  * CONFIG_SYS_MALLOC_BASE = 0x13FB_F000 - 0x40000 = 0x13F7_F000
11152a822edSMichal Simek  *
11252a822edSMichal Simek  * 0x1000_0000	CONFIG_SYS_SDRAM_BASE
11352a822edSMichal Simek  *					FREE
11452a822edSMichal Simek  * 0x1200_0000	TEXT_BASE
11552a822edSMichal Simek  *		U-BOOT code
11652a822edSMichal Simek  * 0x1202_0000
11752a822edSMichal Simek  *					FREE
11852a822edSMichal Simek  *
11952a822edSMichal Simek  *					STACK
12052a822edSMichal Simek  * 0x13F7_F000	CONFIG_SYS_MALLOC_BASE
12152a822edSMichal Simek  *					MALLOC_AREA	256kB	Alloc
12252a822edSMichal Simek  * 0x11FB_F000	CONFIG_SYS_MONITOR_BASE
12352a822edSMichal Simek  *					MONITOR_CODE	256kB	Env
12452a822edSMichal Simek  * 0x13FF_F000	CONFIG_SYS_GBL_DATA_OFFSET
12552a822edSMichal Simek  *					GLOBAL_DATA	4kB	bd, gd
12652a822edSMichal Simek  * 0x1400_0000	CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE
12752a822edSMichal Simek  */
12852a822edSMichal Simek 
12952a822edSMichal Simek /* ddr sdram - main memory */
13052a822edSMichal Simek #define	CONFIG_SYS_SDRAM_BASE		XILINX_RAM_START
13152a822edSMichal Simek #define	CONFIG_SYS_SDRAM_SIZE		XILINX_RAM_SIZE
13252a822edSMichal Simek #define	CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
13352a822edSMichal Simek #define	CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x1000)
13452a822edSMichal Simek 
13552a822edSMichal Simek /* global pointer */
1362fddd444SMichal Simek #define	CONFIG_SYS_GBL_DATA_SIZE	128 /* size of global data */
13752a822edSMichal Simek /* start of global data */
13852a822edSMichal Simek #define	CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE - CONFIG_SYS_GBL_DATA_SIZE)
13952a822edSMichal Simek 
14052a822edSMichal Simek /* monitor code */
14152a822edSMichal Simek #define	SIZE			0x40000
1422fddd444SMichal Simek #define	CONFIG_SYS_MONITOR_LEN		(SIZE - CONFIG_SYS_GBL_DATA_SIZE)
14352a822edSMichal Simek #define	CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_GBL_DATA_OFFSET - CONFIG_SYS_MONITOR_LEN)
14452a822edSMichal Simek #define	CONFIG_SYS_MONITOR_END		(CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
14552a822edSMichal Simek #define	CONFIG_SYS_MALLOC_LEN		SIZE
14652a822edSMichal Simek #define	CONFIG_SYS_MALLOC_BASE		(CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
14752a822edSMichal Simek 
14852a822edSMichal Simek /* stack */
1498fe7b29fSGraeme Smecher #define	CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_MALLOC_BASE
15052a822edSMichal Simek 
15152a822edSMichal Simek /*#define	RAMENV */
15252a822edSMichal Simek #define	FLASH
15352a822edSMichal Simek 
15452a822edSMichal Simek #ifdef FLASH
15552a822edSMichal Simek 	#define	CONFIG_SYS_FLASH_BASE		XILINX_FLASH_START
15652a822edSMichal Simek 	#define	CONFIG_SYS_FLASH_SIZE		XILINX_FLASH_SIZE
15752a822edSMichal Simek 	#define	CONFIG_SYS_FLASH_CFI		1
15852a822edSMichal Simek 	#define	CONFIG_FLASH_CFI_DRIVER	1
15952a822edSMichal Simek 	#define	CONFIG_SYS_FLASH_EMPTY_INFO	1	/* ?empty sector */
16052a822edSMichal Simek 	#define	CONFIG_SYS_MAX_FLASH_BANKS	1	/* max number of memory banks */
161330e5545SMichal Simek 	#define	CONFIG_SYS_MAX_FLASH_SECT	512	/* max number of sectors on one chip */
16252a822edSMichal Simek 	#define	CONFIG_SYS_FLASH_PROTECTION		/* hardware flash protection */
16352a822edSMichal Simek 
16452a822edSMichal Simek 	#ifdef	RAMENV
16552a822edSMichal Simek 		#define	CONFIG_ENV_IS_NOWHERE	1
16652a822edSMichal Simek 		#define	CONFIG_ENV_SIZE		0x1000
16752a822edSMichal Simek 		#define	CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
16852a822edSMichal Simek 
16952a822edSMichal Simek 	#else	/* !RAMENV */
17052a822edSMichal Simek 		#define	CONFIG_ENV_IS_IN_FLASH	1
171330e5545SMichal Simek 		#define	CONFIG_ENV_SECT_SIZE	0x20000	/* 128K(one sector) for env */
17252a822edSMichal Simek 		#define	CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
173330e5545SMichal Simek 		#define	CONFIG_ENV_SIZE		0x20000
17452a822edSMichal Simek 	#endif /* !RAMBOOT */
17552a822edSMichal Simek #else /* !FLASH */
17652a822edSMichal Simek 	/* ENV in RAM */
17752a822edSMichal Simek 	#define	CONFIG_SYS_NO_FLASH		1
17852a822edSMichal Simek 	#define	CONFIG_ENV_IS_NOWHERE	1
17952a822edSMichal Simek 	#define	CONFIG_ENV_SIZE		0x1000
18052a822edSMichal Simek 	#define	CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
18152a822edSMichal Simek 	#define	CONFIG_SYS_FLASH_PROTECTION		/* hardware flash protection */
18252a822edSMichal Simek #endif /* !FLASH */
18352a822edSMichal Simek 
18452a822edSMichal Simek /* system ace */
18552a822edSMichal Simek #ifdef XILINX_SYSACE_BASEADDR
18652a822edSMichal Simek 	#define	CONFIG_SYSTEMACE
18752a822edSMichal Simek 	/* #define DEBUG_SYSTEMACE */
18852a822edSMichal Simek 	#define	SYSTEMACE_CONFIG_FPGA
18952a822edSMichal Simek 	#define	CONFIG_SYS_SYSTEMACE_BASE	XILINX_SYSACE_BASEADDR
19052a822edSMichal Simek 	#define	CONFIG_SYS_SYSTEMACE_WIDTH	XILINX_SYSACE_MEM_WIDTH
19152a822edSMichal Simek 	#define	CONFIG_DOS_PARTITION
19252a822edSMichal Simek #endif
19352a822edSMichal Simek 
194e9b737deSMichal Simek #if defined(XILINX_USE_ICACHE)
195e9b737deSMichal Simek 	#define CONFIG_ICACHE
196e9b737deSMichal Simek #else
197e9b737deSMichal Simek 	#undef CONFIG_ICACHE
198e9b737deSMichal Simek #endif
199e9b737deSMichal Simek 
200e9b737deSMichal Simek #if defined(XILINX_USE_DCACHE)
201e9b737deSMichal Simek 	#define CONFIG_DCACHE
202e9b737deSMichal Simek #else
203e9b737deSMichal Simek 	#undef CONFIG_DCACHE
204e9b737deSMichal Simek #endif
205e9b737deSMichal Simek 
20652a822edSMichal Simek /*
20752a822edSMichal Simek  * BOOTP options
20852a822edSMichal Simek  */
20952a822edSMichal Simek #define CONFIG_BOOTP_BOOTFILESIZE
21052a822edSMichal Simek #define CONFIG_BOOTP_BOOTPATH
21152a822edSMichal Simek #define CONFIG_BOOTP_GATEWAY
21252a822edSMichal Simek #define CONFIG_BOOTP_HOSTNAME
21352a822edSMichal Simek 
21452a822edSMichal Simek /*
21552a822edSMichal Simek  * Command line configuration.
21652a822edSMichal Simek  */
21752a822edSMichal Simek #include <config_cmd_default.h>
21852a822edSMichal Simek 
21952a822edSMichal Simek #define CONFIG_CMD_ASKENV
22052a822edSMichal Simek #define CONFIG_CMD_IRQ
22152a822edSMichal Simek #define CONFIG_CMD_MFSL
222330e5545SMichal Simek #define CONFIG_CMD_ECHO
22352a822edSMichal Simek 
224e9b737deSMichal Simek #if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
225e9b737deSMichal Simek 	#define CONFIG_CMD_CACHE
226e9b737deSMichal Simek #else
227e9b737deSMichal Simek 	#undef CONFIG_CMD_CACHE
228e9b737deSMichal Simek #endif
229e9b737deSMichal Simek 
23052a822edSMichal Simek #ifndef CONFIG_SYS_ENET
23152a822edSMichal Simek 	#undef CONFIG_CMD_NET
23252a822edSMichal Simek #else
23352a822edSMichal Simek 	#define CONFIG_CMD_PING
2343faf987dSStephan Linz 	#define CONFIG_CMD_DHCP
23552a822edSMichal Simek #endif
23652a822edSMichal Simek 
23752a822edSMichal Simek #if defined(CONFIG_SYSTEMACE)
23852a822edSMichal Simek 	#define CONFIG_CMD_EXT2
23952a822edSMichal Simek 	#define CONFIG_CMD_FAT
24052a822edSMichal Simek #endif
24152a822edSMichal Simek 
24252a822edSMichal Simek #if defined(FLASH)
24352a822edSMichal Simek 	#define CONFIG_CMD_ECHO
24452a822edSMichal Simek 	#define CONFIG_CMD_FLASH
24552a822edSMichal Simek 	#define CONFIG_CMD_IMLS
24652a822edSMichal Simek 	#define CONFIG_CMD_JFFS2
24752a822edSMichal Simek 
24852a822edSMichal Simek 	#if !defined(RAMENV)
249bdab39d3SMike Frysinger 		#define CONFIG_CMD_SAVEENV
25052a822edSMichal Simek 		#define CONFIG_CMD_SAVES
25152a822edSMichal Simek 	#endif
25252a822edSMichal Simek #else
253330e5545SMichal Simek 	#undef CONFIG_CMD_IMLS
25452a822edSMichal Simek 	#undef CONFIG_CMD_FLASH
255330e5545SMichal Simek 	#undef CONFIG_CMD_JFFS2
25652a822edSMichal Simek #endif
25752a822edSMichal Simek 
25852a822edSMichal Simek #if defined(CONFIG_CMD_JFFS2)
25952a822edSMichal Simek /* JFFS2 partitions */
26068d7d651SStefan Roese #define CONFIG_CMD_MTDPARTS	/* mtdparts command line support */
261942556a9SStefan Roese #define CONFIG_MTD_DEVICE	/* needed for mtdparts commands */
262942556a9SStefan Roese #define CONFIG_FLASH_CFI_MTD
263*c82a541dSStephan Linz #define MTDIDS_DEFAULT		"nor0=flash-0"
26452a822edSMichal Simek 
26552a822edSMichal Simek /* default mtd partition table */
266*c82a541dSStephan Linz #define MTDPARTS_DEFAULT	"mtdparts=flash-0:256k(u-boot),"\
26752a822edSMichal Simek 				"256k(env),3m(kernel),1m(romfs),"\
26852a822edSMichal Simek 				"1m(cramfs),-(jffs2)"
26952a822edSMichal Simek #endif
27052a822edSMichal Simek 
27152a822edSMichal Simek /* Miscellaneous configurable options */
27252a822edSMichal Simek #define	CONFIG_SYS_PROMPT	"U-Boot-mONStR> "
27352a822edSMichal Simek #define	CONFIG_SYS_CBSIZE	512	/* size of console buffer */
27452a822edSMichal Simek #define	CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* print buffer size */
27552a822edSMichal Simek #define	CONFIG_SYS_MAXARGS	15	/* max number of command args */
27652a822edSMichal Simek #define	CONFIG_SYS_LONGHELP
277330e5545SMichal Simek #define	CONFIG_SYS_LOAD_ADDR	XILINX_RAM_START /* default load address */
27852a822edSMichal Simek 
279330e5545SMichal Simek #define	CONFIG_BOOTDELAY	-1	/* -1 disables auto-boot */
28052a822edSMichal Simek #define	CONFIG_BOOTARGS		"root=romfs"
281330e5545SMichal Simek #define	CONFIG_HOSTNAME		XILINX_BOARD_NAME
28252a822edSMichal Simek #define	CONFIG_BOOTCOMMAND	"base 0;tftp 11000000 image.img;bootm"
28352a822edSMichal Simek #define	CONFIG_IPADDR		192.168.0.3
28452a822edSMichal Simek #define	CONFIG_SERVERIP		192.168.0.5
28552a822edSMichal Simek #define	CONFIG_GATEWAYIP	192.168.0.1
28652a822edSMichal Simek #define	CONFIG_ETHADDR		00:E0:0C:00:00:FD
28752a822edSMichal Simek 
28852a822edSMichal Simek /* architecture dependent code */
28952a822edSMichal Simek #define	CONFIG_SYS_USR_EXCEP	/* user exception */
29052a822edSMichal Simek #define CONFIG_SYS_HZ	1000
29152a822edSMichal Simek 
2920900bee9SMichal Simek #define	CONFIG_PREBOOT	"echo U-BOOT for ${hostname};setenv preboot;echo"
29352a822edSMichal Simek 
29452a822edSMichal Simek #define	CONFIG_EXTRA_ENV_SETTINGS	"unlock=yes\0" /* hardware flash protection */\
295*c82a541dSStephan Linz 					"nor0=flash-0\0"\
296*c82a541dSStephan Linz 					"mtdparts=mtdparts=flash-0:"\
29752a822edSMichal Simek 					"256k(u-boot),256k(env),3m(kernel),"\
29852a822edSMichal Simek 					"1m(romfs),1m(cramfs),-(jffs2)\0"
29952a822edSMichal Simek 
30052a822edSMichal Simek #define CONFIG_CMDLINE_EDITING
30152a822edSMichal Simek 
3020900bee9SMichal Simek /* Use the HUSH parser */
3030900bee9SMichal Simek #define CONFIG_SYS_HUSH_PARSER
3040900bee9SMichal Simek #ifdef CONFIG_SYS_HUSH_PARSER
3050900bee9SMichal Simek #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
3060900bee9SMichal Simek #endif
3070900bee9SMichal Simek 
30852a822edSMichal Simek #endif	/* __CONFIG_H */
309