xref: /rk3399_rockchip-uboot/include/configs/microblaze-generic.h (revision 4dd097427aeb6848fcb19c31b805abe1a3906913)
152a822edSMichal Simek /*
24aecfb16SMichal Simek  * (C) Copyright 2007-2010 Michal Simek
352a822edSMichal Simek  *
452a822edSMichal Simek  * Michal SIMEK <monstr@monstr.eu>
552a822edSMichal Simek  *
61a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
752a822edSMichal Simek  */
852a822edSMichal Simek 
952a822edSMichal Simek #ifndef __CONFIG_H
1052a822edSMichal Simek #define __CONFIG_H
1152a822edSMichal Simek 
1252a822edSMichal Simek #include "../board/xilinx/microblaze-generic/xparameters.h"
1352a822edSMichal Simek 
144aecfb16SMichal Simek /* MicroBlaze CPU */
1552a822edSMichal Simek #define	MICROBLAZE_V5		1
1652a822edSMichal Simek 
17bcec8f49SStephan Linz /* linear and spi flash memory */
181fe7e8faSStephan Linz #ifdef XILINX_FLASH_START
191fe7e8faSStephan Linz #define	FLASH
20bcec8f49SStephan Linz #undef	SPIFLASH
21bcec8f49SStephan Linz #undef	RAMENV	/* hold environment in flash */
22bcec8f49SStephan Linz #else
23bcec8f49SStephan Linz #ifdef XILINX_SPI_FLASH_BASEADDR
24bcec8f49SStephan Linz #undef	FLASH
25bcec8f49SStephan Linz #define	SPIFLASH
261fe7e8faSStephan Linz #undef	RAMENV	/* hold environment in flash */
271fe7e8faSStephan Linz #else
281fe7e8faSStephan Linz #undef	FLASH
29bcec8f49SStephan Linz #undef	SPIFLASH
301fe7e8faSStephan Linz #define	RAMENV	/* hold environment in RAM */
311fe7e8faSStephan Linz #endif
32bcec8f49SStephan Linz #endif
331fe7e8faSStephan Linz 
3452a822edSMichal Simek /* uart */
3552a822edSMichal Simek #ifdef XILINX_UARTLITE_BASEADDR
3652a822edSMichal Simek # define CONFIG_XILINX_UARTLITE
3752a822edSMichal Simek # define CONFIG_SERIAL_BASE	XILINX_UARTLITE_BASEADDR
3852a822edSMichal Simek # define CONFIG_BAUDRATE	XILINX_UARTLITE_BAUDRATE
3952a822edSMichal Simek # define CONFIG_SYS_BAUDRATE_TABLE	{ CONFIG_BAUDRATE }
40330e5545SMichal Simek # define CONSOLE_ARG	"console=console=ttyUL0,115200\0"
4152a822edSMichal Simek #elif XILINX_UART16550_BASEADDR
4252a822edSMichal Simek # define CONFIG_SYS_NS16550		1
4352a822edSMichal Simek # define CONFIG_SYS_NS16550_SERIAL
441de55ef1SStephan Linz # if defined(__MICROBLAZEEL__)
4552a822edSMichal Simek #  define CONFIG_SYS_NS16550_REG_SIZE	-4
461de55ef1SStephan Linz # else
471de55ef1SStephan Linz #  define CONFIG_SYS_NS16550_REG_SIZE	4
481de55ef1SStephan Linz # endif
4952a822edSMichal Simek # define CONFIG_CONS_INDEX		1
504aecfb16SMichal Simek # define CONFIG_SYS_NS16550_COM1 \
511de55ef1SStephan Linz 		((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000)
5252a822edSMichal Simek # define CONFIG_SYS_NS16550_CLK	XILINX_UART16550_CLOCK_HZ
5352a822edSMichal Simek # define CONFIG_BAUDRATE	115200
5452a822edSMichal Simek 
5552a822edSMichal Simek /* The following table includes the supported baudrates */
5652a822edSMichal Simek # define CONFIG_SYS_BAUDRATE_TABLE \
5752a822edSMichal Simek 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
58330e5545SMichal Simek # define CONSOLE_ARG	"console=console=ttyS0,115200\0"
5952a822edSMichal Simek #else
6052a822edSMichal Simek # error Undefined uart
6152a822edSMichal Simek #endif
6252a822edSMichal Simek 
6352a822edSMichal Simek /* setting reset address */
6414d0a02aSWolfgang Denk /*#define	CONFIG_SYS_RESET_ADDRESS	CONFIG_SYS_TEXT_BASE*/
6552a822edSMichal Simek 
6652a822edSMichal Simek /* ethernet */
671252df06SMichal Simek #undef CONFIG_SYS_ENET
68d1d37b5cSStephan Linz #if defined(XILINX_EMACLITE_BASEADDR) || defined(CONFIG_OF_CONTROL)
6952a822edSMichal Simek # define CONFIG_XILINX_EMACLITE	1
7052a822edSMichal Simek # define CONFIG_SYS_ENET
718422a35eSStephan Linz #endif
728422a35eSStephan Linz #if defined(XILINX_LLTEMAC_BASEADDR)
73330e5545SMichal Simek # define CONFIG_XILINX_LL_TEMAC	1
74330e5545SMichal Simek # define CONFIG_SYS_ENET
7552a822edSMichal Simek #endif
76e634138eSMichal Simek #if defined(XILINX_AXIEMAC_BASEADDR)
77e634138eSMichal Simek # define CONFIG_XILINX_AXIEMAC	1
78e634138eSMichal Simek # define CONFIG_SYS_ENET
79e634138eSMichal Simek #endif
80330e5545SMichal Simek 
8152a822edSMichal Simek #undef ET_DEBUG
8252a822edSMichal Simek 
8352a822edSMichal Simek /* gpio */
8452a822edSMichal Simek #ifdef XILINX_GPIO_BASEADDR
854e779ad2SMichal Simek # define CONFIG_XILINX_GPIO
8652a822edSMichal Simek # define CONFIG_SYS_GPIO_0_ADDR		XILINX_GPIO_BASEADDR
8752a822edSMichal Simek #endif
8852a822edSMichal Simek 
8952a822edSMichal Simek /* interrupt controller */
9052a822edSMichal Simek #ifdef XILINX_INTC_BASEADDR
9152a822edSMichal Simek # define CONFIG_SYS_INTC_0_ADDR		XILINX_INTC_BASEADDR
9252a822edSMichal Simek # define CONFIG_SYS_INTC_0_NUM		XILINX_INTC_NUM_INTR_INPUTS
9352a822edSMichal Simek #endif
9452a822edSMichal Simek 
9552a822edSMichal Simek /* timer */
96bcbb046bSMichal Simek #if defined(XILINX_TIMER_BASEADDR) && defined(XILINX_TIMER_IRQ)
9752a822edSMichal Simek #  define CONFIG_SYS_TIMER_0_ADDR	XILINX_TIMER_BASEADDR
9852a822edSMichal Simek #  define CONFIG_SYS_TIMER_0_IRQ	XILINX_TIMER_IRQ
9952a822edSMichal Simek #endif
100bcbb046bSMichal Simek 
1010f21f98dSMichal Simek /* watchdog */
1020f21f98dSMichal Simek #if defined(XILINX_WATCHDOG_BASEADDR) && defined(XILINX_WATCHDOG_IRQ)
1030f21f98dSMichal Simek # define CONFIG_WATCHDOG_BASEADDR	XILINX_WATCHDOG_BASEADDR
1040f21f98dSMichal Simek # define CONFIG_WATCHDOG_IRQ		XILINX_WATCHDOG_IRQ
1050f21f98dSMichal Simek # define CONFIG_HW_WATCHDOG
1060f21f98dSMichal Simek # define CONFIG_XILINX_TB_WATCHDOG
1070f21f98dSMichal Simek #endif
1080f21f98dSMichal Simek 
10952a822edSMichal Simek /*
11052a822edSMichal Simek  * memory layout - Example
1118f371b18SStephan Linz  * CONFIG_SYS_TEXT_BASE = 0x1200_0000;	defined in config.mk
11252a822edSMichal Simek  * CONFIG_SYS_SRAM_BASE = 0x1000_0000;
1138f371b18SStephan Linz  * CONFIG_SYS_SRAM_SIZE = 0x0400_0000;	64MB
1148f371b18SStephan Linz  *
1158f371b18SStephan Linz  * CONFIG_SYS_MONITOR_LEN = 0x40000
1168f371b18SStephan Linz  * CONFIG_SYS_MALLOC_LEN = 3 * CONFIG_SYS_MONITOR_LEN = 0xC0000
11752a822edSMichal Simek  *
11852a822edSMichal Simek  * CONFIG_SYS_GBL_DATA_OFFSET = 0x1000_0000 + 0x0400_0000 - 0x1000 = 0x13FF_F000
1198f371b18SStephan Linz  * CONFIG_SYS_MONITOR_BASE = 0x13FF_F000 - CONFIG_SYS_MONITOR_LEN = 0x13FB_F000
1208f371b18SStephan Linz  * CONFIG_SYS_MALLOC_BASE = 0x13FB_F000 - CONFIG_SYS_MALLOC_LEN = 0x13EF_F000
12152a822edSMichal Simek  *
12252a822edSMichal Simek  * 0x1000_0000	CONFIG_SYS_SDRAM_BASE
1238f371b18SStephan Linz  *					MEMTEST_AREA	 64kB
12452a822edSMichal Simek  *					FREE
12514d0a02aSWolfgang Denk  * 0x1200_0000	CONFIG_SYS_TEXT_BASE
12652a822edSMichal Simek  *		U-BOOT code
12752a822edSMichal Simek  * 0x1202_0000
12852a822edSMichal Simek  *					FREE
12952a822edSMichal Simek  *
13052a822edSMichal Simek  *					STACK
1318f371b18SStephan Linz  * 0x13EF_F000	CONFIG_SYS_MALLOC_BASE
1328f371b18SStephan Linz  *					MALLOC_AREA	768kB	Alloc
1338f371b18SStephan Linz  * 0x13FB_F000	CONFIG_SYS_MONITOR_BASE
13452a822edSMichal Simek  *					MONITOR_CODE	256kB	Env
13552a822edSMichal Simek  * 0x13FF_F000	CONFIG_SYS_GBL_DATA_OFFSET
13652a822edSMichal Simek  *					GLOBAL_DATA	4kB	bd, gd
13752a822edSMichal Simek  * 0x1400_0000	CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE
13852a822edSMichal Simek  */
13952a822edSMichal Simek 
14052a822edSMichal Simek /* ddr sdram - main memory */
14152a822edSMichal Simek #define	CONFIG_SYS_SDRAM_BASE		XILINX_RAM_START
14252a822edSMichal Simek #define	CONFIG_SYS_SDRAM_SIZE		XILINX_RAM_SIZE
14352a822edSMichal Simek #define	CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
14452a822edSMichal Simek #define	CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x1000)
14552a822edSMichal Simek 
14652a822edSMichal Simek /* global pointer */
14752a822edSMichal Simek /* start of global data */
1484aecfb16SMichal Simek #define	CONFIG_SYS_GBL_DATA_OFFSET \
1491020286eSMichal Simek 		(CONFIG_SYS_SDRAM_SIZE - GENERATED_GBL_DATA_SIZE)
15052a822edSMichal Simek 
15152a822edSMichal Simek /* monitor code */
15252a822edSMichal Simek #define	SIZE				0x40000
1531020286eSMichal Simek #define	CONFIG_SYS_MONITOR_LEN		SIZE
1544aecfb16SMichal Simek #define	CONFIG_SYS_MONITOR_BASE	\
1551020286eSMichal Simek 		(CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET \
1561020286eSMichal Simek 			- CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
1574aecfb16SMichal Simek #define	CONFIG_SYS_MONITOR_END \
1584aecfb16SMichal Simek 			(CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
1597cfb13a7SStephan Linz #define	CONFIG_SYS_MALLOC_LEN		(SIZE * 3)
1604aecfb16SMichal Simek #define	CONFIG_SYS_MALLOC_BASE \
1614aecfb16SMichal Simek 			(CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
16252a822edSMichal Simek 
16352a822edSMichal Simek /* stack */
1648fe7b29fSGraeme Smecher #define	CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_MALLOC_BASE
16552a822edSMichal Simek 
1668f371b18SStephan Linz /*
1678f371b18SStephan Linz  * CFI flash memory layout - Example
1688f371b18SStephan Linz  * CONFIG_SYS_FLASH_BASE = 0x2200_0000;
1698f371b18SStephan Linz  * CONFIG_SYS_FLASH_SIZE = 0x0080_0000;	  8MB
1708f371b18SStephan Linz  *
1718f371b18SStephan Linz  * SECT_SIZE = 0x20000;			128kB is one sector
1728f371b18SStephan Linz  * CONFIG_ENV_SIZE = SECT_SIZE;		128kB environment store
1738f371b18SStephan Linz  *
1748f371b18SStephan Linz  * 0x2200_0000	CONFIG_SYS_FLASH_BASE
1758f371b18SStephan Linz  *					FREE		256kB
1768f371b18SStephan Linz  * 0x2204_0000	CONFIG_ENV_ADDR
1778f371b18SStephan Linz  *					ENV_AREA	128kB
1788f371b18SStephan Linz  * 0x2206_0000
1798f371b18SStephan Linz  *					FREE
1808f371b18SStephan Linz  * 0x2280_0000	CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE
1818f371b18SStephan Linz  *
1828f371b18SStephan Linz  */
1838f371b18SStephan Linz 
18452a822edSMichal Simek #ifdef FLASH
18552a822edSMichal Simek # define CONFIG_SYS_FLASH_BASE		XILINX_FLASH_START
18652a822edSMichal Simek # define CONFIG_SYS_FLASH_SIZE		XILINX_FLASH_SIZE
18752a822edSMichal Simek # define CONFIG_SYS_FLASH_CFI		1
18852a822edSMichal Simek # define CONFIG_FLASH_CFI_DRIVER	1
1894aecfb16SMichal Simek /* ?empty sector */
1904aecfb16SMichal Simek # define CONFIG_SYS_FLASH_EMPTY_INFO	1
1914aecfb16SMichal Simek /* max number of memory banks */
1924aecfb16SMichal Simek # define CONFIG_SYS_MAX_FLASH_BANKS	1
1934aecfb16SMichal Simek /* max number of sectors on one chip */
1944aecfb16SMichal Simek # define CONFIG_SYS_MAX_FLASH_SECT	512
1954aecfb16SMichal Simek /* hardware flash protection */
1964aecfb16SMichal Simek # define CONFIG_SYS_FLASH_PROTECTION
19722ff7f4dSMichal Simek /* use buffered writes (20x faster) */
19822ff7f4dSMichal Simek # define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
19952a822edSMichal Simek # ifdef	RAMENV
20052a822edSMichal Simek #  define CONFIG_ENV_IS_NOWHERE	1
20152a822edSMichal Simek #  define CONFIG_ENV_SIZE	0x1000
20252a822edSMichal Simek #  define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
20352a822edSMichal Simek 
204bcec8f49SStephan Linz # else	/* FLASH && !RAMENV */
20552a822edSMichal Simek #  define CONFIG_ENV_IS_IN_FLASH	1
2064aecfb16SMichal Simek /* 128K(one sector) for env */
2074aecfb16SMichal Simek #  define CONFIG_ENV_SECT_SIZE	0x20000
2084aecfb16SMichal Simek #  define CONFIG_ENV_ADDR \
2094aecfb16SMichal Simek 			(CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
210330e5545SMichal Simek #  define CONFIG_ENV_SIZE	0x20000
211bcec8f49SStephan Linz # endif /* FLASH && !RAMBOOT */
21252a822edSMichal Simek #else /* !FLASH */
213bcec8f49SStephan Linz 
214bcec8f49SStephan Linz #ifdef SPIFLASH
215bcec8f49SStephan Linz # define CONFIG_SYS_NO_FLASH		1
216bcec8f49SStephan Linz # define CONFIG_SYS_SPI_BASE		XILINX_SPI_FLASH_BASEADDR
217bcec8f49SStephan Linz # define CONFIG_XILINX_SPI		1
218bcec8f49SStephan Linz # define CONFIG_SPI			1
219bcec8f49SStephan Linz # define CONFIG_SPI_FLASH		1
220bcec8f49SStephan Linz # define CONFIG_SPI_FLASH_STMICRO	1
221bcec8f49SStephan Linz # define CONFIG_SF_DEFAULT_MODE		SPI_MODE_3
222bcec8f49SStephan Linz # define CONFIG_SF_DEFAULT_SPEED	XILINX_SPI_FLASH_MAX_FREQ
223bcec8f49SStephan Linz # define CONFIG_SF_DEFAULT_CS		XILINX_SPI_FLASH_CS
224bcec8f49SStephan Linz 
225bcec8f49SStephan Linz # ifdef	RAMENV
226bcec8f49SStephan Linz #  define CONFIG_ENV_IS_NOWHERE	1
227bcec8f49SStephan Linz #  define CONFIG_ENV_SIZE	0x1000
228bcec8f49SStephan Linz #  define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
229bcec8f49SStephan Linz 
230bcec8f49SStephan Linz # else	/* SPIFLASH && !RAMENV */
231bcec8f49SStephan Linz #  define CONFIG_ENV_IS_IN_SPI_FLASH	1
232bcec8f49SStephan Linz #  define CONFIG_ENV_SPI_MODE		SPI_MODE_3
233bcec8f49SStephan Linz #  define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
234bcec8f49SStephan Linz #  define CONFIG_ENV_SPI_CS		CONFIG_SF_DEFAULT_CS
235bcec8f49SStephan Linz /* 128K(two sectors) for env */
236bcec8f49SStephan Linz #  define CONFIG_ENV_SECT_SIZE	0x10000
237bcec8f49SStephan Linz #  define CONFIG_ENV_SIZE	(2 * CONFIG_ENV_SECT_SIZE)
238bcec8f49SStephan Linz /* Warning: adjust the offset in respect of other flash content and size */
239bcec8f49SStephan Linz #  define CONFIG_ENV_OFFSET	(128 * CONFIG_ENV_SECT_SIZE) /* at 8MB */
240bcec8f49SStephan Linz # endif /* SPIFLASH && !RAMBOOT */
241bcec8f49SStephan Linz #else /* !SPIFLASH */
242bcec8f49SStephan Linz 
24352a822edSMichal Simek /* ENV in RAM */
24452a822edSMichal Simek # define CONFIG_SYS_NO_FLASH	1
24552a822edSMichal Simek # define CONFIG_ENV_IS_NOWHERE	1
24652a822edSMichal Simek # define CONFIG_ENV_SIZE	0x1000
24752a822edSMichal Simek # define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
248bcec8f49SStephan Linz #endif /* !SPIFLASH */
24952a822edSMichal Simek #endif /* !FLASH */
25052a822edSMichal Simek 
25152a822edSMichal Simek /* system ace */
25252a822edSMichal Simek #ifdef XILINX_SYSACE_BASEADDR
25352a822edSMichal Simek # define CONFIG_SYSTEMACE
25452a822edSMichal Simek /* #define DEBUG_SYSTEMACE */
25552a822edSMichal Simek # define SYSTEMACE_CONFIG_FPGA
25652a822edSMichal Simek # define CONFIG_SYS_SYSTEMACE_BASE	XILINX_SYSACE_BASEADDR
25752a822edSMichal Simek # define CONFIG_SYS_SYSTEMACE_WIDTH	XILINX_SYSACE_MEM_WIDTH
25852a822edSMichal Simek # define CONFIG_DOS_PARTITION
25952a822edSMichal Simek #endif
26052a822edSMichal Simek 
261e9b737deSMichal Simek #if defined(XILINX_USE_ICACHE)
262e9b737deSMichal Simek # define CONFIG_ICACHE
263e9b737deSMichal Simek #else
264e9b737deSMichal Simek # undef CONFIG_ICACHE
265e9b737deSMichal Simek #endif
266e9b737deSMichal Simek 
267e9b737deSMichal Simek #if defined(XILINX_USE_DCACHE)
268e9b737deSMichal Simek # define CONFIG_DCACHE
269e9b737deSMichal Simek #else
270e9b737deSMichal Simek # undef CONFIG_DCACHE
271e9b737deSMichal Simek #endif
272e9b737deSMichal Simek 
2735811830fSMichal Simek #ifndef XILINX_DCACHE_BYTE_SIZE
2745811830fSMichal Simek #define XILINX_DCACHE_BYTE_SIZE	32768
2755811830fSMichal Simek #endif
2765811830fSMichal Simek 
27752a822edSMichal Simek /*
27852a822edSMichal Simek  * BOOTP options
27952a822edSMichal Simek  */
28052a822edSMichal Simek #define CONFIG_BOOTP_BOOTFILESIZE
28152a822edSMichal Simek #define CONFIG_BOOTP_BOOTPATH
28252a822edSMichal Simek #define CONFIG_BOOTP_GATEWAY
28352a822edSMichal Simek #define CONFIG_BOOTP_HOSTNAME
28452a822edSMichal Simek 
28552a822edSMichal Simek /*
28652a822edSMichal Simek  * Command line configuration.
28752a822edSMichal Simek  */
28852a822edSMichal Simek #include <config_cmd_default.h>
28952a822edSMichal Simek 
29052a822edSMichal Simek #define CONFIG_CMD_ASKENV
29152a822edSMichal Simek #define CONFIG_CMD_IRQ
29252a822edSMichal Simek #define CONFIG_CMD_MFSL
293330e5545SMichal Simek #define CONFIG_CMD_ECHO
2944e779ad2SMichal Simek #define CONFIG_CMD_GPIO
29552a822edSMichal Simek 
296e9b737deSMichal Simek #if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
297e9b737deSMichal Simek # define CONFIG_CMD_CACHE
298e9b737deSMichal Simek #else
299e9b737deSMichal Simek # undef CONFIG_CMD_CACHE
300e9b737deSMichal Simek #endif
301e9b737deSMichal Simek 
30252a822edSMichal Simek #ifndef CONFIG_SYS_ENET
30352a822edSMichal Simek # undef CONFIG_CMD_NET
3041252df06SMichal Simek # undef CONFIG_CMD_NFS
30552a822edSMichal Simek #else
30652a822edSMichal Simek # define CONFIG_CMD_PING
3073faf987dSStephan Linz # define CONFIG_CMD_DHCP
3084eb29cf0SStephan Linz # define CONFIG_CMD_TFTPPUT
30952a822edSMichal Simek #endif
31052a822edSMichal Simek 
31152a822edSMichal Simek #if defined(CONFIG_SYSTEMACE)
31252a822edSMichal Simek # define CONFIG_CMD_EXT2
31352a822edSMichal Simek # define CONFIG_CMD_FAT
31452a822edSMichal Simek #endif
31552a822edSMichal Simek 
31652a822edSMichal Simek #if defined(FLASH)
31752a822edSMichal Simek # define CONFIG_CMD_ECHO
31852a822edSMichal Simek # define CONFIG_CMD_FLASH
31952a822edSMichal Simek # define CONFIG_CMD_IMLS
32052a822edSMichal Simek # define CONFIG_CMD_JFFS2
3217cfb13a7SStephan Linz # define CONFIG_CMD_UBI
3227cfb13a7SStephan Linz # undef CONFIG_CMD_UBIFS
32352a822edSMichal Simek 
32452a822edSMichal Simek # if !defined(RAMENV)
325bdab39d3SMike Frysinger #  define CONFIG_CMD_SAVEENV
32652a822edSMichal Simek #  define CONFIG_CMD_SAVES
32752a822edSMichal Simek # endif
328bcec8f49SStephan Linz 
329bcec8f49SStephan Linz #else
330bcec8f49SStephan Linz #if defined(SPIFLASH)
331bcec8f49SStephan Linz # define CONFIG_CMD_SF
332bcec8f49SStephan Linz 
333bcec8f49SStephan Linz # if !defined(RAMENV)
334bcec8f49SStephan Linz #  define CONFIG_CMD_SAVEENV
335bcec8f49SStephan Linz #  define CONFIG_CMD_SAVES
336bcec8f49SStephan Linz # endif
33752a822edSMichal Simek #else
338330e5545SMichal Simek # undef CONFIG_CMD_IMLS
33952a822edSMichal Simek # undef CONFIG_CMD_FLASH
340330e5545SMichal Simek # undef CONFIG_CMD_JFFS2
3412cce2d32SStephan Linz # undef CONFIG_CMD_UBI
3422cce2d32SStephan Linz # undef CONFIG_CMD_UBIFS
34352a822edSMichal Simek #endif
344bcec8f49SStephan Linz #endif
34552a822edSMichal Simek 
34652a822edSMichal Simek #if defined(CONFIG_CMD_JFFS2)
3477cfb13a7SStephan Linz # define CONFIG_MTD_PARTITIONS
3487cfb13a7SStephan Linz #endif
3497cfb13a7SStephan Linz 
3507cfb13a7SStephan Linz #if defined(CONFIG_CMD_UBIFS)
3517cfb13a7SStephan Linz # define CONFIG_CMD_UBI
3527cfb13a7SStephan Linz # define CONFIG_LZO
3537cfb13a7SStephan Linz #endif
3547cfb13a7SStephan Linz 
3557cfb13a7SStephan Linz #if defined(CONFIG_CMD_UBI)
3567cfb13a7SStephan Linz # define CONFIG_MTD_PARTITIONS
3577cfb13a7SStephan Linz # define CONFIG_RBTREE
3587cfb13a7SStephan Linz #endif
3597cfb13a7SStephan Linz 
3607cfb13a7SStephan Linz #if defined(CONFIG_MTD_PARTITIONS)
3617cfb13a7SStephan Linz /* MTD partitions */
36268d7d651SStefan Roese #define CONFIG_CMD_MTDPARTS	/* mtdparts command line support */
363942556a9SStefan Roese #define CONFIG_MTD_DEVICE	/* needed for mtdparts commands */
364942556a9SStefan Roese #define CONFIG_FLASH_CFI_MTD
365c82a541dSStephan Linz #define MTDIDS_DEFAULT		"nor0=flash-0"
36652a822edSMichal Simek 
36752a822edSMichal Simek /* default mtd partition table */
368c82a541dSStephan Linz #define MTDPARTS_DEFAULT	"mtdparts=flash-0:256k(u-boot),"\
36952a822edSMichal Simek 				"256k(env),3m(kernel),1m(romfs),"\
37052a822edSMichal Simek 				"1m(cramfs),-(jffs2)"
37152a822edSMichal Simek #endif
37252a822edSMichal Simek 
37352a822edSMichal Simek /* Miscellaneous configurable options */
37452a822edSMichal Simek #define	CONFIG_SYS_PROMPT	"U-Boot-mONStR> "
3754aecfb16SMichal Simek /* size of console buffer */
3764aecfb16SMichal Simek #define	CONFIG_SYS_CBSIZE	512
3774aecfb16SMichal Simek  /* print buffer size */
3784aecfb16SMichal Simek #define	CONFIG_SYS_PBSIZE \
3794aecfb16SMichal Simek 		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
3804aecfb16SMichal Simek /* max number of command args */
3814aecfb16SMichal Simek #define	CONFIG_SYS_MAXARGS	15
38252a822edSMichal Simek #define	CONFIG_SYS_LONGHELP
3834aecfb16SMichal Simek /* default load address */
3844aecfb16SMichal Simek #define	CONFIG_SYS_LOAD_ADDR	XILINX_RAM_START
38552a822edSMichal Simek 
386330e5545SMichal Simek #define	CONFIG_BOOTDELAY	-1	/* -1 disables auto-boot */
38752a822edSMichal Simek #define	CONFIG_BOOTARGS		"root=romfs"
388330e5545SMichal Simek #define	CONFIG_HOSTNAME		XILINX_BOARD_NAME
38952a822edSMichal Simek #define	CONFIG_BOOTCOMMAND	"base 0;tftp 11000000 image.img;bootm"
39052a822edSMichal Simek #define	CONFIG_IPADDR		192.168.0.3
39152a822edSMichal Simek #define	CONFIG_SERVERIP		192.168.0.5
39252a822edSMichal Simek #define	CONFIG_GATEWAYIP	192.168.0.1
39352a822edSMichal Simek #define	CONFIG_ETHADDR		00:E0:0C:00:00:FD
39452a822edSMichal Simek 
39552a822edSMichal Simek /* architecture dependent code */
39652a822edSMichal Simek #define	CONFIG_SYS_USR_EXCEP	/* user exception */
39752a822edSMichal Simek 
3980900bee9SMichal Simek #define	CONFIG_PREBOOT	"echo U-BOOT for ${hostname};setenv preboot;echo"
39952a822edSMichal Simek 
4004aecfb16SMichal Simek #define	CONFIG_EXTRA_ENV_SETTINGS	"unlock=yes\0" \
401c82a541dSStephan Linz 					"nor0=flash-0\0"\
402c82a541dSStephan Linz 					"mtdparts=mtdparts=flash-0:"\
40352a822edSMichal Simek 					"256k(u-boot),256k(env),3m(kernel),"\
40478376452SMichal Simek 					"1m(romfs),1m(cramfs),-(jffs2)\0"\
40578376452SMichal Simek 					"nc=setenv stdout nc;"\
40678376452SMichal Simek 					"setenv stdin nc\0" \
40778376452SMichal Simek 					"serial=setenv stdout serial;"\
40878376452SMichal Simek 					"setenv stdin serial\0"
40952a822edSMichal Simek 
41052a822edSMichal Simek #define CONFIG_CMDLINE_EDITING
41152a822edSMichal Simek 
41278376452SMichal Simek #define CONFIG_NETCONSOLE
41378376452SMichal Simek #define CONFIG_SYS_CONSOLE_IS_IN_ENV
41478376452SMichal Simek 
4150900bee9SMichal Simek /* Use the HUSH parser */
4160900bee9SMichal Simek #define CONFIG_SYS_HUSH_PARSER
4170900bee9SMichal Simek 
41837e892d9SMichal Simek /* Enable flat device tree support */
41937e892d9SMichal Simek #define CONFIG_LMB		1
42037e892d9SMichal Simek #define CONFIG_FIT		1
42137e892d9SMichal Simek #define CONFIG_OF_LIBFDT	1
42237e892d9SMichal Simek 
4238422a35eSStephan Linz #if defined(CONFIG_XILINX_LL_TEMAC) || defined(CONFIG_XILINX_AXIEMAC)
424f5e5e1ffSStephan Linz # define CONFIG_MII		1
425f5e5e1ffSStephan Linz # define CONFIG_CMD_MII		1
426f5e5e1ffSStephan Linz # define CONFIG_PHY_GIGE	1
427f5e5e1ffSStephan Linz # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN	1
428f5e5e1ffSStephan Linz # define CONFIG_PHYLIB		1
429f5e5e1ffSStephan Linz # define CONFIG_PHY_ATHEROS	1
430f5e5e1ffSStephan Linz # define CONFIG_PHY_BROADCOM	1
431f5e5e1ffSStephan Linz # define CONFIG_PHY_DAVICOM	1
432f5e5e1ffSStephan Linz # define CONFIG_PHY_LXT		1
433f5e5e1ffSStephan Linz # define CONFIG_PHY_MARVELL	1
434f5e5e1ffSStephan Linz # define CONFIG_PHY_MICREL	1
435f5e5e1ffSStephan Linz # define CONFIG_PHY_NATSEMI	1
436f5e5e1ffSStephan Linz # define CONFIG_PHY_REALTEK	1
437f5e5e1ffSStephan Linz # define CONFIG_PHY_VITESSE	1
438f5e5e1ffSStephan Linz #else
439f5e5e1ffSStephan Linz # undef CONFIG_MII
440f5e5e1ffSStephan Linz # undef CONFIG_CMD_MII
441f5e5e1ffSStephan Linz # undef CONFIG_PHYLIB
442f5e5e1ffSStephan Linz #endif
443f5e5e1ffSStephan Linz 
4449d242745SMichal Simek /* SPL part */
4459d242745SMichal Simek #define CONFIG_CMD_SPL
4469d242745SMichal Simek #define CONFIG_SPL_FRAMEWORK
4479d242745SMichal Simek #define CONFIG_SPL_LIBCOMMON_SUPPORT
4489d242745SMichal Simek #define CONFIG_SPL_LIBGENERIC_SUPPORT
4499d242745SMichal Simek #define CONFIG_SPL_SERIAL_SUPPORT
4509d242745SMichal Simek #define CONFIG_SPL_BOARD_INIT
4519d242745SMichal Simek 
4529d242745SMichal Simek #define CONFIG_SPL_LDSCRIPT	"arch/microblaze/cpu/u-boot-spl.lds"
4539d242745SMichal Simek 
4549d242745SMichal Simek #define CONFIG_SPL_RAM_DEVICE
455*4dd09742SMichal Simek #ifdef CONFIG_SYS_FLASH_BASE
4569d242745SMichal Simek # define CONFIG_SPL_NOR_SUPPORT
457*4dd09742SMichal Simek # define CONFIG_SYS_UBOOT_BASE		CONFIG_SYS_FLASH_BASE
458*4dd09742SMichal Simek #endif
4599d242745SMichal Simek 
4609d242745SMichal Simek /* for booting directly linux */
4619d242745SMichal Simek #define CONFIG_SPL_OS_BOOT
4629d242745SMichal Simek 
4639d242745SMichal Simek #define CONFIG_SYS_OS_BASE		(CONFIG_SYS_FLASH_BASE + \
4649d242745SMichal Simek 					 0x60000)
4659d242745SMichal Simek #define CONFIG_SYS_FDT_BASE		(CONFIG_SYS_FLASH_BASE + \
4669d242745SMichal Simek 					 0x40000)
4679d242745SMichal Simek #define CONFIG_SYS_SPL_ARGS_ADDR	(CONFIG_SYS_TEXT_BASE + \
4689d242745SMichal Simek 					 0x1000000)
4699d242745SMichal Simek 
4709d242745SMichal Simek /* SP location before relocation, must use scratch RAM */
4719d242745SMichal Simek /* BRAM start */
4729d242745SMichal Simek #define CONFIG_SYS_INIT_RAM_ADDR	0x0
4739d242745SMichal Simek /* BRAM size - will be generated */
4749d242745SMichal Simek #define CONFIG_SYS_INIT_RAM_SIZE	0x10000
4759d242745SMichal Simek /* Stack pointer prior relocation, must situated at on-chip RAM */
4769d242745SMichal Simek #define CONFIG_SYS_SPL_MALLOC_END	(CONFIG_SYS_INIT_RAM_ADDR + \
4779d242745SMichal Simek 					 CONFIG_SYS_INIT_RAM_SIZE - \
4789d242745SMichal Simek 					 GENERATED_GBL_DATA_SIZE)
4799d242745SMichal Simek 
4809d242745SMichal Simek #define CONFIG_SYS_SPL_MALLOC_SIZE	0x100
4819d242745SMichal Simek 
4829d242745SMichal Simek /*
4839d242745SMichal Simek  * The main reason to do it in this way is that MALLOC_START
4849d242745SMichal Simek  * can't be defined - common/spl/spl.c
4859d242745SMichal Simek  */
4869d242745SMichal Simek #if (CONFIG_SYS_SPL_MALLOC_SIZE != 0)
4879d242745SMichal Simek # define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_SPL_MALLOC_END - \
4889d242745SMichal Simek 					 CONFIG_SYS_SPL_MALLOC_SIZE)
4899d242745SMichal Simek # define CONFIG_SPL_STACK_ADDR		CONFIG_SYS_SPL_MALLOC_START
4909d242745SMichal Simek #else
4919d242745SMichal Simek # define CONFIG_SPL_STACK_ADDR		CONFIG_SYS_SPL_MALLOC_END
4929d242745SMichal Simek #endif
4939d242745SMichal Simek 
4949d242745SMichal Simek /* Just for sure that there is a space for stack */
4959d242745SMichal Simek #define CONFIG_SPL_STACK_SIZE		0x100
4969d242745SMichal Simek 
4979d242745SMichal Simek #define CONFIG_SYS_UBOOT_START		CONFIG_SYS_TEXT_BASE
4989d242745SMichal Simek 
4999d242745SMichal Simek #define CONFIG_SPL_MAX_FOOTPRINT	(CONFIG_SYS_INIT_RAM_SIZE - \
5009d242745SMichal Simek 					 CONFIG_SYS_INIT_RAM_ADDR - \
5019d242745SMichal Simek 					 GENERATED_GBL_DATA_SIZE - \
5029d242745SMichal Simek 					 CONFIG_SYS_SPL_MALLOC_SIZE - \
5039d242745SMichal Simek 					 CONFIG_SPL_STACK_SIZE)
5049d242745SMichal Simek 
50552a822edSMichal Simek #endif	/* __CONFIG_H */
506