xref: /rk3399_rockchip-uboot/include/configs/microblaze-generic.h (revision e945f6dc2814f5f0d30b5b7e23821b3fd4faff5b)
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 
109*e945f6dcSMichal Simek #ifndef CONFIG_OF_CONTROL
11052a822edSMichal Simek /* ddr sdram - main memory */
11152a822edSMichal Simek # define CONFIG_SYS_SDRAM_BASE	XILINX_RAM_START
11252a822edSMichal Simek # define CONFIG_SYS_SDRAM_SIZE	XILINX_RAM_SIZE
113*e945f6dcSMichal Simek #endif
11452a822edSMichal Simek 
115*e945f6dcSMichal Simek #define CONFIG_SYS_MALLOC_LEN	0xC0000
11652a822edSMichal Simek 
117*e945f6dcSMichal Simek /* Stack location before relocation */
118*e945f6dcSMichal Simek #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_TEXT_BASE
11952a822edSMichal Simek 
1208f371b18SStephan Linz /*
1218f371b18SStephan Linz  * CFI flash memory layout - Example
1228f371b18SStephan Linz  * CONFIG_SYS_FLASH_BASE = 0x2200_0000;
1238f371b18SStephan Linz  * CONFIG_SYS_FLASH_SIZE = 0x0080_0000;	  8MB
1248f371b18SStephan Linz  *
1258f371b18SStephan Linz  * SECT_SIZE = 0x20000;			128kB is one sector
1268f371b18SStephan Linz  * CONFIG_ENV_SIZE = SECT_SIZE;		128kB environment store
1278f371b18SStephan Linz  *
1288f371b18SStephan Linz  * 0x2200_0000	CONFIG_SYS_FLASH_BASE
1298f371b18SStephan Linz  *					FREE		256kB
1308f371b18SStephan Linz  * 0x2204_0000	CONFIG_ENV_ADDR
1318f371b18SStephan Linz  *					ENV_AREA	128kB
1328f371b18SStephan Linz  * 0x2206_0000
1338f371b18SStephan Linz  *					FREE
1348f371b18SStephan Linz  * 0x2280_0000	CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE
1358f371b18SStephan Linz  *
1368f371b18SStephan Linz  */
1378f371b18SStephan Linz 
13852a822edSMichal Simek #ifdef FLASH
13952a822edSMichal Simek # define CONFIG_SYS_FLASH_BASE		XILINX_FLASH_START
14052a822edSMichal Simek # define CONFIG_SYS_FLASH_SIZE		XILINX_FLASH_SIZE
14152a822edSMichal Simek # define CONFIG_SYS_FLASH_CFI		1
14252a822edSMichal Simek # define CONFIG_FLASH_CFI_DRIVER	1
1434aecfb16SMichal Simek /* ?empty sector */
1444aecfb16SMichal Simek # define CONFIG_SYS_FLASH_EMPTY_INFO	1
1454aecfb16SMichal Simek /* max number of memory banks */
1464aecfb16SMichal Simek # define CONFIG_SYS_MAX_FLASH_BANKS	1
1474aecfb16SMichal Simek /* max number of sectors on one chip */
1484aecfb16SMichal Simek # define CONFIG_SYS_MAX_FLASH_SECT	512
1494aecfb16SMichal Simek /* hardware flash protection */
1504aecfb16SMichal Simek # define CONFIG_SYS_FLASH_PROTECTION
15122ff7f4dSMichal Simek /* use buffered writes (20x faster) */
15222ff7f4dSMichal Simek # define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
15352a822edSMichal Simek # ifdef	RAMENV
15452a822edSMichal Simek #  define CONFIG_ENV_IS_NOWHERE	1
15552a822edSMichal Simek #  define CONFIG_ENV_SIZE	0x1000
15652a822edSMichal Simek #  define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
15752a822edSMichal Simek 
158bcec8f49SStephan Linz # else	/* FLASH && !RAMENV */
15952a822edSMichal Simek #  define CONFIG_ENV_IS_IN_FLASH	1
1604aecfb16SMichal Simek /* 128K(one sector) for env */
1614aecfb16SMichal Simek #  define CONFIG_ENV_SECT_SIZE	0x20000
1624aecfb16SMichal Simek #  define CONFIG_ENV_ADDR \
1634aecfb16SMichal Simek 			(CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
164330e5545SMichal Simek #  define CONFIG_ENV_SIZE	0x20000
165bcec8f49SStephan Linz # endif /* FLASH && !RAMBOOT */
16652a822edSMichal Simek #else /* !FLASH */
167bcec8f49SStephan Linz 
168bcec8f49SStephan Linz #ifdef SPIFLASH
169bcec8f49SStephan Linz # define CONFIG_SYS_NO_FLASH		1
170bcec8f49SStephan Linz # define CONFIG_SYS_SPI_BASE		XILINX_SPI_FLASH_BASEADDR
171bcec8f49SStephan Linz # define CONFIG_XILINX_SPI		1
172bcec8f49SStephan Linz # define CONFIG_SPI			1
173bcec8f49SStephan Linz # define CONFIG_SPI_FLASH		1
174bcec8f49SStephan Linz # define CONFIG_SPI_FLASH_STMICRO	1
175bcec8f49SStephan Linz # define CONFIG_SF_DEFAULT_MODE		SPI_MODE_3
176bcec8f49SStephan Linz # define CONFIG_SF_DEFAULT_SPEED	XILINX_SPI_FLASH_MAX_FREQ
177bcec8f49SStephan Linz # define CONFIG_SF_DEFAULT_CS		XILINX_SPI_FLASH_CS
178bcec8f49SStephan Linz 
179bcec8f49SStephan Linz # ifdef	RAMENV
180bcec8f49SStephan Linz #  define CONFIG_ENV_IS_NOWHERE	1
181bcec8f49SStephan Linz #  define CONFIG_ENV_SIZE	0x1000
182bcec8f49SStephan Linz #  define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
183bcec8f49SStephan Linz 
184bcec8f49SStephan Linz # else	/* SPIFLASH && !RAMENV */
185bcec8f49SStephan Linz #  define CONFIG_ENV_IS_IN_SPI_FLASH	1
186bcec8f49SStephan Linz #  define CONFIG_ENV_SPI_MODE		SPI_MODE_3
187bcec8f49SStephan Linz #  define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
188bcec8f49SStephan Linz #  define CONFIG_ENV_SPI_CS		CONFIG_SF_DEFAULT_CS
189bcec8f49SStephan Linz /* 128K(two sectors) for env */
190bcec8f49SStephan Linz #  define CONFIG_ENV_SECT_SIZE	0x10000
191bcec8f49SStephan Linz #  define CONFIG_ENV_SIZE	(2 * CONFIG_ENV_SECT_SIZE)
192bcec8f49SStephan Linz /* Warning: adjust the offset in respect of other flash content and size */
193bcec8f49SStephan Linz #  define CONFIG_ENV_OFFSET	(128 * CONFIG_ENV_SECT_SIZE) /* at 8MB */
194bcec8f49SStephan Linz # endif /* SPIFLASH && !RAMBOOT */
195bcec8f49SStephan Linz #else /* !SPIFLASH */
196bcec8f49SStephan Linz 
19752a822edSMichal Simek /* ENV in RAM */
19852a822edSMichal Simek # define CONFIG_SYS_NO_FLASH	1
19952a822edSMichal Simek # define CONFIG_ENV_IS_NOWHERE	1
20052a822edSMichal Simek # define CONFIG_ENV_SIZE	0x1000
20152a822edSMichal Simek # define CONFIG_ENV_ADDR	(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
202bcec8f49SStephan Linz #endif /* !SPIFLASH */
20352a822edSMichal Simek #endif /* !FLASH */
20452a822edSMichal Simek 
20552a822edSMichal Simek /* system ace */
20652a822edSMichal Simek #ifdef XILINX_SYSACE_BASEADDR
20752a822edSMichal Simek # define CONFIG_SYSTEMACE
20852a822edSMichal Simek /* #define DEBUG_SYSTEMACE */
20952a822edSMichal Simek # define SYSTEMACE_CONFIG_FPGA
21052a822edSMichal Simek # define CONFIG_SYS_SYSTEMACE_BASE	XILINX_SYSACE_BASEADDR
21152a822edSMichal Simek # define CONFIG_SYS_SYSTEMACE_WIDTH	XILINX_SYSACE_MEM_WIDTH
21252a822edSMichal Simek # define CONFIG_DOS_PARTITION
21352a822edSMichal Simek #endif
21452a822edSMichal Simek 
215e9b737deSMichal Simek #if defined(XILINX_USE_ICACHE)
216e9b737deSMichal Simek # define CONFIG_ICACHE
217e9b737deSMichal Simek #else
218e9b737deSMichal Simek # undef CONFIG_ICACHE
219e9b737deSMichal Simek #endif
220e9b737deSMichal Simek 
221e9b737deSMichal Simek #if defined(XILINX_USE_DCACHE)
222e9b737deSMichal Simek # define CONFIG_DCACHE
223e9b737deSMichal Simek #else
224e9b737deSMichal Simek # undef CONFIG_DCACHE
225e9b737deSMichal Simek #endif
226e9b737deSMichal Simek 
2275811830fSMichal Simek #ifndef XILINX_DCACHE_BYTE_SIZE
2285811830fSMichal Simek #define XILINX_DCACHE_BYTE_SIZE	32768
2295811830fSMichal Simek #endif
2305811830fSMichal Simek 
23152a822edSMichal Simek /*
23252a822edSMichal Simek  * BOOTP options
23352a822edSMichal Simek  */
23452a822edSMichal Simek #define CONFIG_BOOTP_BOOTFILESIZE
23552a822edSMichal Simek #define CONFIG_BOOTP_BOOTPATH
23652a822edSMichal Simek #define CONFIG_BOOTP_GATEWAY
23752a822edSMichal Simek #define CONFIG_BOOTP_HOSTNAME
23852a822edSMichal Simek 
23952a822edSMichal Simek /*
24052a822edSMichal Simek  * Command line configuration.
24152a822edSMichal Simek  */
24252a822edSMichal Simek #include <config_cmd_default.h>
24352a822edSMichal Simek 
24452a822edSMichal Simek #define CONFIG_CMD_ASKENV
24552a822edSMichal Simek #define CONFIG_CMD_IRQ
24652a822edSMichal Simek #define CONFIG_CMD_MFSL
247330e5545SMichal Simek #define CONFIG_CMD_ECHO
2484e779ad2SMichal Simek #define CONFIG_CMD_GPIO
24952a822edSMichal Simek 
250e9b737deSMichal Simek #if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
251e9b737deSMichal Simek # define CONFIG_CMD_CACHE
252e9b737deSMichal Simek #else
253e9b737deSMichal Simek # undef CONFIG_CMD_CACHE
254e9b737deSMichal Simek #endif
255e9b737deSMichal Simek 
25652a822edSMichal Simek #ifndef CONFIG_SYS_ENET
25752a822edSMichal Simek # undef CONFIG_CMD_NET
2581252df06SMichal Simek # undef CONFIG_CMD_NFS
25952a822edSMichal Simek #else
26052a822edSMichal Simek # define CONFIG_CMD_PING
2613faf987dSStephan Linz # define CONFIG_CMD_DHCP
2624eb29cf0SStephan Linz # define CONFIG_CMD_TFTPPUT
26352a822edSMichal Simek #endif
26452a822edSMichal Simek 
26552a822edSMichal Simek #if defined(CONFIG_SYSTEMACE)
26652a822edSMichal Simek # define CONFIG_CMD_EXT2
26752a822edSMichal Simek # define CONFIG_CMD_FAT
26852a822edSMichal Simek #endif
26952a822edSMichal Simek 
27052a822edSMichal Simek #if defined(FLASH)
27152a822edSMichal Simek # define CONFIG_CMD_ECHO
27252a822edSMichal Simek # define CONFIG_CMD_FLASH
27352a822edSMichal Simek # define CONFIG_CMD_IMLS
27452a822edSMichal Simek # define CONFIG_CMD_JFFS2
2757cfb13a7SStephan Linz # define CONFIG_CMD_UBI
2767cfb13a7SStephan Linz # undef CONFIG_CMD_UBIFS
27752a822edSMichal Simek 
27852a822edSMichal Simek # if !defined(RAMENV)
279bdab39d3SMike Frysinger #  define CONFIG_CMD_SAVEENV
28052a822edSMichal Simek #  define CONFIG_CMD_SAVES
28152a822edSMichal Simek # endif
282bcec8f49SStephan Linz 
283bcec8f49SStephan Linz #else
284bcec8f49SStephan Linz #if defined(SPIFLASH)
285bcec8f49SStephan Linz # define CONFIG_CMD_SF
286bcec8f49SStephan Linz 
287bcec8f49SStephan Linz # if !defined(RAMENV)
288bcec8f49SStephan Linz #  define CONFIG_CMD_SAVEENV
289bcec8f49SStephan Linz #  define CONFIG_CMD_SAVES
290bcec8f49SStephan Linz # endif
29152a822edSMichal Simek #else
292330e5545SMichal Simek # undef CONFIG_CMD_IMLS
29352a822edSMichal Simek # undef CONFIG_CMD_FLASH
294330e5545SMichal Simek # undef CONFIG_CMD_JFFS2
2952cce2d32SStephan Linz # undef CONFIG_CMD_UBI
2962cce2d32SStephan Linz # undef CONFIG_CMD_UBIFS
29752a822edSMichal Simek #endif
298bcec8f49SStephan Linz #endif
29952a822edSMichal Simek 
30052a822edSMichal Simek #if defined(CONFIG_CMD_JFFS2)
3017cfb13a7SStephan Linz # define CONFIG_MTD_PARTITIONS
3027cfb13a7SStephan Linz #endif
3037cfb13a7SStephan Linz 
3047cfb13a7SStephan Linz #if defined(CONFIG_CMD_UBIFS)
3057cfb13a7SStephan Linz # define CONFIG_CMD_UBI
3067cfb13a7SStephan Linz # define CONFIG_LZO
3077cfb13a7SStephan Linz #endif
3087cfb13a7SStephan Linz 
3097cfb13a7SStephan Linz #if defined(CONFIG_CMD_UBI)
3107cfb13a7SStephan Linz # define CONFIG_MTD_PARTITIONS
3117cfb13a7SStephan Linz # define CONFIG_RBTREE
3127cfb13a7SStephan Linz #endif
3137cfb13a7SStephan Linz 
3147cfb13a7SStephan Linz #if defined(CONFIG_MTD_PARTITIONS)
3157cfb13a7SStephan Linz /* MTD partitions */
31668d7d651SStefan Roese #define CONFIG_CMD_MTDPARTS	/* mtdparts command line support */
317942556a9SStefan Roese #define CONFIG_MTD_DEVICE	/* needed for mtdparts commands */
318942556a9SStefan Roese #define CONFIG_FLASH_CFI_MTD
319c82a541dSStephan Linz #define MTDIDS_DEFAULT		"nor0=flash-0"
32052a822edSMichal Simek 
32152a822edSMichal Simek /* default mtd partition table */
322c82a541dSStephan Linz #define MTDPARTS_DEFAULT	"mtdparts=flash-0:256k(u-boot),"\
32352a822edSMichal Simek 				"256k(env),3m(kernel),1m(romfs),"\
32452a822edSMichal Simek 				"1m(cramfs),-(jffs2)"
32552a822edSMichal Simek #endif
32652a822edSMichal Simek 
32752a822edSMichal Simek /* Miscellaneous configurable options */
32852a822edSMichal Simek #define	CONFIG_SYS_PROMPT	"U-Boot-mONStR> "
3294aecfb16SMichal Simek /* size of console buffer */
3304aecfb16SMichal Simek #define	CONFIG_SYS_CBSIZE	512
3314aecfb16SMichal Simek  /* print buffer size */
3324aecfb16SMichal Simek #define	CONFIG_SYS_PBSIZE \
3334aecfb16SMichal Simek 		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
3344aecfb16SMichal Simek /* max number of command args */
3354aecfb16SMichal Simek #define	CONFIG_SYS_MAXARGS	15
33652a822edSMichal Simek #define	CONFIG_SYS_LONGHELP
3374aecfb16SMichal Simek /* default load address */
3384aecfb16SMichal Simek #define	CONFIG_SYS_LOAD_ADDR	XILINX_RAM_START
33952a822edSMichal Simek 
340330e5545SMichal Simek #define	CONFIG_BOOTDELAY	-1	/* -1 disables auto-boot */
34152a822edSMichal Simek #define	CONFIG_BOOTARGS		"root=romfs"
342330e5545SMichal Simek #define	CONFIG_HOSTNAME		XILINX_BOARD_NAME
34352a822edSMichal Simek #define	CONFIG_BOOTCOMMAND	"base 0;tftp 11000000 image.img;bootm"
34452a822edSMichal Simek #define	CONFIG_IPADDR		192.168.0.3
34552a822edSMichal Simek #define	CONFIG_SERVERIP		192.168.0.5
34652a822edSMichal Simek #define	CONFIG_GATEWAYIP	192.168.0.1
34752a822edSMichal Simek #define	CONFIG_ETHADDR		00:E0:0C:00:00:FD
34852a822edSMichal Simek 
34952a822edSMichal Simek /* architecture dependent code */
35052a822edSMichal Simek #define	CONFIG_SYS_USR_EXCEP	/* user exception */
35152a822edSMichal Simek 
3520900bee9SMichal Simek #define	CONFIG_PREBOOT	"echo U-BOOT for ${hostname};setenv preboot;echo"
35352a822edSMichal Simek 
3544aecfb16SMichal Simek #define	CONFIG_EXTRA_ENV_SETTINGS	"unlock=yes\0" \
355c82a541dSStephan Linz 					"nor0=flash-0\0"\
356c82a541dSStephan Linz 					"mtdparts=mtdparts=flash-0:"\
35752a822edSMichal Simek 					"256k(u-boot),256k(env),3m(kernel),"\
35878376452SMichal Simek 					"1m(romfs),1m(cramfs),-(jffs2)\0"\
35978376452SMichal Simek 					"nc=setenv stdout nc;"\
36078376452SMichal Simek 					"setenv stdin nc\0" \
36178376452SMichal Simek 					"serial=setenv stdout serial;"\
36278376452SMichal Simek 					"setenv stdin serial\0"
36352a822edSMichal Simek 
36452a822edSMichal Simek #define CONFIG_CMDLINE_EDITING
36552a822edSMichal Simek 
36678376452SMichal Simek #define CONFIG_NETCONSOLE
36778376452SMichal Simek #define CONFIG_SYS_CONSOLE_IS_IN_ENV
36878376452SMichal Simek 
3690900bee9SMichal Simek /* Use the HUSH parser */
3700900bee9SMichal Simek #define CONFIG_SYS_HUSH_PARSER
3710900bee9SMichal Simek 
37237e892d9SMichal Simek /* Enable flat device tree support */
37337e892d9SMichal Simek #define CONFIG_LMB		1
37437e892d9SMichal Simek #define CONFIG_FIT		1
37537e892d9SMichal Simek #define CONFIG_OF_LIBFDT	1
37637e892d9SMichal Simek 
3778422a35eSStephan Linz #if defined(CONFIG_XILINX_LL_TEMAC) || defined(CONFIG_XILINX_AXIEMAC)
378f5e5e1ffSStephan Linz # define CONFIG_MII		1
379f5e5e1ffSStephan Linz # define CONFIG_CMD_MII		1
380f5e5e1ffSStephan Linz # define CONFIG_PHY_GIGE	1
381f5e5e1ffSStephan Linz # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN	1
382f5e5e1ffSStephan Linz # define CONFIG_PHYLIB		1
383f5e5e1ffSStephan Linz # define CONFIG_PHY_ATHEROS	1
384f5e5e1ffSStephan Linz # define CONFIG_PHY_BROADCOM	1
385f5e5e1ffSStephan Linz # define CONFIG_PHY_DAVICOM	1
386f5e5e1ffSStephan Linz # define CONFIG_PHY_LXT		1
387f5e5e1ffSStephan Linz # define CONFIG_PHY_MARVELL	1
388f5e5e1ffSStephan Linz # define CONFIG_PHY_MICREL	1
389f5e5e1ffSStephan Linz # define CONFIG_PHY_NATSEMI	1
390f5e5e1ffSStephan Linz # define CONFIG_PHY_REALTEK	1
391f5e5e1ffSStephan Linz # define CONFIG_PHY_VITESSE	1
392f5e5e1ffSStephan Linz #else
393f5e5e1ffSStephan Linz # undef CONFIG_MII
394f5e5e1ffSStephan Linz # undef CONFIG_CMD_MII
395f5e5e1ffSStephan Linz # undef CONFIG_PHYLIB
396f5e5e1ffSStephan Linz #endif
397f5e5e1ffSStephan Linz 
3989d242745SMichal Simek /* SPL part */
3999d242745SMichal Simek #define CONFIG_CMD_SPL
4009d242745SMichal Simek #define CONFIG_SPL_FRAMEWORK
4019d242745SMichal Simek #define CONFIG_SPL_LIBCOMMON_SUPPORT
4029d242745SMichal Simek #define CONFIG_SPL_LIBGENERIC_SUPPORT
4039d242745SMichal Simek #define CONFIG_SPL_SERIAL_SUPPORT
4049d242745SMichal Simek #define CONFIG_SPL_BOARD_INIT
4059d242745SMichal Simek 
4069d242745SMichal Simek #define CONFIG_SPL_LDSCRIPT	"arch/microblaze/cpu/u-boot-spl.lds"
4079d242745SMichal Simek 
4089d242745SMichal Simek #define CONFIG_SPL_RAM_DEVICE
4094dd09742SMichal Simek #ifdef CONFIG_SYS_FLASH_BASE
4109d242745SMichal Simek # define CONFIG_SPL_NOR_SUPPORT
4114dd09742SMichal Simek # define CONFIG_SYS_UBOOT_BASE		CONFIG_SYS_FLASH_BASE
4124dd09742SMichal Simek #endif
4139d242745SMichal Simek 
4149d242745SMichal Simek /* for booting directly linux */
4159d242745SMichal Simek #define CONFIG_SPL_OS_BOOT
4169d242745SMichal Simek 
4179d242745SMichal Simek #define CONFIG_SYS_OS_BASE		(CONFIG_SYS_FLASH_BASE + \
4189d242745SMichal Simek 					 0x60000)
4199d242745SMichal Simek #define CONFIG_SYS_FDT_BASE		(CONFIG_SYS_FLASH_BASE + \
4209d242745SMichal Simek 					 0x40000)
4219d242745SMichal Simek #define CONFIG_SYS_SPL_ARGS_ADDR	(CONFIG_SYS_TEXT_BASE + \
4229d242745SMichal Simek 					 0x1000000)
4239d242745SMichal Simek 
4249d242745SMichal Simek /* SP location before relocation, must use scratch RAM */
4259d242745SMichal Simek /* BRAM start */
4269d242745SMichal Simek #define CONFIG_SYS_INIT_RAM_ADDR	0x0
4279d242745SMichal Simek /* BRAM size - will be generated */
4289d242745SMichal Simek #define CONFIG_SYS_INIT_RAM_SIZE	0x10000
4299d242745SMichal Simek /* Stack pointer prior relocation, must situated at on-chip RAM */
4309d242745SMichal Simek #define CONFIG_SYS_SPL_MALLOC_END	(CONFIG_SYS_INIT_RAM_ADDR + \
4319d242745SMichal Simek 					 CONFIG_SYS_INIT_RAM_SIZE - \
4329d242745SMichal Simek 					 GENERATED_GBL_DATA_SIZE)
4339d242745SMichal Simek 
4349d242745SMichal Simek #define CONFIG_SYS_SPL_MALLOC_SIZE	0x100
4359d242745SMichal Simek 
4369d242745SMichal Simek /*
4379d242745SMichal Simek  * The main reason to do it in this way is that MALLOC_START
4389d242745SMichal Simek  * can't be defined - common/spl/spl.c
4399d242745SMichal Simek  */
4409d242745SMichal Simek #if (CONFIG_SYS_SPL_MALLOC_SIZE != 0)
4419d242745SMichal Simek # define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_SPL_MALLOC_END - \
4429d242745SMichal Simek 					 CONFIG_SYS_SPL_MALLOC_SIZE)
4439d242745SMichal Simek # define CONFIG_SPL_STACK_ADDR		CONFIG_SYS_SPL_MALLOC_START
4449d242745SMichal Simek #else
4459d242745SMichal Simek # define CONFIG_SPL_STACK_ADDR		CONFIG_SYS_SPL_MALLOC_END
4469d242745SMichal Simek #endif
4479d242745SMichal Simek 
4489d242745SMichal Simek /* Just for sure that there is a space for stack */
4499d242745SMichal Simek #define CONFIG_SPL_STACK_SIZE		0x100
4509d242745SMichal Simek 
4519d242745SMichal Simek #define CONFIG_SYS_UBOOT_START		CONFIG_SYS_TEXT_BASE
4529d242745SMichal Simek 
4539d242745SMichal Simek #define CONFIG_SPL_MAX_FOOTPRINT	(CONFIG_SYS_INIT_RAM_SIZE - \
4549d242745SMichal Simek 					 CONFIG_SYS_INIT_RAM_ADDR - \
4559d242745SMichal Simek 					 GENERATED_GBL_DATA_SIZE - \
4569d242745SMichal Simek 					 CONFIG_SYS_SPL_MALLOC_SIZE - \
4579d242745SMichal Simek 					 CONFIG_SPL_STACK_SIZE)
4589d242745SMichal Simek 
45952a822edSMichal Simek #endif	/* __CONFIG_H */
460