diff mbox

[U-Boot,v2] avr32: add grasshopper (ICnova AP7000) board

Message ID 1309428223-13248-1-git-send-email-biessmann@corscience.de
State Superseded
Delegated to: Reinhard Meyer
Headers show

Commit Message

Andreas Bießmann June 30, 2011, 10:03 a.m. UTC
The grasshopper board is a neat avr32 evaluation kit produced by In-Circuit
GmbH.
See http://www.ic-board.de/product_info.php?info=p75_ICnova-AP7000-Base.html
for detailed information about this device.

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
---
changes since v1:
 - use vim: set noet ts=8 for 80 char per line checking
 - replace blank indention by tab indention
 - add board_early_init_r to explicitely set the phy address to 0x00

 board/in-circuit/grasshopper/Makefile      |   45 +++++++
 board/in-circuit/grasshopper/grasshopper.c |  112 ++++++++++++++++
 boards.cfg                                 |    1 +
 include/configs/grasshopper.h              |  198 ++++++++++++++++++++++++++++
 4 files changed, 356 insertions(+), 0 deletions(-)
 create mode 100644 board/in-circuit/grasshopper/Makefile
 create mode 100644 board/in-circuit/grasshopper/grasshopper.c
 create mode 100644 include/configs/grasshopper.h

Comments

Andreas Bießmann July 1, 2011, 8:03 a.m. UTC | #1
This is now a series of two cause changing MAINTAINERS give an mismatch of
charsets (ISO-8859-1 vs UTF-8).

There is an discussion about changing charset in files:
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/102199

Andreas Bießmann (2):
  MAINTAINERS: convert to UTF-8
  avr32: add grasshopper (ICnova AP7000) board

 MAINTAINERS                                |   11 +-
 board/in-circuit/grasshopper/Makefile      |   45 +++++++
 board/in-circuit/grasshopper/grasshopper.c |  112 ++++++++++++++++
 boards.cfg                                 |    1 +
 include/configs/grasshopper.h              |  198 ++++++++++++++++++++++++++++
 5 files changed, 362 insertions(+), 5 deletions(-)
 create mode 100644 board/in-circuit/grasshopper/Makefile
 create mode 100644 board/in-circuit/grasshopper/grasshopper.c
 create mode 100644 include/configs/grasshopper.h
Albert ARIBAUD July 1, 2011, 11:09 a.m. UTC | #2
Le 01/07/2011 10:03, Andreas Bießmann a écrit :
> Signed-off-by: Andreas Bießmann<biessmann@corscience.de>
> CC: albert.u.boot@aribaud.net
> CC: vapier@gentoo.org
> ---
>   MAINTAINERS |   10 +++++-----
>   1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2bba7b4..fa77fd3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -74,7 +74,7 @@ Joe D'Abbraccio<ljd015@freescale.com>
>
>   	MPC837xERDB	MPC837x
>
> -K�ri Dav��sson<kd@flaga.is>
> +Kári Davíðsson<kd@flaga.is>
>
>   	FLAGADM		MPC823
>
> @@ -597,7 +597,7 @@ Rishi Bhattacharya<rishi@ti.com>
>
>   	omap5912osk	ARM926EJS
>
> -Andreas Bie�mann<andreas.devel@gmail.com>
> +Andreas Bießmann<andreas.devel@gmail.com>
>
>   	at91rm9200ek	at91rm9200
>
> @@ -652,7 +652,7 @@ Sedji Gaouaou<sedji.gaouaou@atmel.com>
>   	at91sam9g10ek		ARM926EJS (AT91SAM9G10 SoC)
>   	at91sam9m10g45ek	ARM926EJS (AT91SAM9G45 SoC)
>
> -Marius Gr�ger<mag@sysgo.de>
> +Marius Gröger<mag@sysgo.de>
>
>   	impa7		ARM720T (EP7211)
>   	ep7312		ARM720T (EP7312)
> @@ -735,7 +735,7 @@ Nishanth Menon<nm@ti.com>
>   	omap3_sdp3430	ARM ARMV7 (OMAP3xx SoC)
>   	omap3_zoom1	ARM ARMV7 (OMAP3xx SoC)
>
> -David M�ller<d.mueller@elsoft.ch>
> +David Müller<d.mueller@elsoft.ch>
>
>   	smdk2410	ARM920T
>   	VCMA9		ARM920T
> @@ -897,7 +897,7 @@ Richard Woodruff<r-woodruff2@ti.com>
>
>   	omap2420h4	ARM1136EJS
>
> -Alex Z�pke<azu@sysgo.de>
> +Alex Züpke<azu@sysgo.de>
>
>   	lart		SA1100
>   	dnp1110		SA1110

Andreas,

Please do not issue a single file encoding conversion, and do not submit 
a conversion patch to UTF before agreement is reached on which encoding 
to use.

As for the full change, if you really insist on doing it, then you're 
welcome, but as I am the one who raised the subject, I feel it is only 
normal that I prepare and submit the overall change patch.

Amicalement,
Andreas Bießmann July 1, 2011, 11:24 a.m. UTC | #3
Dear Albert Aribaud,

Am 01.07.2011 13:09, schrieb Albert ARIBAUD:
> Le 01/07/2011 10:03, Andreas Bießmann a écrit :

<snip patch>

> Andreas,
> 
> Please do not issue a single file encoding conversion, and do not submit 
> a conversion patch to UTF before agreement is reached on which encoding 
> to use.

I have no problem with that. I just remembered this morning that I
missed an entry in MAINTAINERS file. But when I change the MAINTAINERS
file in current encoding the whole patch gets another encoding. My SoB
show's immediately the wrong encoding.
Therefore I thought it would be good point to show on that problem with
that patch.
Will send v4 with UTF-8 conversion removed.

> As for the full change, if you really insist on doing it, then you're 
> welcome, but as I am the one who raised the subject, I feel it is only 
> normal that I prepare and submit the overall change patch.

I do not insist on doing the conversion. There are some places where
errors may occur, therefore it would be best someone with upstream
repository does the job.

regards

Andreas Bießmann
Andreas Bießmann July 18, 2011, 10:14 a.m. UTC | #4
Dear Reinahrd Meyer,

Am 01.07.2011 16:47, schrieb Andreas Bießmann:
> The grasshopper board is a neat avr32 evaluation kit produced by In-Circuit
> GmbH.
> See http://www.ic-board.de/product_info.php?info=p75_ICnova-AP7000-Base.html
> for detailed information about this device.
> 
> Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
> ---
> changes since v1:
>  - use vim: set noet ts=8 for 80 char per line checking
>  - replace blank indention by tab indention
>  - add board_early_init_r to explicitely set the phy address to 0x00
> 
> changes since v2:
>  - add MAINTAINERS entry
> 
> chganges since v3:
>  - remove previous commit 'MAINTAINERS: convert to utf-8' -> encoding of this
>    patch is defective since '�' in MAINTAINERS is ISO-8859-1 coded and
>    everywhere else it is UTF-8 coded.

ping?
Andreas Bießmann July 21, 2011, 4:22 p.m. UTC | #5
Dear Reinhard Meyer,

you took the at91 related patches today.

Am 01.07.2011 16:47, schrieb Andreas Bießmann:
> The grasshopper board is a neat avr32 evaluation kit produced by In-Circuit
> GmbH.
> See http://www.ic-board.de/product_info.php?info=p75_ICnova-AP7000-Base.html
> for detailed information about this device.
> 
> Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
> ---
> changes since v1:
>  - use vim: set noet ts=8 for 80 char per line checking
>  - replace blank indention by tab indention
>  - add board_early_init_r to explicitely set the phy address to 0x00
> 
> changes since v2:
>  - add MAINTAINERS entry
> 
> chganges since v3:
>  - remove previous commit 'MAINTAINERS: convert to utf-8' -> encoding of this
>    patch is defective since '�' in MAINTAINERS is ISO-8859-1 coded and
>    everywhere else it is UTF-8 coded.
> 
>  MAINTAINERS                                |    1 +
>  board/in-circuit/grasshopper/Makefile      |   45 +++++++
>  board/in-circuit/grasshopper/grasshopper.c |  112 ++++++++++++++++
>  boards.cfg                                 |    1 +
>  include/configs/grasshopper.h              |  198 ++++++++++++++++++++++++++++
>  5 files changed, 357 insertions(+), 0 deletions(-)
>  create mode 100644 board/in-circuit/grasshopper/Makefile
>  create mode 100644 board/in-circuit/grasshopper/grasshopper.c
>  create mode 100644 include/configs/grasshopper.h

Any objections to this patch? v4 was out before the merge window closed.
I know you are right before your holiday ... but it would be great if
you take this too.

best regards

Andreas Bießmann
Reinhard Meyer July 24, 2011, 9:58 a.m. UTC | #6
Dear Andreas Bießmann:
> Am 01.07.2011 16:47, schrieb Andreas Bießmann:
> > The grasshopper board is a neat avr32 evaluation kit produced by In-Circuit
> > GmbH.
> > See http://www.ic-board.de/product_info.php?info=p75_ICnova-AP7000-Base.html
> > for detailed information about this device.
> > 
> > Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
> > ---
> > changes since v1:
> >  - use vim: set noet ts=8 for 80 char per line checking
> >  - replace blank indention by tab indention
> >  - add board_early_init_r to explicitely set the phy address to 0x00
> > 
> > changes since v2:
> >  - add MAINTAINERS entry
> > 
> > chganges since v3:
> >  - remove previous commit 'MAINTAINERS: convert to utf-8' -> encoding of this
> >    patch is defective since '�' in MAINTAINERS is ISO-8859-1 coded and
> >    everywhere else it is UTF-8 coded.
> > 
> >  MAINTAINERS                                |    1 +
> >  board/in-circuit/grasshopper/Makefile      |   45 +++++++
> >  board/in-circuit/grasshopper/grasshopper.c |  112 ++++++++++++++++
> >  boards.cfg                                 |    1 +
> >  include/configs/grasshopper.h              |  198 ++++++++++++++++++++++++++++
> >  5 files changed, 357 insertions(+), 0 deletions(-)
> >  create mode 100644 board/in-circuit/grasshopper/Makefile
> >  create mode 100644 board/in-circuit/grasshopper/grasshopper.c
> >  create mode 100644 include/configs/grasshopper.h
> 
> Any objections to this patch? v4 was out before the merge window closed.
> I know you are right before your holiday ... but it would be great if
> you take this too.
No objections. Applied to u-boot-atmel/master.
Thanks, Reinhard
diff mbox

Patch

diff --git a/board/in-circuit/grasshopper/Makefile b/board/in-circuit/grasshopper/Makefile
new file mode 100644
index 0000000..a6c36c7
--- /dev/null
+++ b/board/in-circuit/grasshopper/Makefile
@@ -0,0 +1,45 @@ 
+#
+# (C) Copyright 2001-2006
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# Copyright (C) 2011
+# Corscience GmbH & Co.KG, Andreas Bießmann <biessmann@corscience.de>
+#
+# 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
+
+LIB     := $(obj)lib$(BOARD).o
+
+COBJS-y += $(BOARD).o
+
+SRCS    := $(COBJS-y:.o=.c)
+OBJS    := $(addprefix $(obj),$(COBJS-y))
+
+$(LIB): $(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/in-circuit/grasshopper/grasshopper.c b/board/in-circuit/grasshopper/grasshopper.c
new file mode 100644
index 0000000..475a759
--- /dev/null
+++ b/board/in-circuit/grasshopper/grasshopper.c
@@ -0,0 +1,112 @@ 
+/*
+ * Copyright (C) 2011
+ * Corscience GmbH & Co.KG, Andreas Bießmann <biessmann@corscience.de>
+ *
+ * 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 <asm/io.h>
+#include <asm/sdram.h>
+#include <asm/arch/clk.h>
+#include <asm/arch/hmatrix.h>
+#include <asm/arch/mmu.h>
+#include <asm/arch/portmux.h>
+#include <netdev.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+struct mmu_vm_range mmu_vmr_table[CONFIG_SYS_NR_VM_REGIONS] = {
+	{
+		.virt_pgno	= CONFIG_SYS_FLASH_BASE >> PAGE_SHIFT,
+		.nr_pages	= CONFIG_SYS_FLASH_SIZE >> PAGE_SHIFT,
+		.phys		= (CONFIG_SYS_FLASH_BASE >> PAGE_SHIFT)
+				| MMU_VMR_CACHE_NONE,
+	}, {
+		.virt_pgno	= CONFIG_SYS_SDRAM_BASE >> PAGE_SHIFT,
+		.nr_pages	= EBI_SDRAM_SIZE >> PAGE_SHIFT,
+		.phys		= (CONFIG_SYS_SDRAM_BASE >> PAGE_SHIFT)
+				| MMU_VMR_CACHE_WRBACK,
+	},
+};
+
+static const struct sdram_config sdram_config = {
+	/* Dual MT48LC16M16A2-7E (or equal) */
+	.data_bits		= SDRAM_DATA_32BIT,
+	.row_bits		= 13,
+	.col_bits		= 9,
+	.bank_bits		= 2,
+	.cas			= 2,
+	.twr			= 2,
+	.trc			= 7,
+	.trp			= 2,
+	.trcd			= 2,
+	.tras			= 4,
+	.txsr			= 7,
+	/* 7.81 us */
+	.refresh_period		= (781 * (SDRAMC_BUS_HZ / 1000)) / 100000,
+};
+
+int board_early_init_f(void)
+{
+	/* Enable SDRAM in the EBI mux */
+	hmatrix_slave_write(EBI, SFR, HMATRIX_BIT(EBI_SDRAM_ENABLE));
+
+	portmux_enable_ebi(SDRAM_DATA_32BIT, 23, 0, PORTMUX_DRIVE_HIGH);
+	portmux_enable_usart0(PORTMUX_DRIVE_MIN);
+	portmux_enable_usart1(PORTMUX_DRIVE_MIN);
+#if defined(CONFIG_MACB)
+	portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_LOW);
+#endif
+
+	return 0;
+}
+
+phys_size_t initdram(int board_type)
+{
+	unsigned long expected_size;
+	unsigned long actual_size;
+	void *sdram_base;
+
+	sdram_base = uncached(EBI_SDRAM_BASE);
+
+	expected_size = sdram_init(sdram_base, &sdram_config);
+	actual_size = get_ram_size(sdram_base, expected_size);
+
+	if (expected_size != actual_size)
+		printf("Warning: Only %lu of %lu MiB SDRAM is working\n",
+				actual_size >> 20, expected_size >> 20);
+
+	return actual_size;
+}
+
+int board_early_init_r(void)
+{
+	gd->bd->bi_phy_id[0] = 0x00;
+	return 0;
+}
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bi)
+{
+	macb_eth_initialize(0, (void *)ATMEL_BASE_MACB0, bi->bi_phy_id[0]);
+	return 0;
+}
+#endif
+/* vim: set noet ts=8: */
diff --git a/boards.cfg b/boards.cfg
index dfefc3f..839441a 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -209,6 +209,7 @@  atstk1003                    avr32       at32ap      atstk1000           atmel
 atstk1004                    avr32       at32ap      atstk1000           atmel          at32ap700x
 atstk1006                    avr32       at32ap      atstk1000           atmel          at32ap700x
 favr-32-ezkit                avr32       at32ap      -                   earthlcd       at32ap700x
+grasshopper                  avr32       at32ap      -                   in-circuit     at32ap700x
 mimc200                      avr32       at32ap      -                   mimc           at32ap700x
 hammerhead                   avr32       at32ap      -                   miromico       at32ap700x
 bct-brettl2                  blackfin    blackfin
diff --git a/include/configs/grasshopper.h b/include/configs/grasshopper.h
new file mode 100644
index 0000000..9779449
--- /dev/null
+++ b/include/configs/grasshopper.h
@@ -0,0 +1,198 @@ 
+/*
+ * Copyright (C) 2011
+ * Corscience GmbH & Co.KG, Andreas Bießmann <biessmann@corscience.de>
+ *
+ * Configuration settings for the grasshopper (ICnova AP7000) board
+ *
+ * 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 __GRASSHOPPER_CONFIG_H
+#define __GRASSHOPPER_CONFIG_H
+
+#include <asm/arch/hardware.h>
+
+#define CONFIG_AVR32
+#define CONFIG_AT32AP
+#define CONFIG_AT32AP7000
+
+/*
+ * Timer clock frequency. We're using the CPU-internal COUNT register
+ * for this, so this is equivalent to the CPU core clock frequency
+ */
+#define CONFIG_SYS_HZ			1000
+
+/*
+ * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
+ * frequency, the HSB and PBB at 1/2, and the PBA to run at 1/4 the
+ * PLL frequency.
+ * (CONFIG_SYS_OSC0_HZ * CONFIG_SYS_PLL0_MUL) / CONFIG_SYS_PLL0_DIV = PLL MHz
+ */
+#define CONFIG_PLL
+#define CONFIG_SYS_POWER_MANAGER
+#define CONFIG_SYS_OSC0_HZ		20000000
+#define CONFIG_SYS_PLL0_DIV		1
+#define CONFIG_SYS_PLL0_MUL		7
+#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES	16
+/*
+ * Set the CPU running at:
+ * PLL / (2^CONFIG_SYS_CLKDIV_CPU) = CPU MHz
+ */
+#define CONFIG_SYS_CLKDIV_CPU		0
+/*
+ * Set the HSB running at:
+ * PLL / (2^CONFIG_SYS_CLKDIV_HSB) = HSB MHz
+ */
+#define CONFIG_SYS_CLKDIV_HSB		1
+/*
+ * Set the PBA running at:
+ * PLL / (2^CONFIG_SYS_CLKDIV_PBA) = PBA MHz
+ */
+#define CONFIG_SYS_CLKDIV_PBA		2
+/*
+ * Set the PBB running at:
+ * PLL / (2^CONFIG_SYS_CLKDIV_PBB) = PBB MHz
+ */
+#define CONFIG_SYS_CLKDIV_PBB		1
+
+/* Reserve VM regions for SDRAM and NOR flash */
+#define CONFIG_SYS_NR_VM_REGIONS	2
+
+/*
+ * The PLLOPT register controls the PLL like this:
+ *   icp = PLLOPT<2>
+ *   ivco = PLLOPT<1:0>
+ *
+ * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
+ */
+#define CONFIG_SYS_PLL0_OPT		0x04
+
+#define CONFIG_USART_BASE		ATMEL_BASE_USART1
+#define CONFIG_USART_ID			1
+
+/* User serviceable stuff */
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_INITRD_TAG
+
+#define CONFIG_STACKSIZE		(2048)
+
+#define CONFIG_BAUDRATE			115200
+
+/*
+ * Only interrupt autoboot if <space> is pressed. Otherwise, garbage
+ * data on the serial line may interrupt the boot sequence.
+ */
+#define CONFIG_BOOTDELAY		1
+#define CONFIG_AUTOBOOT
+#define CONFIG_AUTOBOOT_KEYED
+#define CONFIG_AUTOBOOT_PROMPT		"Press SPACE to abort autoboot in %d" \
+					" seconds\n", bootdelay
+#define CONFIG_AUTOBOOT_DELAY_STR	"d"
+#define CONFIG_AUTOBOOT_STOP_STR	" "
+
+/*
+ * After booting the board for the first time, new ethernet addresses
+ * should be generated and assigned to the environment variables
+ * "ethaddr". This is normally done during production.
+ */
+#define CONFIG_OVERWRITE_ETHADDR_ONCE
+#define CONFIG_NET_MULTI
+
+/*
+ * BOOTP options
+ */
+#define CONFIG_BOOTP_SUBNETMASK
+#define CONFIG_BOOTP_GATEWAY
+
+/*
+ * Command line configuration.
+ */
+#include <config_cmd_default.h>
+
+/* remove unneeded commands */
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_SETGETDCR
+
+/* add useful commands */
+#define CONFIG_CMD_ASKENV
+#define CONFIG_CMD_DHCP
+#define CONFIG_CMD_JFFS2
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_REGINFO
+
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_PROMPT_HUSH_PS2	"~> "
+#define CONFIG_CMDLINE_EDITING
+
+#define CONFIG_ATMEL_USART
+#define CONFIG_MACB
+#define CONFIG_PORTMUX_PIO
+#define CONFIG_SYS_NR_PIOS		5
+#define CONFIG_SYS_HSDRAMC
+
+#define CONFIG_SYS_DCACHE_LINESZ	32
+#define CONFIG_SYS_ICACHE_LINESZ	32
+
+#define CONFIG_NR_DRAM_BANKS		1
+
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_FLASH_CFI_DRIVER
+
+#define CONFIG_SYS_FLASH_BASE		0x00000000
+#define CONFIG_SYS_FLASH_SIZE		0x800000
+#define CONFIG_SYS_MAX_FLASH_BANKS	1
+#define CONFIG_SYS_MAX_FLASH_SECT	135
+
+#define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_FLASH_BASE
+#define CONFIG_SYS_TEXT_BASE		0x00000000
+
+#define CONFIG_SYS_INTRAM_BASE		INTERNAL_SRAM_BASE
+#define CONFIG_SYS_INTRAM_SIZE		INTERNAL_SRAM_SIZE
+#define CONFIG_SYS_SDRAM_BASE		EBI_SDRAM_BASE
+
+#define CONFIG_ENV_IS_IN_FLASH
+/* place u-boot env in flash sector after u-boot */
+#define CONFIG_ENV_SIZE			0x10000
+#define CONFIG_ENV_ADDR			0x20000
+
+#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_INTRAM_BASE + \
+					 CONFIG_SYS_INTRAM_SIZE)
+
+#define CONFIG_SYS_MALLOC_LEN		(256*1024)
+#define CONFIG_SYS_DMA_ALLOC_LEN	(16384)
+
+/* Allow 4MB for the kernel run-time image */
+#define CONFIG_SYS_LOAD_ADDR		(EBI_SDRAM_BASE + 0x00400000)
+#define CONFIG_SYS_BOOTPARAMS_LEN	(16 * 1024)
+
+/* Other configuration settings that shouldn't have to change all that often */
+#define CONFIG_SYS_PROMPT		"U-Boot> "
+#define CONFIG_SYS_CBSIZE		256
+#define CONFIG_SYS_MAXARGS		16
+#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
+					 sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_LONGHELP
+
+#define CONFIG_SYS_MEMTEST_START	EBI_SDRAM_BASE
+#define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + 0x700000)
+#define CONFIG_SYS_BAUDRATE_TABLE	{ 115200, 38400, 19200, 9600, 2400 }
+
+#endif /* __GRASSHOPPER_CONFIG_H */
+/* vim: set ts=8 noet: */