Thomas Chou wrote: > This is a generic approach to port u-boot for nios2 boards. > You may find the usage of this approach on the nioswiki, > http://nioswiki.com/DasUBoot > > A fpga parameter file, which contains base address information > and drivers declaration, is generated from Altera's hardware system > description sopc file using tools.
It is much nicer than previous solution. I like it. > The example fpga parameter file is compatible with EP1C20, EP1S10 > and EP1S40 boards. So these boards can be removed after this commit. > Though epcs controller is not included to cut the dependency of > altera_spi driver. If is possible to remove it that will be good to create patches and clean the code. > > Signed-off-by: Thomas Chou <tho...@wytron.com.tw> Acked-by: Michal Simek <mon...@monstr.eu> Thanks, Michal > --- > fix board_eth_init() return. > add nios2-generic board template. > > The fpga parameter file is generated with a script at > http://sopc.et.ntust.edu.tw/?p=toolchain-build.git; > a=blob_plain;f=tools/sopc-create-config-files;hb=HEAD > > MAINTAINERS | 1 + > MAKEALL | 1 + > Makefile | 6 + > board/altera/nios2-generic/Makefile | 60 +++++++++++ > board/altera/nios2-generic/config.mk | 32 ++++++ > board/altera/nios2-generic/custom_fpga.h | 66 ++++++++++++ > board/altera/nios2-generic/nios2-generic.c | 68 ++++++++++++ > board/altera/nios2-generic/text_base.S | 21 ++++ > board/altera/nios2-generic/u-boot.lds | 136 ++++++++++++++++++++++++ > include/configs/nios2-generic.h | 153 > ++++++++++++++++++++++++++++ > 10 files changed, 544 insertions(+), 0 deletions(-) > create mode 100644 board/altera/nios2-generic/Makefile > create mode 100644 board/altera/nios2-generic/config.mk > create mode 100644 board/altera/nios2-generic/custom_fpga.h > create mode 100644 board/altera/nios2-generic/nios2-generic.c > create mode 100644 board/altera/nios2-generic/text_base.S > create mode 100644 board/altera/nios2-generic/u-boot.lds > create mode 100644 include/configs/nios2-generic.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 04c8730..46e051b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -858,6 +858,7 @@ Scott McNutt <smcn...@psyent.com> > EP1C20 Nios-II > EP1S10 Nios-II > EP1S40 Nios-II > + nios2-generic Nios-II > > ######################################################################### > # MicroBlaze Systems: > # > diff --git a/MAKEALL b/MAKEALL > index fb1f7a3..216b89b 100755 > --- a/MAKEALL > +++ b/MAKEALL > @@ -824,6 +824,7 @@ LIST_nios2=" \ > EP1S40 \ > PCI5441 \ > PK1C20 \ > + nios2-generic \ > " > > ######################################################################### > diff --git a/Makefile b/Makefile > index 5d314c6..752f529 100644 > --- a/Makefile > +++ b/Makefile > @@ -3538,6 +3538,12 @@ PK1C20_config : unconfig > PCI5441_config : unconfig > @$(MKCONFIG) PCI5441 nios2 nios2 pci5441 psyent > > +# nios2 generic boards > +NIOS2_GENERIC = nios2-generic > + > +$(NIOS2_GENERIC:%=%_config) : unconfig > + @$(MKCONFIG) $(@:_config=) nios2 nios2 nios2-generic altera > + > #======================================================================== > ## Microblaze > #======================================================================== > diff --git a/board/altera/nios2-generic/Makefile > b/board/altera/nios2-generic/Makefile > new file mode 100644 > index 0000000..2a6f69b > --- /dev/null > +++ b/board/altera/nios2-generic/Makefile > @@ -0,0 +1,60 @@ > +# > +# (C) Copyright 2001-2006 > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. > +# (C) Copyright 2010, Thomas Chou <tho...@wytron.com.tw> > +# > +# See file CREDITS for list of people who contributed to this > +# project. > +# > +# This program is free software; you can redistribute it and/or > +# modify it under the terms of the GNU General Public License as > +# published by the Free Software Foundation; either version 2 of > +# the License, or (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program; if not, write to the Free Software > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, > +# MA 02111-1307 USA > +# > + > +include $(TOPDIR)/config.mk > +ifneq ($(OBJTREE),$(SRCTREE)) > +$(shell mkdir -p $(obj)../common) > +endif > + > +LIB = $(obj)lib$(BOARD).a > + > +COBJS-y := $(BOARD).o > +COBJS-$(CONFIG_CMD_IDE) += ../common/cfide.o > +COBJS-$(CONFIG_EPLED) += ../common/epled.o > +COBJS-$(CONFIG_GPIOLED) += ../common/gpioled.o > +COBJS-$(CONFIG_SEVENSEG) += ../common/sevenseg.o > + > +SOBJS-y := text_base.o > + > +SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) > +OBJS := $(addprefix $(obj),$(COBJS-y)) > +SOBJS := $(addprefix $(obj),$(SOBJS-y)) > + > +$(LIB): $(obj).depend $(OBJS) $(SOBJS) > + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) > + > +clean: > + rm -f $(SOBJS) $(OBJS) > + > +distclean: clean > + rm -f $(LIB) core *.bak $(obj).depend > + > +######################################################################### > + > +# defines $(obj).depend target > +include $(SRCTREE)/rules.mk > + > +sinclude $(obj).depend > + > +######################################################################### > diff --git a/board/altera/nios2-generic/config.mk > b/board/altera/nios2-generic/config.mk > new file mode 100644 > index 0000000..cb7c68e > --- /dev/null > +++ b/board/altera/nios2-generic/config.mk > @@ -0,0 +1,32 @@ > +# > +# (C) Copyright 2005, Psyent Corporation <www.psyent.com> > +# Scott McNutt <smcn...@psyent.com> > +# > +# See file CREDITS for list of people who contributed to this > +# project. > +# > +# This program is free software; you can redistribute it and/or > +# modify it under the terms of the GNU General Public License as > +# published by the Free Software Foundation; either version 2 of > +# the License, or (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program; if not, write to the Free Software > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, > +# MA 02111-1307 USA > +# > + > +# we get text_base from board config header, so do not use this > +#TEXT_BASE = do-not-use-me > + > +PLATFORM_CPPFLAGS += -mno-hw-div -mno-hw-mul > +PLATFORM_CPPFLAGS += -I$(TOPDIR)/board/$(VENDOR)/include > + > +ifeq ($(debug),1) > +PLATFORM_CPPFLAGS += -DDEBUG > +endif > diff --git a/board/altera/nios2-generic/custom_fpga.h > b/board/altera/nios2-generic/custom_fpga.h > new file mode 100644 > index 0000000..761f605 > --- /dev/null > +++ b/board/altera/nios2-generic/custom_fpga.h > @@ -0,0 +1,66 @@ > +/* > + * (C) Copyright 2010, Thomas Chou <tho...@wytron.com.tw> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + * > + * This file is generated by sopc-create-config-files. > + */ > +#ifndef _CUSTOM_FPGA_H_ > +#define _CUSTOM_FPGA_H_ > + > +/* generated from std_1c20.sopc */ > + > +/* cpu.data_master is a altera_nios2 */ > +#define CONFIG_SYS_CLK_FREQ 50000000 > +#define CONFIG_SYS_RESET_ADDR 0x00000000 > +#define CONFIG_SYS_EXCEPTION_ADDR 0x01000020 > +#define CONFIG_SYS_ICACHE_SIZE 4096 > +#define CONFIG_SYS_ICACHELINE_SIZE 32 > +#define CONFIG_SYS_DCACHE_SIZE 2048 > +#define CONFIG_SYS_DCACHELINE_SIZE 4 > + > +/* sdram.s1 is a altera_avalon_new_sdram_controller */ > +#define CONFIG_SYS_SDRAM_BASE 0x01000000 > +#define CONFIG_SYS_SDRAM_SIZE 0x01000000 > + > +/* uart1.s1 is a altera_avalon_uart */ > +#define CONFIG_SYS_UART_BASE 0x82120840 > +#define CONFIG_SYS_UART_FREQ 50000000 > +#define CONFIG_SYS_UART_BAUD 115200 > + > +/* lan91c111.s1 is a altera_avalon_lan91c111 */ > +#define CONFIG_SMC91111_BASE 0x82110300 > +#define CONFIG_SMC91111 > +#define CONFIG_SMC_USE_32_BIT > + > +/* jtag_uart.avalon_jtag_slave is a altera_avalon_jtag_uart */ > +#define CONFIG_SYS_JTAG_UART_BASE 0x821208b0 > + > +/* led_pio.s1 is a altera_avalon_pio */ > +#define LED_PIO_BASE 0x82120870 > + > +/* high_res_timer.s1 is a altera_avalon_timer */ > +#define CONFIG_SYS_TIMER_BASE 0x82120820 > +#define CONFIG_SYS_TIMER_IRQ 3 > +#define CONFIG_SYS_TIMER_FREQ 50000000 > + > +/* ext_flash.s1 is a altera_avalon_cfi_flash */ > +#define CONFIG_SYS_FLASH_BASE 0x80000000 > +#define CONFIG_FLASH_CFI_DRIVER > +#define CONFIG_SYS_CFI_FLASH_STATUS_POLL /* fix amd flash issue */ > +#define CONFIG_SYS_FLASH_CFI > +#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE > +#define CONFIG_SYS_FLASH_PROTECTION > +#define CONFIG_SYS_MAX_FLASH_BANKS 1 > +#define CONFIG_SYS_MAX_FLASH_SECT 1024 > + > +/* ext_ram.s1 is a altera_nios_dev_kit_stratix_edition_sram2 */ > +#define CONFIG_SYS_SRAM_BASE 0x02000000 > +#define CONFIG_SYS_SRAM_SIZE 0x00100000 > + > +/* sysid.control_slave is a altera_avalon_sysid */ > +#define CONFIG_SYS_SYSID_BASE 0x821208b8 > + > +#endif /* _CUSTOM_FPGA_H_ */ > diff --git a/board/altera/nios2-generic/nios2-generic.c > b/board/altera/nios2-generic/nios2-generic.c > new file mode 100644 > index 0000000..89848cf > --- /dev/null > +++ b/board/altera/nios2-generic/nios2-generic.c > @@ -0,0 +1,68 @@ > +/* > + * (C) Copyright 2005, Psyent Corporation <www.psyent.com> > + * Scott McNutt <smcn...@psyent.com> > + * (C) Copyright 2010, Thomas Chou <tho...@wytron.com.tw> > + * > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > +#include <common.h> > +#include <netdev.h> > + > +void text_base_hook(void); /* nop hook for text_base.S */ > + > +int board_early_init_f(void) > +{ > + text_base_hook(); > + return 0; > +} > + > +int checkboard(void) > +{ > + printf("BOARD : %s\n", CONFIG_BOARD_NAME); > + return 0; > +} > + > +phys_size_t initdram(int board_type) > +{ > + return 0; > +} > + > +#ifdef CONFIG_CMD_NET > +int board_eth_init(bd_t *bis) > +{ > + int rc = 0; > +#ifdef CONFIG_SMC91111 > + rc += smc91111_initialize(0, CONFIG_SMC91111_BASE); > +#endif > +#ifdef CONFIG_DRIVER_DM9000 > + rc += dm9000_initialize(bis); > +#endif > +#ifdef CONFIG_ALTERA_TSE > + rc += altera_tse_initialize(0, > + CONFIG_SYS_ALTERA_TSE_MAC_BASE, > + CONFIG_SYS_ALTERA_TSE_SGDMA_RX_BASE, > + CONFIG_SYS_ALTERA_TSE_SGDMA_TX_BASE); > +#endif > +#ifdef CONFIG_ETHOC > + rc += ethoc_initialize(0, CONFIG_SYS_ETHOC_BASE); > +#endif > + return rc; > +} > +#endif > diff --git a/board/altera/nios2-generic/text_base.S > b/board/altera/nios2-generic/text_base.S > new file mode 100644 > index 0000000..f236db1 > --- /dev/null > +++ b/board/altera/nios2-generic/text_base.S > @@ -0,0 +1,21 @@ > +/* > + * text_base > + * > + * (C) Copyright 2010, Thomas Chou <tho...@wytron.com.tw> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > +#include <config.h> > + > +#ifdef CONFIG_SYS_MONITOR_BASE > + .text > + /* text base used in link script u-boot.lds */ > + .global text_base > + .equ text_base,CONFIG_SYS_MONITOR_BASE > + /* dummy func to let linker include this file */ > + .global text_base_hook > +text_base_hook: > + ret > +#endif > diff --git a/board/altera/nios2-generic/u-boot.lds > b/board/altera/nios2-generic/u-boot.lds > new file mode 100644 > index 0000000..fa7ed30 > --- /dev/null > +++ b/board/altera/nios2-generic/u-boot.lds > @@ -0,0 +1,136 @@ > +/* > + * (C) Copyright 2004, Psyent Corporation <www.psyent.com> > + * Scott McNutt <smcn...@psyent.com> > + * > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > + > +OUTPUT_FORMAT("elf32-littlenios2") > +OUTPUT_ARCH(nios2) > +ENTRY(_start) > + > +SECTIONS > +{ > + . = text_base; > + .text : > + { > + cpu/nios2/start.o (.text) > + *(.text) > + *(.text.*) > + *(.gnu.linkonce.t*) > + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) > + *(.gnu.linkonce.r*) > + } > + . = ALIGN (4); > + _etext = .; > + PROVIDE (etext = .); > + > + /* CMD TABLE - sandwich this in between text and data so > + * the initialization code relocates the command table as > + * well -- admittedly, this is just pure laziness ;-) > + */ > + __u_boot_cmd_start = .; > + .u_boot_cmd : > + { > + *(.u_boot_cmd) > + } > + . = ALIGN(4); > + __u_boot_cmd_end = .; > + > + /* INIT DATA sections - "Small" data (see the gcc -G option) > + * is always gp-relative. Here we make all init data sections > + * adjacent to simplify the startup code -- and provide > + * the global pointer for gp-relative access. > + */ > + _data = .; > + .data : > + { > + *(.data) > + *(.data.*) > + *(.gnu.linkonce.d*) > + } > + > + . = ALIGN(16); > + _gp = .; /* Global pointer addr */ > + PROVIDE (gp = .); > + > + .sdata : > + { > + *(.sdata) > + *(.sdata.*) > + *(.gnu.linkonce.s.*) > + } > + . = ALIGN(4); > + > + _edata = .; > + PROVIDE (edata = .); > + > + /* UNINIT DATA - Small uninitialized data is first so it's > + * adjacent to sdata and can be referenced via gp. The normal > + * bss follows. We keep it adjacent to simplify init code. > + */ > + __bss_start = .; > + .sbss (NOLOAD) : > + { > + *(.sbss) > + *(.sbss.*) > + *(.gnu.linkonce.sb.*) > + *(.scommon) > + } > + . = ALIGN(4); > + .bss (NOLOAD) : > + { > + *(.bss) > + *(.bss.*) > + *(.dynbss) > + *(COMMON) > + *(.scommon) > + } > + . = ALIGN(4); > + _end = .; > + PROVIDE (end = .); > + > + /* DEBUG -- symbol table, string table, etc. etc. > + */ > + .stab 0 : { *(.stab) } > + .stabstr 0 : { *(.stabstr) } > + .stab.excl 0 : { *(.stab.excl) } > + .stab.exclstr 0 : { *(.stab.exclstr) } > + .stab.index 0 : { *(.stab.index) } > + .stab.indexstr 0 : { *(.stab.indexstr) } > + .comment 0 : { *(.comment) } > + .debug 0 : { *(.debug) } > + .line 0 : { *(.line) } > + .debug_srcinfo 0 : { *(.debug_srcinfo) } > + .debug_sfnames 0 : { *(.debug_sfnames) } > + .debug_aranges 0 : { *(.debug_aranges) } > + .debug_pubnames 0 : { *(.debug_pubnames) } > + .debug_info 0 : { *(.debug_info) } > + .debug_abbrev 0 : { *(.debug_abbrev) } > + .debug_line 0 : { *(.debug_line) } > + .debug_frame 0 : { *(.debug_frame) } > + .debug_str 0 : { *(.debug_str) } > + .debug_loc 0 : { *(.debug_loc) } > + .debug_macinfo 0 : { *(.debug_macinfo) } > + .debug_weaknames 0 : { *(.debug_weaknames) } > + .debug_funcnames 0 : { *(.debug_funcnames) } > + .debug_typenames 0 : { *(.debug_typenames) } > + .debug_varnames 0 : { *(.debug_varnames) } > +} > diff --git a/include/configs/nios2-generic.h b/include/configs/nios2-generic.h > new file mode 100644 > index 0000000..e83e1e3 > --- /dev/null > +++ b/include/configs/nios2-generic.h > @@ -0,0 +1,153 @@ > +/* > + * (C) Copyright 2005, Psyent Corporation <www.psyent.com> > + * Scott McNutt <smcn...@psyent.com> > + * (C) Copyright 2010, Thomas Chou <tho...@wytron.com.tw> > + * > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > +#ifndef __CONFIG_H > +#define __CONFIG_H > + > +/* > + * BOARD/CPU > + */ > +#include "../board/altera/nios2-generic/custom_fpga.h" /* fpga parameters */ > +#define CONFIG_BOARD_NAME "nios2-generic" /* custom board name */ > +#define CONFIG_BOARD_EARLY_INIT_F /* enable early board-spec. init */ > +#define CONFIG_SYS_NIOS_SYSID_BASE CONFIG_SYS_SYSID_BASE > + > +/* > + * SERIAL > + */ > +#define CONFIG_ALTERA_UART > +#if defined(CONFIG_ALTERA_JTAG_UART) > +# define CONFIG_SYS_NIOS_CONSOLE CONFIG_SYS_JTAG_UART_BASE > +#else > +# define CONFIG_SYS_NIOS_CONSOLE CONFIG_SYS_UART_BASE > +#endif > + > +#define CONFIG_ALTERA_JTAG_UART_BYPASS > +#define CONFIG_SYS_NIOS_FIXEDBAUD > +#define CONFIG_BAUDRATE CONFIG_SYS_UART_BAUD > +#define CONFIG_SYS_BAUDRATE_TABLE {CONFIG_BAUDRATE} > +#define CONFIG_SYS_CONSOLE_INFO_QUIET /* Suppress console info */ > + > +/* > + * TIMER > + */ > +#define CONFIG_SYS_NIOS_TMRBASE CONFIG_SYS_TIMER_BASE > +#define CONFIG_SYS_NIOS_TMRIRQ CONFIG_SYS_TIMER_IRQ > +#define CONFIG_SYS_HZ 1000 /* Always 1000 */ > +#define CONFIG_SYS_NIOS_TMRMS 10 /* Desired period > (msec)*/ > +#define CONFIG_SYS_NIOS_TMRCNT \ > + (CONFIG_SYS_NIOS_TMRMS * (CONFIG_SYS_TIMER_FREQ / 1000) - 1) > + > +/* > + * STATUS LED > + */ > +#define CONFIG_STATUS_LED /* Enable status driver */ > +#define CONFIG_EPLED /* Enable LED PIO driver */ > +#define CONFIG_SYS_LEDPIO_ADDR LED_PIO_BASE > + > +#define STATUS_LED_BIT 1 /* Bit-0 on PIO */ > +#define STATUS_LED_STATE 1 /* Blinking */ > +#define STATUS_LED_PERIOD (500 / CONFIG_SYS_NIOS_TMRMS) /* 500 msec */ > + > +/* > + * BOOTP options > + */ > +#define CONFIG_BOOTP_BOOTFILESIZE > +#define CONFIG_BOOTP_BOOTPATH > +#define CONFIG_BOOTP_GATEWAY > +#define CONFIG_BOOTP_HOSTNAME > + > +/* > + * Command line configuration. > + */ > +#include <config_cmd_default.h> > +#undef CONFIG_CMD_BOOTD > +#undef CONFIG_CMD_FPGA > +#undef CONFIG_CMD_IMLS > +#undef CONFIG_CMD_ITEST > +#undef CONFIG_CMD_NFS > +#undef CONFIG_CMD_SETGETDCR > +#undef CONFIG_CMD_XIMG > + > +#ifdef CONFIG_CMD_NET > +# define CONFIG_NET_MULTI > +# define CONFIG_CMD_DHCP > +# define CONFIG_CMD_PING > +#endif > + > +/* > + * ENVIRONMENT -- Put environment in sector CONFIG_SYS_MONITOR_LEN above > + * CONFIG_SYS_RESET_ADDR, since we assume the monitor is stored at the > + * reset address, no? This will keep the environment in user region > + * of flash. NOTE: the monitor length must be multiple of sector size > + * (which is common practice). > + */ > +#define CONFIG_ENV_IS_IN_FLASH > + > +#define CONFIG_ENV_SIZE 0x10000 /* 64k, 1 sector */ > +#define CONFIG_ENV_OVERWRITE /* Serial change Ok */ > +#define CONFIG_ENV_ADDR ((CONFIG_SYS_RESET_ADDR + \ > + CONFIG_SYS_MONITOR_LEN) | \ > + CONFIG_SYS_FLASH_BASE) > + > +/* > + * MEMORY ORGANIZATION > + * -Monitor at top of sdram. > + * -The heap is placed below the monitor > + * -Global data is placed below the heap. > + * -The stack is placed below global data (&grows down). > + */ > +#define CONFIG_MONITOR_IS_IN_RAM > +#define CONFIG_SYS_MONITOR_LEN 0x40000 /* Reserve 256k */ > +#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_SDRAM_BASE + \ > + CONFIG_SYS_SDRAM_SIZE - \ > + CONFIG_SYS_MONITOR_LEN) > +#define CONFIG_SYS_GBL_DATA_SIZE 256 /* Global data size rsvd */ > +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 0x20000) > +#define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - \ > + CONFIG_SYS_MALLOC_LEN) > +#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_MALLOC_BASE - \ > + CONFIG_SYS_GBL_DATA_SIZE) > +#define CONFIG_SYS_INIT_SP CONFIG_SYS_GBL_DATA_OFFSET > + > +/* > + * MISC > + */ > +#define CONFIG_SYS_LONGHELP /* Provide extended help */ > +#define CONFIG_SYS_PROMPT "==> " /* Command prompt */ > +#define CONFIG_SYS_CBSIZE 256 /* Console I/O buf size */ > +#define CONFIG_SYS_MAXARGS 16 /* Max command args */ > +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Bootarg buf size */ > +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ > + sizeof(CONFIG_SYS_PROMPT) + \ > + 16) /* Print buf size */ > +#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE > +#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE > +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_INIT_SP - 0x20000) > +#define CONFIG_CMDLINE_EDITING > + > +#define CONFIG_SYS_HUSH_PARSER > +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> " > + > +#endif /* __CONFIG_H */ -- Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot