public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] Add support for the hammerhead (AVR32) board
@ 2008-06-23 11:58 Julien May
  2008-06-23 11:58 ` [U-Boot-Users] [PATCH 1/1] " Julien May
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-06-23 11:58 UTC (permalink / raw)
  To: u-boot

Hi

This patch adds support for our new hammerhead (AVR32) board.

Thanks & best rgds.
Julien May

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-23 11:58 [U-Boot-Users] Add support for the hammerhead (AVR32) board Julien May
@ 2008-06-23 11:58 ` Julien May
  2008-07-23 14:24   ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-06-23 11:58 UTC (permalink / raw)
  To: u-boot


Signed-off-by: Julien May <mailinglist@miromico.ch>
---
 MAKEALL                                  |    1 +
 Makefile                                 |    3 +
 board/miromico/hammerhead/Makefile       |   40 +++++++
 board/miromico/hammerhead/config.mk      |    3 +
 board/miromico/hammerhead/eth.c          |   37 ++++++
 board/miromico/hammerhead/hammerhead.c   |  105 +++++++++++++++++
 board/miromico/hammerhead/u-boot.lds     |   73 ++++++++++++
 cpu/at32ap/at32ap700x/gpio.c             |   11 ++
 cpu/at32ap/at32ap700x/sm.h               |    2 +-
 cpu/at32ap/cpu.c                         |    5 +
 include/asm-avr32/arch-at32ap700x/clk.h  |    1 +
 include/asm-avr32/arch-at32ap700x/gpio.h |    3 +
 include/configs/hammerhead.h             |  179 ++++++++++++++++++++++++++++++
 net/eth.c                                |    4 +
 14 files changed, 466 insertions(+), 1 deletions(-)
 create mode 100644 board/miromico/hammerhead/Makefile
 create mode 100644 board/miromico/hammerhead/config.mk
 create mode 100644 board/miromico/hammerhead/eth.c
 create mode 100644 board/miromico/hammerhead/hammerhead.c
 create mode 100644 board/miromico/hammerhead/u-boot.lds
 create mode 100644 include/configs/hammerhead.h

diff --git a/MAKEALL b/MAKEALL
index f40de23..89b68a5 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -699,6 +699,7 @@ LIST_avr32="		\
 	atstk1004	\
 	atstk1006	\
 	atngw100	\
+	hammerhead	\
 "
 
 #########################################################################
diff --git a/Makefile b/Makefile
index 154e592..09bae45 100644
--- a/Makefile
+++ b/Makefile
@@ -2885,6 +2885,9 @@ atstk1006_config	:	unconfig
 atngw100_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) avr32 at32ap atngw100 atmel at32ap700x
 
+hammerhead_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) avr32 at32ap hammerhead miromico at32ap700x
+
 #########################################################################
 #########################################################################
 #########################################################################
diff --git a/board/miromico/hammerhead/Makefile b/board/miromico/hammerhead/Makefile
new file mode 100644
index 0000000..c5fc67a
--- /dev/null
+++ b/board/miromico/hammerhead/Makefile
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2008 Miromico AG
+#
+# 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).a
+
+COBJS	:= $(BOARD).o eth.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
+
+$(LIB): $(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/miromico/hammerhead/config.mk b/board/miromico/hammerhead/config.mk
new file mode 100644
index 0000000..9a794e5
--- /dev/null
+++ b/board/miromico/hammerhead/config.mk
@@ -0,0 +1,3 @@
+TEXT_BASE		= 0x00000000
+PLATFORM_RELFLAGS	+= -ffunction-sections -fdata-sections
+PLATFORM_LDFLAGS	+= --gc-sections
diff --git a/board/miromico/hammerhead/eth.c b/board/miromico/hammerhead/eth.c
new file mode 100644
index 0000000..969c48e
--- /dev/null
+++ b/board/miromico/hammerhead/eth.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2008 Miromico AG
+ *
+ * Ethernet initialization for the Miromico Hammerhead AVR32 board
+ *
+ * Mostly copied form Atmel ATNGW100 sources
+ *
+ * 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/arch/memory-map.h>
+
+extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
+
+#ifdef CONFIG_CMD_NET
+void board_eth_initialize(bd_t *bi)
+{
+	macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
+}
+#endif
diff --git a/board/miromico/hammerhead/hammerhead.c b/board/miromico/hammerhead/hammerhead.c
new file mode 100644
index 0000000..69ff7fa
--- /dev/null
+++ b/board/miromico/hammerhead/hammerhead.c
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2008 Miromico AG
+ *
+ * Mostly copied form atmel ATNGW100 sources
+ *
+ * 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 "../cpu/at32ap/at32ap700x/sm.h"
+
+#include <common.h>
+
+#include <asm/io.h>
+#include <asm/sdram.h>
+#include <asm/arch/clk.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/hmatrix.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static const struct sdram_config sdram_config = {
+	.data_bits	= SDRAM_DATA_32BIT,
+	.row_bits	= 13,
+	.col_bits	= 9,
+	.bank_bits	= 2,
+	.cas		= 3,
+	.twr		= 2,
+	.trc		= 7,
+	.trp		= 2,
+	.trcd		= 2,
+	.tras		= 5,
+	.txsr		= 5,
+	/* 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));
+
+	gpio_enable_ebi();
+	gpio_enable_usart1();
+
+#if defined(CONFIG_MACB)
+	gpio_enable_macb0();
+#endif
+#if defined(CONFIG_MMC)
+	gpio_enable_mmci();
+#endif
+
+	/* Select GCLK3 peripheral function. We'll need it as clock output
+	 * for ethernet PHY. */
+	gpio_enable_gclk3();
+	return 0;
+}
+
+long int initdram(int board_type)
+{
+	unsigned long expected_size;
+	unsigned long actual_size;
+	void *sdram_base;
+
+	sdram_base = map_physmem(EBI_SDRAM_BASE, EBI_SDRAM_SIZE, MAP_NOCACHE);
+
+	expected_size = sdram_init(sdram_base, &sdram_config);
+	actual_size = get_ram_size(sdram_base, expected_size);
+
+	unmap_physmem(sdram_base, EBI_SDRAM_SIZE);
+
+	if (expected_size != actual_size)
+		printf("Warning: Only %u of %u MiB SDRAM is working\n",
+		       actual_size >> 20, expected_size >> 20);
+
+	return actual_size;
+}
+
+void board_init_info(void)
+{
+	gd->bd->bi_phy_id[0] = 0x01;
+}
+
+void gclk_init(void)
+{
+	/* Hammerhead boards uses GCLK3 as 25MHz output to ethernet PHY */
+
+	/* Enable GCLK3 with no input divider, from OSC0 (crystal) */
+	sm_writel( PM_GCCTRL(3), SM_BIT(CEN) );
+}
diff --git a/board/miromico/hammerhead/u-boot.lds b/board/miromico/hammerhead/u-boot.lds
new file mode 100644
index 0000000..e736adf
--- /dev/null
+++ b/board/miromico/hammerhead/u-boot.lds
@@ -0,0 +1,73 @@
+/* -*- Fundamental -*-
+ *
+ * Copyright (C) 2005-2006 Atmel Corporation
+ *
+ * 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-avr32", "elf32-avr32", "elf32-avr32")
+OUTPUT_ARCH(avr32)
+ENTRY(_start)
+
+SECTIONS
+{
+	. = 0;
+	_text = .;
+	.text : {
+		*(.exception.text)
+		*(.text)
+		*(.text.*)
+	}
+	_etext = .;
+
+	.rodata : {
+		*(.rodata)
+		*(.rodata.*)
+	}
+
+	. = ALIGN(8);
+	_data = .;
+	.data : {
+		*(.data)
+		*(.data.*)
+	}
+
+	. = ALIGN(4);
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : {
+		KEEP(*(.u_boot_cmd))
+	}
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	_got = .;
+	.got : {
+		*(.got)
+	}
+	_egot = .;
+
+	. = ALIGN(8);
+	_edata = .;
+
+	.bss : {
+		*(.bss)
+		*(.bss.*)
+	}
+	. = ALIGN(8);
+	_end = .;
+}
diff --git a/cpu/at32ap/at32ap700x/gpio.c b/cpu/at32ap/at32ap700x/gpio.c
index 859124a..2b7717f 100644
--- a/cpu/at32ap/at32ap700x/gpio.c
+++ b/cpu/at32ap/at32ap700x/gpio.c
@@ -142,3 +142,14 @@ void gpio_enable_mmci(void)
 	gpio_select_periph_A(GPIO_PIN_PA15, 0);	/* DATA3 */
 }
 #endif
+
+/*
+ * Hammerhead board uses GCLK3 (Periph A on PB29) as 25MHz clock output
+ * for ethernet PHY.
+ */
+void __gpio_enable_gclk3(void)
+{
+	gpio_select_periph_A(GPIO_PIN_PB29, 0); /* GCLK3         */
+}
+
+void gpio_enable_gclk3(void) __attribute__((weak, alias("__gpio_enable_gclk3")));
diff --git a/cpu/at32ap/at32ap700x/sm.h b/cpu/at32ap/at32ap700x/sm.h
index 6492c8e..b6e4409 100644
--- a/cpu/at32ap/at32ap700x/sm.h
+++ b/cpu/at32ap/at32ap700x/sm.h
@@ -21,7 +21,7 @@
 #define SM_PM_IMR				0x0048
 #define SM_PM_ISR				0x004c
 #define SM_PM_ICR				0x0050
-#define SM_PM_GCCTRL				0x0060
+#define SM_PM_GCCTRL(x)				(0x0060 + 4 * x)
 #define SM_RTC_CTRL				0x0080
 #define SM_RTC_VAL				0x0084
 #define SM_RTC_TOP				0x0088
diff --git a/cpu/at32ap/cpu.c b/cpu/at32ap/cpu.c
index 0ba8361..4a92aab 100644
--- a/cpu/at32ap/cpu.c
+++ b/cpu/at32ap/cpu.c
@@ -65,6 +65,11 @@ int cpu_init(void)
 	sysreg_write(EVBA, (unsigned long)&_evba);
 	asm volatile("csrf	%0" : : "i"(SYSREG_EM_OFFSET));
 
+	if(gclk_init)
+	{
+		gclk_init();
+	}
+
 	return 0;
 }
 
diff --git a/include/asm-avr32/arch-at32ap700x/clk.h b/include/asm-avr32/arch-at32ap700x/clk.h
index 4a1dd33..63671db 100644
--- a/include/asm-avr32/arch-at32ap700x/clk.h
+++ b/include/asm-avr32/arch-at32ap700x/clk.h
@@ -76,6 +76,7 @@ static inline unsigned long get_mci_clk_rate(void)
 #endif
 
 extern void clk_init(void);
+extern void gclk_init(void) __attribute__((weak));
 
 /* Board code may need the SDRAM base clock as a compile-time constant */
 #define SDRAMC_BUS_HZ	(MAIN_CLK_RATE >> CFG_CLKDIV_HSB)
diff --git a/include/asm-avr32/arch-at32ap700x/gpio.h b/include/asm-avr32/arch-at32ap700x/gpio.h
index b10a3e4..c350d54 100644
--- a/include/asm-avr32/arch-at32ap700x/gpio.h
+++ b/include/asm-avr32/arch-at32ap700x/gpio.h
@@ -216,5 +216,8 @@ void gpio_enable_macb1(void);
 #ifdef AT32AP700x_CHIP_HAS_MMCI
 void gpio_enable_mmci(void);
 #endif
+#ifdef CONFIG_HAMMERHEAD
+void gpio_enable_gclk3(void);
+#endif
 
 #endif /* __ASM_AVR32_ARCH_GPIO_H__ */
diff --git a/include/configs/hammerhead.h b/include/configs/hammerhead.h
new file mode 100644
index 0000000..6699aea
--- /dev/null
+++ b/include/configs/hammerhead.h
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2008 Miromico AG
+ *
+ * Configuration settings for the Miromico Hammerhead AVR32 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 __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_AVR32			1
+#define CONFIG_AT32AP			1
+#define CONFIG_AT32AP7000		1
+#define CONFIG_HAMMERHEAD		1
+
+#define CFG_HZ				1000
+
+/*
+ * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
+ * frequency, the HSB and PBB busses to run at 1/2 the PLL frequency
+ * and the PBA bus to run at 1/4 the PLL frequency.
+ */
+#define CONFIG_PLL			1
+#define CFG_POWER_MANAGER		1
+#define CFG_OSC0_HZ			25000000  /* 25MHz crystal */
+#define CFG_PLL0_DIV			1
+#define CFG_PLL0_MUL			5
+#define CFG_PLL0_SUPPRESS_CYCLES	16
+#define CFG_CLKDIV_CPU			0
+#define CFG_CLKDIV_HSB			1
+#define CFG_CLKDIV_PBA			2
+#define CFG_CLKDIV_PBB			1
+
+/*
+ * 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 CFG_PLL0_OPT			0x04
+
+#define CONFIG_USART1			1
+
+#define CONFIG_HOSTNAME			hammerhead
+
+/* User serviceable stuff */
+#define CONFIG_DOS_PARTITION		1
+
+#define CONFIG_CMDLINE_TAG		1
+#define CONFIG_SETUP_MEMORY_TAGS	1
+#define CONFIG_INITRD_TAG		1
+
+#define CONFIG_STACKSIZE		(2048)
+
+#define CONFIG_BAUDRATE			115200
+#define CONFIG_BOOTARGS							\
+	"console=ttyS0 root=/dev/mtdblock1 rootfstype=jffs2"
+#define CONFIG_BOOTCOMMAND						\
+	"fsload; bootm"
+
+/*
+ * 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			1
+#define CONFIG_AUTOBOOT_KEYED		1
+#define CONFIG_AUTOBOOT_PROMPT				\
+	"Press SPACE to abort autoboot in %d seconds\n"
+#define CONFIG_AUTOBOOT_DELAY_STR	"d"
+#define CONFIG_AUTOBOOT_STOP_STR	" "
+
+/*
+ * After booting the board for the first time, new ethernet address
+ * should be generated and assigned to the environment variables
+ * "ethaddr". This is normally done during production.
+ */
+#define CONFIG_OVERWRITE_ETHADDR_ONCE	1
+#define CONFIG_NET_MULTI		1
+
+/*
+ * BOOTP/DHCP options
+ */
+#define CONFIG_BOOTP_SUBNETMASK
+#define CONFIG_BOOTP_GATEWAY
+
+#define CONFIG_DOS_PARTITION		1
+
+/*
+ * Command line configuration.
+ */
+#include <config_cmd_default.h>
+
+#define CONFIG_CMD_ASKENV
+#define CONFIG_CMD_DHCP
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#define CONFIG_CMD_JFFS2
+#define CONFIG_CMD_MMC
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_SETGETDCR
+
+#define CONFIG_ATMEL_USART		1
+#define CONFIG_MACB			1
+#define CONFIG_PIO2			1
+#define CFG_NR_PIOS			5
+#define CFG_HSDRAMC			1
+#define CONFIG_MMC			1
+
+#define CFG_DCACHE_LINESZ		32
+#define CFG_ICACHE_LINESZ		32
+
+#define CONFIG_NR_DRAM_BANKS		1
+
+#define CFG_FLASH_CFI			1
+#define CFG_FLASH_CFI_DRIVER		1
+
+#define CFG_FLASH_BASE			0x00000000
+#define CFG_FLASH_SIZE			0x800000
+#define CFG_MAX_FLASH_BANKS		1
+#define CFG_MAX_FLASH_SECT		135
+
+#define CFG_MONITOR_BASE		CFG_FLASH_BASE
+
+#define CFG_INTRAM_BASE			0x24000000
+#define CFG_INTRAM_SIZE			0x8000
+
+#define CFG_SDRAM_BASE			0x10000000
+
+#define CFG_ENV_IS_IN_FLASH		1
+#define CFG_ENV_SIZE			65536
+#define CFG_ENV_ADDR			(CFG_FLASH_BASE + CFG_FLASH_SIZE - CFG_ENV_SIZE)
+
+#define CFG_INIT_SP_ADDR		(CFG_INTRAM_BASE + CFG_INTRAM_SIZE)
+
+#define CFG_MALLOC_LEN			(256*1024)
+#define CFG_MALLOC_END							\
+	({								\
+		DECLARE_GLOBAL_DATA_PTR;				\
+		CFG_SDRAM_BASE + gd->sdram_size;			\
+	})
+#define CFG_MALLOC_START		(CFG_MALLOC_END - CFG_MALLOC_LEN)
+
+#define CFG_DMA_ALLOC_LEN		(16384)
+
+/* Allow 4MB for the kernel run-time image */
+#define CFG_LOAD_ADDR			(CFG_SDRAM_BASE + 0x00400000)
+#define CFG_BOOTPARAMS_LEN		(16 * 1024)
+
+/* Other configuration settings that shouldn't have to change all that often */
+#define CFG_PROMPT			"Uboot> "
+#define CFG_CBSIZE			256
+#define CFG_MAXARGS			16
+#define CFG_PBSIZE			(CFG_CBSIZE + sizeof(CFG_PROMPT) + 16)
+#define CFG_LONGHELP			1
+
+#define CFG_MEMTEST_START		CFG_SDRAM_BASE
+#define CFG_MEMTEST_END			(CFG_MEMTEST_START + 0x1f00000)
+
+#define CFG_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
+
+#endif /* __CONFIG_H */
diff --git a/net/eth.c b/net/eth.c
index c4f24c6..054a9fd 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -65,6 +65,7 @@ extern int atngw100_eth_initialize(bd_t *);
 extern int mcffec_initialize(bd_t*);
 extern int mcdmafec_initialize(bd_t*);
 extern int at91sam9_eth_initialize(bd_t *);
+extern int board_eth_initialize(bd_t *);
 
 #ifdef CONFIG_API
 extern void (*push_packet)(volatile void *, int);
@@ -291,6 +292,9 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
 	at91sam9_eth_initialize(bis);
 #endif
+#if defined(CONFIG_HAMMERHEAD)
+	board_eth_initialize(bis);
+#endif
 
 	if (!eth_devices) {
 		puts ("No ethernet found.\n");
-- 
1.5.5.GIT

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
       [not found] ` <1214222272-28853-2-git-send-email-mailinglist@miromico.ch>
@ 2008-06-23 13:00   ` Haavard Skinnemoen
  2008-06-23 17:14     ` Julien May
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-06-23 13:00 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> 
> Signed-off-by: Julien May <mailinglist@miromico.ch>

Could you add a few lines describing the Hammerhead board, perhaps with
a link to your site?

This looks pretty good to me. I have a few comments below, and I've
Cc'ed u-boot-users so that more people can comment on this. Please keep
them in the loop whenever you post a new version of this patch.

If you want, I can apply this to my tree as is, and you can send me
incremental patches fixing up the remaining issues. I'll fold
everything into a single patch before sending it upstream.

> ---
>  MAKEALL                                  |    1 +
>  Makefile                                 |    3 +
>  board/miromico/hammerhead/Makefile       |   40 +++++++
>  board/miromico/hammerhead/config.mk      |    3 +
>  board/miromico/hammerhead/eth.c          |   37 ++++++
>  board/miromico/hammerhead/hammerhead.c   |  105 +++++++++++++++++
>  board/miromico/hammerhead/u-boot.lds     |   73 ++++++++++++
>  cpu/at32ap/at32ap700x/gpio.c             |   11 ++
>  cpu/at32ap/at32ap700x/sm.h               |    2 +-
>  cpu/at32ap/cpu.c                         |    5 +
>  include/asm-avr32/arch-at32ap700x/clk.h  |    1 +
>  include/asm-avr32/arch-at32ap700x/gpio.h |    3 +
>  include/configs/hammerhead.h             |  179 ++++++++++++++++++++++++++++++
>  net/eth.c                                |    4 +
>  14 files changed, 466 insertions(+), 1 deletions(-)
>  create mode 100644 board/miromico/hammerhead/Makefile
>  create mode 100644 board/miromico/hammerhead/config.mk
>  create mode 100644 board/miromico/hammerhead/eth.c
>  create mode 100644 board/miromico/hammerhead/hammerhead.c
>  create mode 100644 board/miromico/hammerhead/u-boot.lds
>  create mode 100644 include/configs/hammerhead.h
> 
> diff --git a/MAKEALL b/MAKEALL
> index f40de23..89b68a5 100755
> --- a/MAKEALL
> +++ b/MAKEALL
> @@ -699,6 +699,7 @@ LIST_avr32="		\
>  	atstk1004	\
>  	atstk1006	\
>  	atngw100	\
> +	hammerhead	\
>  "
>  
>  #########################################################################
> diff --git a/Makefile b/Makefile
> index 154e592..09bae45 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2885,6 +2885,9 @@ atstk1006_config	:	unconfig
>  atngw100_config	:	unconfig
>  	@$(MKCONFIG) $(@:_config=) avr32 at32ap atngw100 atmel at32ap700x
>  
> +hammerhead_config	:	unconfig
> +	@$(MKCONFIG) $(@:_config=) avr32 at32ap hammerhead miromico at32ap700x
> +
>  #########################################################################
>  #########################################################################
>  #########################################################################
> diff --git a/board/miromico/hammerhead/Makefile b/board/miromico/hammerhead/Makefile
> new file mode 100644
> index 0000000..c5fc67a
> --- /dev/null
> +++ b/board/miromico/hammerhead/Makefile
> @@ -0,0 +1,40 @@
> +#
> +# Copyright (C) 2008 Miromico AG
> +#
> +# 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).a
> +
> +COBJS	:= $(BOARD).o eth.o
> +
> +SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
> +OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
> +
> +$(LIB): $(obj).depend $(OBJS)
> +	$(AR) $(ARFLAGS) $@ $(OBJS)
> +
> +#########################################################################
> +
> +# defines $(obj).depend target
> +include $(SRCTREE)/rules.mk
> +
> +sinclude $(obj).depend
> +
> +#########################################################################
> diff --git a/board/miromico/hammerhead/config.mk b/board/miromico/hammerhead/config.mk
> new file mode 100644
> index 0000000..9a794e5
> --- /dev/null
> +++ b/board/miromico/hammerhead/config.mk
> @@ -0,0 +1,3 @@
> +TEXT_BASE		= 0x00000000
> +PLATFORM_RELFLAGS	+= -ffunction-sections -fdata-sections
> +PLATFORM_LDFLAGS	+= --gc-sections
> diff --git a/board/miromico/hammerhead/eth.c b/board/miromico/hammerhead/eth.c
> new file mode 100644
> index 0000000..969c48e
> --- /dev/null
> +++ b/board/miromico/hammerhead/eth.c
> @@ -0,0 +1,37 @@
> +/*
> + * Copyright (C) 2008 Miromico AG
> + *
> + * Ethernet initialization for the Miromico Hammerhead AVR32 board
> + *
> + * Mostly copied form Atmel ATNGW100 sources
> + *
> + * 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/arch/memory-map.h>
> +
> +extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
> +
> +#ifdef CONFIG_CMD_NET
> +void board_eth_initialize(bd_t *bi)
> +{
> +	macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
> +}
> +#endif
> diff --git a/board/miromico/hammerhead/hammerhead.c b/board/miromico/hammerhead/hammerhead.c
> new file mode 100644
> index 0000000..69ff7fa
> --- /dev/null
> +++ b/board/miromico/hammerhead/hammerhead.c
> @@ -0,0 +1,105 @@
> +/*
> + * Copyright (C) 2008 Miromico AG
> + *
> + * Mostly copied form atmel ATNGW100 sources
> + *
> + * 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 "../cpu/at32ap/at32ap700x/sm.h"
> +
> +#include <common.h>
> +
> +#include <asm/io.h>
> +#include <asm/sdram.h>
> +#include <asm/arch/clk.h>
> +#include <asm/arch/gpio.h>
> +#include <asm/arch/hmatrix.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +static const struct sdram_config sdram_config = {
> +	.data_bits	= SDRAM_DATA_32BIT,
> +	.row_bits	= 13,
> +	.col_bits	= 9,
> +	.bank_bits	= 2,
> +	.cas		= 3,
> +	.twr		= 2,
> +	.trc		= 7,
> +	.trp		= 2,
> +	.trcd		= 2,
> +	.tras		= 5,
> +	.txsr		= 5,
> +	/* 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));
> +
> +	gpio_enable_ebi();
> +	gpio_enable_usart1();
> +
> +#if defined(CONFIG_MACB)
> +	gpio_enable_macb0();
> +#endif
> +#if defined(CONFIG_MMC)
> +	gpio_enable_mmci();
> +#endif
> +
> +	/* Select GCLK3 peripheral function. We'll need it as clock output
> +	 * for ethernet PHY. */
> +	gpio_enable_gclk3();
> +	return 0;
> +}
> +
> +long int initdram(int board_type)
> +{
> +	unsigned long expected_size;
> +	unsigned long actual_size;
> +	void *sdram_base;
> +
> +	sdram_base = map_physmem(EBI_SDRAM_BASE, EBI_SDRAM_SIZE, MAP_NOCACHE);
> +
> +	expected_size = sdram_init(sdram_base, &sdram_config);
> +	actual_size = get_ram_size(sdram_base, expected_size);
> +
> +	unmap_physmem(sdram_base, EBI_SDRAM_SIZE);
> +
> +	if (expected_size != actual_size)
> +		printf("Warning: Only %u of %u MiB SDRAM is working\n",
> +		       actual_size >> 20, expected_size >> 20);
> +
> +	return actual_size;
> +}
> +
> +void board_init_info(void)
> +{
> +	gd->bd->bi_phy_id[0] = 0x01;
> +}
> +
> +void gclk_init(void)

Hmm...I'm not crazy about adding another board init hook here. Can you
move this stuff into board_early_init_f()?

No, I suppose it needs to go after cpu_init()...

<looks@the stinking pile of crap called common.h>

<cringes@the number of #ifdefs in most arches' init sequence>

Not a single arch seems to implement all the board-specific initcalls.
Help, please?

> +{
> +	/* Hammerhead boards uses GCLK3 as 25MHz output to ethernet PHY */
> +
> +	/* Enable GCLK3 with no input divider, from OSC0 (crystal) */
> +	sm_writel( PM_GCCTRL(3), SM_BIT(CEN) );

In any case, please drop the extra spaces after '(' and before ')'.

> +}

> diff --git a/board/miromico/hammerhead/u-boot.lds b/board/miromico/hammerhead/u-boot.lds
> new file mode 100644
> index 0000000..e736adf
> --- /dev/null
> +++ b/board/miromico/hammerhead/u-boot.lds
> @@ -0,0 +1,73 @@
> +/* -*- Fundamental -*-
> + *
> + * Copyright (C) 2005-2006 Atmel Corporation
> + *
> + * 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-avr32", "elf32-avr32", "elf32-avr32")
> +OUTPUT_ARCH(avr32)
> +ENTRY(_start)
> +
> +SECTIONS
> +{
> +	. = 0;
> +	_text = .;
> +	.text : {
> +		*(.exception.text)
> +		*(.text)
> +		*(.text.*)
> +	}
> +	_etext = .;
> +
> +	.rodata : {
> +		*(.rodata)
> +		*(.rodata.*)
> +	}
> +
> +	. = ALIGN(8);
> +	_data = .;
> +	.data : {
> +		*(.data)
> +		*(.data.*)
> +	}
> +
> +	. = ALIGN(4);
> +	__u_boot_cmd_start = .;
> +	.u_boot_cmd : {
> +		KEEP(*(.u_boot_cmd))
> +	}
> +	__u_boot_cmd_end = .;
> +
> +	. = ALIGN(4);
> +	_got = .;
> +	.got : {
> +		*(.got)
> +	}
> +	_egot = .;
> +
> +	. = ALIGN(8);
> +	_edata = .;
> +
> +	.bss : {
> +		*(.bss)
> +		*(.bss.*)
> +	}
> +	. = ALIGN(8);
> +	_end = .;
> +}
> diff --git a/cpu/at32ap/at32ap700x/gpio.c b/cpu/at32ap/at32ap700x/gpio.c
> index 859124a..2b7717f 100644
> --- a/cpu/at32ap/at32ap700x/gpio.c
> +++ b/cpu/at32ap/at32ap700x/gpio.c
> @@ -142,3 +142,14 @@ void gpio_enable_mmci(void)
>  	gpio_select_periph_A(GPIO_PIN_PA15, 0);	/* DATA3 */
>  }
>  #endif
> +
> +/*
> + * Hammerhead board uses GCLK3 (Periph A on PB29) as 25MHz clock output
> + * for ethernet PHY.
> + */
> +void __gpio_enable_gclk3(void)
> +{
> +	gpio_select_periph_A(GPIO_PIN_PB29, 0); /* GCLK3         */
> +}
> +
> +void gpio_enable_gclk3(void) __attribute__((weak, alias("__gpio_enable_gclk3")));

Hmm...what's the point here? I don't think there are that many ways to
enable gclk3...?

In fact, I'm sort of thinking it might be better to just open-code this
in the board file. It's only a single line of code...

> diff --git a/cpu/at32ap/at32ap700x/sm.h b/cpu/at32ap/at32ap700x/sm.h
> index 6492c8e..b6e4409 100644
> --- a/cpu/at32ap/at32ap700x/sm.h
> +++ b/cpu/at32ap/at32ap700x/sm.h
> @@ -21,7 +21,7 @@
>  #define SM_PM_IMR				0x0048
>  #define SM_PM_ISR				0x004c
>  #define SM_PM_ICR				0x0050
> -#define SM_PM_GCCTRL				0x0060
> +#define SM_PM_GCCTRL(x)				(0x0060 + 4 * x)
>  #define SM_RTC_CTRL				0x0080
>  #define SM_RTC_VAL				0x0084
>  #define SM_RTC_TOP				0x0088
> diff --git a/cpu/at32ap/cpu.c b/cpu/at32ap/cpu.c
> index 0ba8361..4a92aab 100644
> --- a/cpu/at32ap/cpu.c
> +++ b/cpu/at32ap/cpu.c
> @@ -65,6 +65,11 @@ int cpu_init(void)
>  	sysreg_write(EVBA, (unsigned long)&_evba);
>  	asm volatile("csrf	%0" : : "i"(SYSREG_EM_OFFSET));
>  
> +	if(gclk_init)
> +	{
> +		gclk_init();
> +	}
> +

Please remove the superfluous braces.

>  	return 0;
>  }
>  
> diff --git a/include/asm-avr32/arch-at32ap700x/clk.h b/include/asm-avr32/arch-at32ap700x/clk.h
> index 4a1dd33..63671db 100644
> --- a/include/asm-avr32/arch-at32ap700x/clk.h
> +++ b/include/asm-avr32/arch-at32ap700x/clk.h
> @@ -76,6 +76,7 @@ static inline unsigned long get_mci_clk_rate(void)
>  #endif
>  
>  extern void clk_init(void);
> +extern void gclk_init(void) __attribute__((weak));

Hmmm...right. An undefined weak symbol evaluates to zero...

>  /* Board code may need the SDRAM base clock as a compile-time constant */
>  #define SDRAMC_BUS_HZ	(MAIN_CLK_RATE >> CFG_CLKDIV_HSB)
> diff --git a/include/asm-avr32/arch-at32ap700x/gpio.h b/include/asm-avr32/arch-at32ap700x/gpio.h
> index b10a3e4..c350d54 100644
> --- a/include/asm-avr32/arch-at32ap700x/gpio.h
> +++ b/include/asm-avr32/arch-at32ap700x/gpio.h
> @@ -216,5 +216,8 @@ void gpio_enable_macb1(void);
>  #ifdef AT32AP700x_CHIP_HAS_MMCI
>  void gpio_enable_mmci(void);
>  #endif
> +#ifdef CONFIG_HAMMERHEAD
> +void gpio_enable_gclk3(void);
> +#endif

Please remove the #ifdef.

>  #endif /* __ASM_AVR32_ARCH_GPIO_H__ */
> diff --git a/include/configs/hammerhead.h b/include/configs/hammerhead.h
> new file mode 100644
> index 0000000..6699aea
> --- /dev/null
> +++ b/include/configs/hammerhead.h
> @@ -0,0 +1,179 @@
> +/*
> + * Copyright (C) 2008 Miromico AG
> + *
> + * Configuration settings for the Miromico Hammerhead AVR32 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 __CONFIG_H
> +#define __CONFIG_H
> +
> +#define CONFIG_AVR32			1
> +#define CONFIG_AT32AP			1
> +#define CONFIG_AT32AP7000		1
> +#define CONFIG_HAMMERHEAD		1
> +
> +#define CFG_HZ				1000
> +
> +/*
> + * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
> + * frequency, the HSB and PBB busses to run at 1/2 the PLL frequency
> + * and the PBA bus to run at 1/4 the PLL frequency.
> + */
> +#define CONFIG_PLL			1
> +#define CFG_POWER_MANAGER		1
> +#define CFG_OSC0_HZ			25000000  /* 25MHz crystal */
> +#define CFG_PLL0_DIV			1
> +#define CFG_PLL0_MUL			5

This gives (25000000 / 1) * 5 = 125 MHz. Please update the comment.

Sure you don't wanna crank it up to 150 MHz, btw? ;-)

> +#define CFG_PLL0_SUPPRESS_CYCLES	16
> +#define CFG_CLKDIV_CPU			0
> +#define CFG_CLKDIV_HSB			1
> +#define CFG_CLKDIV_PBA			2
> +#define CFG_CLKDIV_PBB			1
> +
> +/*
> + * 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 CFG_PLL0_OPT			0x04
> +
> +#define CONFIG_USART1			1
> +
> +#define CONFIG_HOSTNAME			hammerhead
> +
> +/* User serviceable stuff */
> +#define CONFIG_DOS_PARTITION		1
> +
> +#define CONFIG_CMDLINE_TAG		1
> +#define CONFIG_SETUP_MEMORY_TAGS	1
> +#define CONFIG_INITRD_TAG		1
> +
> +#define CONFIG_STACKSIZE		(2048)
> +
> +#define CONFIG_BAUDRATE			115200
> +#define CONFIG_BOOTARGS							\
> +	"console=ttyS0 root=/dev/mtdblock1 rootfstype=jffs2"

It turns out that you can use "console=ttyS0 root=mtd1
rootfstype=jffs2". That's shorter and makes it possible to boot a
kernel without Block Device support.

> +#define CONFIG_BOOTCOMMAND						\
> +	"fsload; bootm"
> +
> +/*
> + * 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			1
> +#define CONFIG_AUTOBOOT_KEYED		1
> +#define CONFIG_AUTOBOOT_PROMPT				\
> +	"Press SPACE to abort autoboot in %d seconds\n"
> +#define CONFIG_AUTOBOOT_DELAY_STR	"d"
> +#define CONFIG_AUTOBOOT_STOP_STR	" "
> +
> +/*
> + * After booting the board for the first time, new ethernet address
> + * should be generated and assigned to the environment variables
> + * "ethaddr". This is normally done during production.
> + */
> +#define CONFIG_OVERWRITE_ETHADDR_ONCE	1
> +#define CONFIG_NET_MULTI		1
> +
> +/*
> + * BOOTP/DHCP options
> + */
> +#define CONFIG_BOOTP_SUBNETMASK
> +#define CONFIG_BOOTP_GATEWAY
> +
> +#define CONFIG_DOS_PARTITION		1

You've defined this before.

> +/*
> + * Command line configuration.
> + */
> +#include <config_cmd_default.h>
> +
> +#define CONFIG_CMD_ASKENV
> +#define CONFIG_CMD_DHCP
> +#define CONFIG_CMD_EXT2
> +#define CONFIG_CMD_FAT
> +#define CONFIG_CMD_JFFS2
> +#define CONFIG_CMD_MMC
> +#undef CONFIG_CMD_FPGA
> +#undef CONFIG_CMD_SETGETDCR
> +
> +#define CONFIG_ATMEL_USART		1
> +#define CONFIG_MACB			1
> +#define CONFIG_PIO2			1
> +#define CFG_NR_PIOS			5
> +#define CFG_HSDRAMC			1
> +#define CONFIG_MMC			1
> +
> +#define CFG_DCACHE_LINESZ		32
> +#define CFG_ICACHE_LINESZ		32
> +
> +#define CONFIG_NR_DRAM_BANKS		1
> +
> +#define CFG_FLASH_CFI			1
> +#define CFG_FLASH_CFI_DRIVER		1
> +
> +#define CFG_FLASH_BASE			0x00000000
> +#define CFG_FLASH_SIZE			0x800000
> +#define CFG_MAX_FLASH_BANKS		1
> +#define CFG_MAX_FLASH_SECT		135
> +
> +#define CFG_MONITOR_BASE		CFG_FLASH_BASE
> +
> +#define CFG_INTRAM_BASE			0x24000000
> +#define CFG_INTRAM_SIZE			0x8000
> +
> +#define CFG_SDRAM_BASE			0x10000000
> +
> +#define CFG_ENV_IS_IN_FLASH		1
> +#define CFG_ENV_SIZE			65536
> +#define CFG_ENV_ADDR			(CFG_FLASH_BASE + CFG_FLASH_SIZE - CFG_ENV_SIZE)
> +
> +#define CFG_INIT_SP_ADDR		(CFG_INTRAM_BASE + CFG_INTRAM_SIZE)
> +
> +#define CFG_MALLOC_LEN			(256*1024)
> +#define CFG_MALLOC_END							\
> +	({								\
> +		DECLARE_GLOBAL_DATA_PTR;				\
> +		CFG_SDRAM_BASE + gd->sdram_size;			\
> +	})
> +#define CFG_MALLOC_START		(CFG_MALLOC_END - CFG_MALLOC_LEN)

I don't think CFG_MALLOC_END and CFG_MALLOC_START is used anywhere.
Please remove them.

> +
> +#define CFG_DMA_ALLOC_LEN		(16384)
> +
> +/* Allow 4MB for the kernel run-time image */
> +#define CFG_LOAD_ADDR			(CFG_SDRAM_BASE + 0x00400000)
> +#define CFG_BOOTPARAMS_LEN		(16 * 1024)
> +
> +/* Other configuration settings that shouldn't have to change all that often */
> +#define CFG_PROMPT			"Uboot> "

Some people think "U-Boot> " looks nicer. Or you can make it something
custom, e.g. "Hammerhead> ". It's up to you, really.

> +#define CFG_CBSIZE			256
> +#define CFG_MAXARGS			16
> +#define CFG_PBSIZE			(CFG_CBSIZE + sizeof(CFG_PROMPT) + 16)
> +#define CFG_LONGHELP			1
> +
> +#define CFG_MEMTEST_START		CFG_SDRAM_BASE
> +#define CFG_MEMTEST_END			(CFG_MEMTEST_START + 0x1f00000)
> +
> +#define CFG_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
> +
> +#endif /* __CONFIG_H */
> diff --git a/net/eth.c b/net/eth.c
> index c4f24c6..054a9fd 100644
> --- a/net/eth.c
> +++ b/net/eth.c
> @@ -65,6 +65,7 @@ extern int atngw100_eth_initialize(bd_t *);
>  extern int mcffec_initialize(bd_t*);
>  extern int mcdmafec_initialize(bd_t*);
>  extern int at91sam9_eth_initialize(bd_t *);
> +extern int board_eth_initialize(bd_t *);
>  
>  #ifdef CONFIG_API
>  extern void (*push_packet)(volatile void *, int);
> @@ -291,6 +292,9 @@ int eth_initialize(bd_t *bis)
>  #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
>  	at91sam9_eth_initialize(bis);
>  #endif
> +#if defined(CONFIG_HAMMERHEAD)
> +	board_eth_initialize(bis);
> +#endif

Hmm...this needs to be coordinated with Ben Warren's ethernet init
patches somehow.

If you call it "board_eth_init()" instead, we can simply chop off this
hunk when Ben's patches are in, and it will all Just Work. Hopefully.

>  
>  	if (!eth_devices) {
>  		puts ("No ethernet found.\n");

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-23 13:00   ` Haavard Skinnemoen
@ 2008-06-23 17:14     ` Julien May
  2008-06-24  6:31       ` Ben Warren
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-06-23 17:14 UTC (permalink / raw)
  To: u-boot



On Mon, 23 Jun 2008, Haavard Skinnemoen wrote:

> Julien May <mailinglist@miromico.ch> wrote:
> > 
> > Signed-off-by: Julien May <mailinglist@miromico.ch>
> 
> Could you add a few lines describing the Hammerhead board, perhaps with
> a link to your site?

You'll find a short desc. of the hammerhead board on top of the
inc. patch below.

> 
> This looks pretty good to me. I have a few comments below, and I've
> Cc'ed u-boot-users so that more people can comment on this. Please keep
> them in the loop whenever you post a new version of this patch.
> 
> If you want, I can apply this to my tree as is, and you can send me
> incremental patches fixing up the remaining issues. I'll fold
> everything into a single patch before sending it upstream.
> 

Would be great if you could apply the patch to your tree. Please find
below the incremental patch that should fix all of the remaining issues.

- Julien May

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-23 17:14     ` Julien May
@ 2008-06-24  6:31       ` Ben Warren
  2008-06-24  7:11         ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Ben Warren @ 2008-06-24  6:31 UTC (permalink / raw)
  To: u-boot

Hi Julien,

Julien May wrote:
> On Mon, 23 Jun 2008, Haavard Skinnemoen wrote:
>
>   
>> Julien May <mailinglist@miromico.ch> wrote:
>>     
>>> Signed-off-by: Julien May <mailinglist@miromico.ch>
>>>       
>> Could you add a few lines describing the Hammerhead board, perhaps with
>> a link to your site?
>>     
>
> You'll find a short desc. of the hammerhead board on top of the
> inc. patch below.
>
>   
Please don't do incremental patches.  Just re-submit.
>> This looks pretty good to me. I have a few comments below, and I've
>> Cc'ed u-boot-users so that more people can comment on this. Please keep
>> them in the loop whenever you post a new version of this patch.
>>
>> If you want, I can apply this to my tree as is, and you can send me
>> incremental patches fixing up the remaining issues. I'll fold
>> everything into a single patch before sending it upstream.
>>
>>     
>
> Would be great if you could apply the patch to your tree. Please find
> below the incremental patch that should fix all of the remaining issues.
>
> - Julien May
>
> >From 6333f6ea0a5a16d273fe1512ecacdce9fff275f5 Mon Sep 17 00:00:00 2001
> From: Julien May <mailinglist@miromico.ch>
> Date: Mon, 23 Jun 2008 16:44:44 +0200
> Subject: [PATCH 1/1] Add support for the hammerhead (AVR32) board.
>
> The Hammerhead platform is built around a AVR32 32-bit microcontroller from Atmel.
> It offers versatile peripherals, such as ethernet, usb device, usb host etc.
>
> The board also incooperates a power supply and is a Power over Ethernet (PoE) Powered Device (PD).
>
> Additonally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is mapped into the
> 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which will cover even the most
> exceptional need of memory bandwidth. Together with the onboard video decoder the board is ready
> for video processing.
>
> For more information see: http://www.miromico.com/hammerhead
>
> Signed-off-by: Julien May <mailinglist@miromico.ch>
> ---
>  board/miromico/hammerhead/eth.c          |    2 +-
>  board/miromico/hammerhead/hammerhead.c   |    9 ++++-----
>  cpu/at32ap/at32ap700x/gpio.c             |   11 -----------
>  cpu/at32ap/cpu.c                         |    2 --
>  include/asm-avr32/arch-at32ap700x/gpio.h |    3 ---
>  include/configs/hammerhead.h             |   14 +++-----------
>  net/eth.c                                |    4 ++--
>  7 files changed, 10 insertions(+), 35 deletions(-)
>
> diff --git a/board/miromico/hammerhead/eth.c b/board/miromico/hammerhead/eth.c
> index 969c48e..056e9ca 100644
> --- a/board/miromico/hammerhead/eth.c
> +++ b/board/miromico/hammerhead/eth.c
> @@ -30,7 +30,7 @@
>  extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
>  
>  #ifdef CONFIG_CMD_NET
> -void board_eth_initialize(bd_t *bi)
> +void board_eth_init(bd_t *bi)
>  {
>  	macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
>  }
>   
board_eth_init() returns an int.  Standard UNIX, =0 on success, <0 on 
failure.
> diff --git a/board/miromico/hammerhead/hammerhead.c b/board/miromico/hammerhead/hammerhead.c
> index 69ff7fa..26d1182 100644
> --- a/board/miromico/hammerhead/hammerhead.c
> +++ b/board/miromico/hammerhead/hammerhead.c
> @@ -64,10 +64,6 @@ int board_early_init_f(void)
>  #if defined(CONFIG_MMC)
>  	gpio_enable_mmci();
>  #endif
> -
> -	/* Select GCLK3 peripheral function. We'll need it as clock output
> -	 * for ethernet PHY. */
> -	gpio_enable_gclk3();
>  	return 0;
>  }
>  
> @@ -100,6 +96,9 @@ void gclk_init(void)
>  {
>  	/* Hammerhead boards uses GCLK3 as 25MHz output to ethernet PHY */
>  
> +	/* Select GCLK3 peripheral function */
> +	gpio_select_periph_A(GPIO_PIN_PB29, 0);
> +
>  	/* Enable GCLK3 with no input divider, from OSC0 (crystal) */
> -	sm_writel( PM_GCCTRL(3), SM_BIT(CEN) );
> +	sm_writel(PM_GCCTRL(3), SM_BIT(CEN));
>  }
> diff --git a/cpu/at32ap/at32ap700x/gpio.c b/cpu/at32ap/at32ap700x/gpio.c
> index 2b7717f..859124a 100644
> --- a/cpu/at32ap/at32ap700x/gpio.c
> +++ b/cpu/at32ap/at32ap700x/gpio.c
> @@ -142,14 +142,3 @@ void gpio_enable_mmci(void)
>  	gpio_select_periph_A(GPIO_PIN_PA15, 0);	/* DATA3 */
>  }
>  #endif
> -
> -/*
> - * Hammerhead board uses GCLK3 (Periph A on PB29) as 25MHz clock output
> - * for ethernet PHY.
> - */
> -void __gpio_enable_gclk3(void)
> -{
> -	gpio_select_periph_A(GPIO_PIN_PB29, 0); /* GCLK3         */
> -}
> -
> -void gpio_enable_gclk3(void) __attribute__((weak, alias("__gpio_enable_gclk3")));
> diff --git a/cpu/at32ap/cpu.c b/cpu/at32ap/cpu.c
> index 4a92aab..1a13702 100644
> --- a/cpu/at32ap/cpu.c
> +++ b/cpu/at32ap/cpu.c
> @@ -66,9 +66,7 @@ int cpu_init(void)
>  	asm volatile("csrf	%0" : : "i"(SYSREG_EM_OFFSET));
>  
>  	if(gclk_init)
> -	{
>  		gclk_init();
> -	}
>  
>  	return 0;
>  }
> diff --git a/include/asm-avr32/arch-at32ap700x/gpio.h b/include/asm-avr32/arch-at32ap700x/gpio.h
> index c350d54..b10a3e4 100644
> --- a/include/asm-avr32/arch-at32ap700x/gpio.h
> +++ b/include/asm-avr32/arch-at32ap700x/gpio.h
> @@ -216,8 +216,5 @@ void gpio_enable_macb1(void);
>  #ifdef AT32AP700x_CHIP_HAS_MMCI
>  void gpio_enable_mmci(void);
>  #endif
> -#ifdef CONFIG_HAMMERHEAD
> -void gpio_enable_gclk3(void);
> -#endif
>  
>  #endif /* __ASM_AVR32_ARCH_GPIO_H__ */
> diff --git a/include/configs/hammerhead.h b/include/configs/hammerhead.h
> index 6699aea..70123f7 100644
> --- a/include/configs/hammerhead.h
> +++ b/include/configs/hammerhead.h
> @@ -38,7 +38,7 @@
>   */
>  #define CONFIG_PLL			1
>  #define CFG_POWER_MANAGER		1
> -#define CFG_OSC0_HZ			25000000  /* 25MHz crystal */
> +#define CFG_OSC0_HZ			25000000  /* 25MHz crystal -> 125MHz clock */
>  #define CFG_PLL0_DIV			1
>  #define CFG_PLL0_MUL			5
>  #define CFG_PLL0_SUPPRESS_CYCLES	16
> @@ -71,7 +71,7 @@
>  
>  #define CONFIG_BAUDRATE			115200
>  #define CONFIG_BOOTARGS							\
> -	"console=ttyS0 root=/dev/mtdblock1 rootfstype=jffs2"
> +	"console=ttyS0 root=mtd1 rootfstype=jffs2"
>  #define CONFIG_BOOTCOMMAND						\
>  	"fsload; bootm"
>  
> @@ -101,8 +101,6 @@
>  #define CONFIG_BOOTP_SUBNETMASK
>  #define CONFIG_BOOTP_GATEWAY
>  
> -#define CONFIG_DOS_PARTITION		1
> -
>  /*
>   * Command line configuration.
>   */
> @@ -151,12 +149,6 @@
>  #define CFG_INIT_SP_ADDR		(CFG_INTRAM_BASE + CFG_INTRAM_SIZE)
>  
>  #define CFG_MALLOC_LEN			(256*1024)
> -#define CFG_MALLOC_END							\
> -	({								\
> -		DECLARE_GLOBAL_DATA_PTR;				\
> -		CFG_SDRAM_BASE + gd->sdram_size;			\
> -	})
> -#define CFG_MALLOC_START		(CFG_MALLOC_END - CFG_MALLOC_LEN)
>  
>  #define CFG_DMA_ALLOC_LEN		(16384)
>  
> @@ -165,7 +157,7 @@
>  #define CFG_BOOTPARAMS_LEN		(16 * 1024)
>  
>  /* Other configuration settings that shouldn't have to change all that often */
> -#define CFG_PROMPT			"Uboot> "
> +#define CFG_PROMPT			"Hammerhead> "
>  #define CFG_CBSIZE			256
>  #define CFG_MAXARGS			16
>  #define CFG_PBSIZE			(CFG_CBSIZE + sizeof(CFG_PROMPT) + 16)
> diff --git a/net/eth.c b/net/eth.c
> index 054a9fd..2d6f15f 100644
> --- a/net/eth.c
> +++ b/net/eth.c
>   
You won't need to touch this file.  Please see how it's done in the 
'next' branch of the net repo on git.denx.de.

regards,
Ben

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-24  6:31       ` Ben Warren
@ 2008-06-24  7:11         ` Haavard Skinnemoen
  2008-06-24 16:22           ` Ben Warren
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-06-24  7:11 UTC (permalink / raw)
  To: u-boot

Ben Warren <bwarren@qstreams.com> wrote:
> Hi Julien,
> 
> Julien May wrote:
> > On Mon, 23 Jun 2008, Haavard Skinnemoen wrote:
> >
> >   
> >> Julien May <mailinglist@miromico.ch> wrote:
> >>     
> >>> Signed-off-by: Julien May <mailinglist@miromico.ch>
> >>>       
> >> Could you add a few lines describing the Hammerhead board, perhaps with
> >> a link to your site?
> >>     
> >
> > You'll find a short desc. of the hammerhead board on top of the
> > inc. patch below.
> >
> >   
> Please don't do incremental patches.  Just re-submit.

Sorry, my fault. See below:

> >> This looks pretty good to me. I have a few comments below, and I've
> >> Cc'ed u-boot-users so that more people can comment on this. Please keep
> >> them in the loop whenever you post a new version of this patch.
> >>
> >> If you want, I can apply this to my tree as is, and you can send me
> >> incremental patches fixing up the remaining issues. I'll fold
> >> everything into a single patch before sending it upstream.
> >>
> >>     
> >
> > Would be great if you could apply the patch to your tree. Please find
> > below the incremental patch that should fix all of the remaining issues.

...though I'm not sure what the problem with incremental patches is,
assuming someone is willing to merge them before they finally go
upstream. I am willing to do that.

> > diff --git a/net/eth.c b/net/eth.c
> > index 054a9fd..2d6f15f 100644
> > --- a/net/eth.c
> > +++ b/net/eth.c
> >   
> You won't need to touch this file.  Please see how it's done in the 
> 'next' branch of the net repo on git.denx.de.

Yeah, but it you don't touch this file, it will only work in your
'next' branch. If you don't rebase your next branch, I can pull it into
my tree and get everything sorted out before the merge window. Hey,
I'll even fix up a few existing boards :-)

The other possibility is to apply the patch with this hunk present and
throw it out before I finally merge it after your changes are in. That
was my initial suggestion.

What do you think?

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-24  7:11         ` Haavard Skinnemoen
@ 2008-06-24 16:22           ` Ben Warren
  2008-06-24 19:10             ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Ben Warren @ 2008-06-24 16:22 UTC (permalink / raw)
  To: u-boot

Haavard Skinnemoen wrote:
> Ben Warren <bwarren@qstreams.com> wrote:
>   
>> Hi Julien,
>>
>> Julien May wrote:
>>     
>>> On Mon, 23 Jun 2008, Haavard Skinnemoen wrote:
>>>
>>>   
>>>       
>>>> Julien May <mailinglist@miromico.ch> wrote:
>>>>     
>>>>         
>>>>> Signed-off-by: Julien May <mailinglist@miromico.ch>
>>>>>       
>>>>>           
>>>> Could you add a few lines describing the Hammerhead board, perhaps with
>>>> a link to your site?
>>>>     
>>>>         
>>> You'll find a short desc. of the hammerhead board on top of the
>>> inc. patch below.
>>>
>>>   
>>>       
>> Please don't do incremental patches.  Just re-submit.
>>     
>
> Sorry, my fault. See below:
>
>   
Oh, I missed you suggesting that idea...
>>>> This looks pretty good to me. I have a few comments below, and I've
>>>> Cc'ed u-boot-users so that more people can comment on this. Please keep
>>>> them in the loop whenever you post a new version of this patch.
>>>>
>>>> If you want, I can apply this to my tree as is, and you can send me
>>>> incremental patches fixing up the remaining issues. I'll fold
>>>> everything into a single patch before sending it upstream.
>>>>
>>>>     
>>>>         
>>> Would be great if you could apply the patch to your tree. Please find
>>> below the incremental patch that should fix all of the remaining issues.
>>>       
>
> ...though I'm not sure what the problem with incremental patches is,
> assuming someone is willing to merge them before they finally go
> upstream. I am willing to do that.
>
>   
I personally think they're hard to follow, add unnecessary dependencies 
and pollute the changelog.  But that's just my opinion.
>>> diff --git a/net/eth.c b/net/eth.c
>>> index 054a9fd..2d6f15f 100644
>>> --- a/net/eth.c
>>> +++ b/net/eth.c
>>>   
>>>       
>> You won't need to touch this file.  Please see how it's done in the 
>> 'next' branch of the net repo on git.denx.de.
>>     
>
> Yeah, but it you don't touch this file, it will only work in your
> 'next' branch. If you don't rebase your next branch, I can pull it into
> my tree and get everything sorted out before the merge window. Hey,
> I'll even fix up a few existing boards :-)
>
> The other possibility is to apply the patch with this hunk present and
> throw it out before I finally merge it after your changes are in. That
> was my initial suggestion.
>
> What do you think?
>   
Just another fun aspect of having non-orthogonal branches and patches.  
The best solution would be for Wolfgang to pull my patch into mainline 
(for r1.3.4).  Technically, a few rounds of the submission were posted 
before the merge window closed, so maybe he'll be in a good mood after 
vacation :)  Otherwise, I don't care - your idea works.  You can move a 
few or all of the macb-using boards over and that would be cool.

cheers,
Ben

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-24 16:22           ` Ben Warren
@ 2008-06-24 19:10             ` Haavard Skinnemoen
  0 siblings, 0 replies; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-06-24 19:10 UTC (permalink / raw)
  To: u-boot

On Tue, 24 Jun 2008 09:22:13 -0700
Ben Warren <biggerbadderben@gmail.com> wrote:
> > ...though I'm not sure what the problem with incremental patches is,
> > assuming someone is willing to merge them before they finally go
> > upstream. I am willing to do that.
> >
> >   
> I personally think they're hard to follow, add unnecessary dependencies 
> and pollute the changelog.  But that's just my opinion.

I was thinking of creating some kind of "staging branch" where it could
evolve until some time before the next merge window. Then I'd just do a
"git rebase -i master" and suck it into my main branch as a single
commit, so the changelog should end up nice and tidy. Sort of like how
-mm works, except using git instead of quilt.

Not sure if it's a good idea or not...I still feel my workflow isn't
fully optimized ;-)

The alternative is doing a few more full respins on the mailing lists.
I personally think full patches get tiresome to review on the third
respin or so...so I kinda prefer incremental patches once things are
in reasonably good shape.
  
> Just another fun aspect of having non-orthogonal branches and patches.  
> The best solution would be for Wolfgang to pull my patch into mainline 
> (for r1.3.4).  Technically, a few rounds of the submission were posted 
> before the merge window closed, so maybe he'll be in a good mood after 
> vacation :)  Otherwise, I don't care - your idea works.  You can move a 
> few or all of the macb-using boards over and that would be cool.

I think I'll create a "hammerhead" branch and pull your "next" branch
into it. It will be kind of volatile anyway since I intend to rebase it
at least once before doing the final merge, so if it doesn't work out,
I can always drop your tree.

That said, your patch paves the way for a lot of nice cleanups in
net/eth.c, so IMO it would be a pity to have to wait another release
cycle before starting that work. In other words, feel free to add a
huge Acked-by from me and push it for 1.3.4 :-)

As for the other macb-using boards...maybe it would be easier to take
that through your tree? Heh, non-orthogonal patches again...

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-06-23 11:58 ` [U-Boot-Users] [PATCH 1/1] " Julien May
@ 2008-07-23 14:24   ` Haavard Skinnemoen
  2008-07-23 14:50     ` Julien May
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-23 14:24 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
>  MAKEALL                                  |    1 +
>  Makefile                                 |    3 +
>  board/miromico/hammerhead/Makefile       |   40 +++++++
>  board/miromico/hammerhead/config.mk      |    3 +
>  board/miromico/hammerhead/eth.c          |   37 ++++++
>  board/miromico/hammerhead/hammerhead.c   |  105 +++++++++++++++++
>  board/miromico/hammerhead/u-boot.lds     |   73 ++++++++++++
>  cpu/at32ap/at32ap700x/gpio.c             |   11 ++
>  cpu/at32ap/at32ap700x/sm.h               |    2 +-
>  cpu/at32ap/cpu.c                         |    5 +
>  include/asm-avr32/arch-at32ap700x/clk.h  |    1 +
>  include/asm-avr32/arch-at32ap700x/gpio.h |    3 +
>  include/configs/hammerhead.h             |  179 ++++++++++++++++++++++++++++++
>  net/eth.c                                |    4 +

I was just going to rebase and fold the hammerhead patch to prepare it
for the next merge window when I noticed that MAINTAINERS isn't updated.

Can you send me a patch adding yourself to MAINTAINERS, assuming you're
the one that will be maintaining this board?

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-23 14:24   ` Haavard Skinnemoen
@ 2008-07-23 14:50     ` Julien May
  2008-07-23 15:20       ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-07-23 14:50 UTC (permalink / raw)
  To: u-boot

Hi & welcome back from holiday :)

According to your request...

- Julien

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-23 14:50     ` Julien May
@ 2008-07-23 15:20       ` Haavard Skinnemoen
  2008-07-23 15:46         ` [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM Fundu
  2008-07-23 15:53         ` [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board Julien May
  0 siblings, 2 replies; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-23 15:20 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> Hi & welcome back from holiday :)

Thanks :)

> According to your request...

This was rather more than I asked for, and it didn't apply to the
hammerhead branch I already had.

After resolving the conflicts, I ended up with just a change to
MAINTAINERS, so I've committed only that part. The rest is already
there (except the net/eth.c stuff which shouldn't be necessary anymore
after Ben's patch hit mainline)

Could you have a look at the result at

	git://git.denx.de/u-boot-avr32.git hammerhead

If it looks ok to you (and still works), I'll fold it all into a single
patch tomorrow. The commit messages are somewhat bogus...I'll fix it up
at the same time.

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM
  2008-07-23 15:20       ` Haavard Skinnemoen
@ 2008-07-23 15:46         ` Fundu
  2008-07-23 15:50           ` [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boardsskipping " Hugo Villeneuve
  2008-07-23 15:53         ` [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board Julien May
  1 sibling, 1 reply; 25+ messages in thread
From: Fundu @ 2008-07-23 15:46 UTC (permalink / raw)
  To: u-boot

when would you not want to relocate ? 

my understanding was when the bootldr come up it first runs the monitor and then relocates to ram and shoots off from there. right ? 

any clarification would be appreciated. TIA !

> Date: Tue, 22 Jul 2008 14:20:15 +0200
> From: linux at bohmer.net
> To: u-boot-users at lists.sourceforge.net; wd at denx.de
> CC: joakim.tjernlund at transmode.se
> Subject: [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM
>
> If CONFIG_SKIP_RELOCATE_UBOOT is set the flag GD_FLG_RELOC is usually never
> set, because relocation to RAM is actually never done by U-boot itself.
> However, several pieces of code check if this flag is set at some time.
>
> So, to make sure this flag is set on boards skipping relocation, this
> is added to the initialisation of U-boot at a moment where it is safe
> to do so.
>
> Signed-off-by: Remy Bohmer <linux@bohmer.net>
> ---
> lib_arm/board.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> Index: u-boot-git-almost-1.3.4/lib_arm/board.c
> ===================================================================
> --- u-boot-git-almost-1.3.4.orig/lib_arm/board.c 2008-07-21 11:53:23.000000000 +0200
> +++ u-boot-git-almost-1.3.4/lib_arm/board.c 2008-07-21 12:25:32.000000000 +0200
> @@ -233,6 +233,17 @@ static int init_func_i2c (void)
> }
> #endif
>
> +#ifdef CONFIG_SKIP_RELOCATE_UBOOT
> +/*
> + * This routine sets the relocation done flag, because even if
> + * relocation is skipped, the flag is used by other generic code.
> + */
> +static int reloc_init(void)
> +{
> + gd->flags |= GD_FLG_RELOC;
> +}
> +#endif
> +
> /*
> * Breathe some life into the board...
> *
> @@ -262,6 +273,11 @@ int print_cpuinfo (void); /* test-only *
>
> init_fnc_t *init_sequence[] = {
> cpu_init, /* basic cpu dependent setup */
> +#if defined(CONFIG_SKIP_RELOCATE_UBOOT)
> + reloc_init, /* Set the relocation done flag, must
> + do this AFTER cpu_init(), but as soon
> + as possible */
> +#endif
> board_init, /* basic board dependent setup */
> interrupt_init, /* set up exceptions */
> env_init, /* initialize environment */
>
> --
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users


      

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boardsskipping relocation to RAM
  2008-07-23 15:46         ` [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM Fundu
@ 2008-07-23 15:50           ` Hugo Villeneuve
  0 siblings, 0 replies; 25+ messages in thread
From: Hugo Villeneuve @ 2008-07-23 15:50 UTC (permalink / raw)
  To: u-boot

u-boot-users-bounces at lists.sourceforge.net wrote:
> when would you not want to relocate ?

Hi,
On some platforms U-Boot is loaded from flash to RAM memory by a ROM bootloader.

Hugo V.

Hugo Villeneuve
Hardware developer | Concepteur mat?riel
Lyrtech
Phone/T?l. : (1) (418) 877-4644 #2395
Toll-free/Sans frais - Canada & USA : (1) (888) 922-4644 #2395
Fax/T?l?c. : (1) (418) 877-7710
www.lyrtech.com
Infinite possibilities...TM

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-23 15:20       ` Haavard Skinnemoen
  2008-07-23 15:46         ` [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM Fundu
@ 2008-07-23 15:53         ` Julien May
  2008-07-24  7:43           ` Haavard Skinnemoen
  1 sibling, 1 reply; 25+ messages in thread
From: Julien May @ 2008-07-23 15:53 UTC (permalink / raw)
  To: u-boot



On Wed, 23 Jul 2008, Haavard Skinnemoen wrote:

> Julien May <mailinglist@miromico.ch> wrote:
> > Hi & welcome back from holiday :)
> 
> Thanks :)
> 
> > According to your request...
> 
> This was rather more than I asked for, and it didn't apply to the
> hammerhead branch I already had.
> 
> After resolving the conflicts, I ended up with just a change to
> MAINTAINERS, so I've committed only that part. The rest is already
> there (except the net/eth.c stuff which shouldn't be necessary anymore
> after Ben's patch hit mainline)
> 
> Could you have a look at the result at
> 
> 	git://git.denx.de/u-boot-avr32.git hammerhead
> 
> If it looks ok to you (and still works), I'll fold it all into a single
> patch tomorrow. The commit messages are somewhat bogus...I'll fix it up
> at the same time.

Currently I even cannot compile it, due to some not only to our board 
related errors. I'll check them and give you feedback asap or not 
later than tomorrow.

- Julien

> 
> Haavard
> 

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-23 15:53         ` [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board Julien May
@ 2008-07-24  7:43           ` Haavard Skinnemoen
  2008-07-24  7:46             ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-24  7:43 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> Currently I even cannot compile it, due to some not only to our board 
> related errors. I'll check them and give you feedback asap or not 
> later than tomorrow.

Oh...right. I did fix those, but I forgot to pull them in.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24  7:43           ` Haavard Skinnemoen
@ 2008-07-24  7:46             ` Haavard Skinnemoen
  2008-07-24  8:12               ` Julien May
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-24  7:46 UTC (permalink / raw)
  To: u-boot

Haavard Skinnemoen <haavard.skinnemoen@atmel.com> wrote:
> Julien May <mailinglist@miromico.ch> wrote:
> > Currently I even cannot compile it, due to some not only to our board 
> > related errors. I'll check them and give you feedback asap or not 
> > later than tomorrow.  
> 
> Oh...right. I did fix those, but I forgot to pull them in.

Done. I've also applied a couple of other fixes due to recent API
changes, so it should at least build now.

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24  7:46             ` Haavard Skinnemoen
@ 2008-07-24  8:12               ` Julien May
  2008-07-24  8:25                 ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-07-24  8:12 UTC (permalink / raw)
  To: u-boot



On Thu, 24 Jul 2008, Haavard Skinnemoen wrote:

> Haavard Skinnemoen <haavard.skinnemoen@atmel.com> wrote:
> > Julien May <mailinglist@miromico.ch> wrote:
> > > Currently I even cannot compile it, due to some not only to our board 
> > > related errors. I'll check them and give you feedback asap or not 
> > > later than tomorrow.  
> > 
> > Oh...right. I did fix those, but I forgot to pull them in.
> 
> Done. I've also applied a couple of other fixes due to recent API
> changes, so it should at least build now.

Ah great!

Are those already committed to your hammerhead branch? Right now I 
couldn't pull anything new. 

Maybe you can check those in so that I can pull and test the u-boot.

- Julien

> 
> Haavard
> 

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24  8:12               ` Julien May
@ 2008-07-24  8:25                 ` Haavard Skinnemoen
  2008-07-24 10:18                   ` Julien May
       [not found]                   ` <5162.7856-9591-1754018913-1216907464@seznam.cz>
  0 siblings, 2 replies; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-24  8:25 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> On Thu, 24 Jul 2008, Haavard Skinnemoen wrote:
> > Done. I've also applied a couple of other fixes due to recent API
> > changes, so it should at least build now.
> 
> Ah great!
> 
> Are those already committed to your hammerhead branch? Right now I 
> couldn't pull anything new. 
> 
> Maybe you can check those in so that I can pull and test the u-boot.

Hmm...they _should_ be there:

hskinnemoen at hskinnemo-gx745:~/work/u-boot/hammerhead$ git remote show avr32
* remote avr32
  URL: git://git.denx.de/u-boot-avr32.git
  Tracked remote branches
    atmel-1.3.0 atmel-1.3.1 format-warnings hammerhead master spiflash stk1000-lcd
hskinnemoen at hskinnemo-gx745:~/work/u-boot/hammerhead$ git show --stat avr32/hammerhead
commit 50ca883c61c88f463fc4d8e635b7aa195fffdb65
Author: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Date:   Thu Jul 24 09:44:01 2008 +0200

    hammerhead: Define CONFIG_ATMEL_MCI
    
    Since the MMC driver was moved into drivers/mmc, you now need to define
    CONFIG_ATMEL_MCI in addition to CONFIG_MMC to include it.
    
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

 include/configs/hammerhead.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24  8:25                 ` Haavard Skinnemoen
@ 2008-07-24 10:18                   ` Julien May
  2008-07-24 10:30                     ` Haavard Skinnemoen
       [not found]                   ` <5162.7856-9591-1754018913-1216907464@seznam.cz>
  1 sibling, 1 reply; 25+ messages in thread
From: Julien May @ 2008-07-24 10:18 UTC (permalink / raw)
  To: u-boot

I am currently having problems in initializing the eth.

in net/eth.c the following is defined

static int __def_eth_init(bd_t *bis)
{
	return -1;
}
int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));

this is not calling my implementation of board_eth_init.
I see and like the idea behind this but do not understand why my 
implementation is not getting called...

btw. I did update the implementation function header from void to int. 

- Julien

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24 10:18                   ` Julien May
@ 2008-07-24 10:30                     ` Haavard Skinnemoen
  2008-07-24 11:18                       ` Julien May
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-24 10:30 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> I am currently having problems in initializing the eth.
> 
> in net/eth.c the following is defined
> 
> static int __def_eth_init(bd_t *bis)
> {
> 	return -1;
> }
> int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
> int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
> 
> this is not calling my implementation of board_eth_init.
> I see and like the idea behind this but do not understand why my 
> implementation is not getting called...

Hmm, that's probably the "weak functions cannot be overriden by
functions defined in their own file" crap that was discussed earlier.
Can you try moving board_eth_init() into hammerhead.c?

Which reminds me...Ben posted a patch which did that for all the
existing avr32 boards. I should probably apply it.

> btw. I did update the implementation function header from void to int. 

Yeah, that's probably a good idea too :-)

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24 10:30                     ` Haavard Skinnemoen
@ 2008-07-24 11:18                       ` Julien May
  2008-07-24 11:28                         ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-07-24 11:18 UTC (permalink / raw)
  To: u-boot



On Thu, 24 Jul 2008, Haavard Skinnemoen wrote:

> Julien May <mailinglist@miromico.ch> wrote:
> > I am currently having problems in initializing the eth.
> > 
> > in net/eth.c the following is defined
> > 
> > static int __def_eth_init(bd_t *bis)
> > {
> > 	return -1;
> > }
> > int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
> > int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
> > 
> > this is not calling my implementation of board_eth_init.
> > I see and like the idea behind this but do not understand why my 
> > implementation is not getting called...
> 
> Hmm, that's probably the "weak functions cannot be overriden by
> functions defined in their own file" crap that was discussed earlier.
> Can you try moving board_eth_init() into hammerhead.c?

Did so and it works now. I could make for this an incremental patch and 
send this to you.

> 
> Which reminds me...Ben posted a patch which did that for all the
> existing avr32 boards. I should probably apply it.

Otherwise I wait until you applied bens patch and test again hammerheads 
functionality in u-boot.

> 
> > btw. I did update the implementation function header from void to int. 
> 
> Yeah, that's probably a good idea too :-)
> 
> Haavard
> 

- Julien

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24 11:18                       ` Julien May
@ 2008-07-24 11:28                         ` Haavard Skinnemoen
  2008-07-24 11:51                           ` Julien May
  0 siblings, 1 reply; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-24 11:28 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> > Hmm, that's probably the "weak functions cannot be overriden by
> > functions defined in their own file" crap that was discussed earlier.
> > Can you try moving board_eth_init() into hammerhead.c?  
> 
> Did so and it works now. I could make for this an incremental patch and 
> send this to you.

That would be great.

> > Which reminds me...Ben posted a patch which did that for all the
> > existing avr32 boards. I should probably apply it.  
> 
> Otherwise I wait until you applied bens patch and test again hammerheads 
> functionality in u-boot.

I've applied it, but it doesn't affect hammerhead. It just does the
same change you just did to a few other boards.

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24 11:28                         ` Haavard Skinnemoen
@ 2008-07-24 11:51                           ` Julien May
  2008-07-24 14:02                             ` Haavard Skinnemoen
  0 siblings, 1 reply; 25+ messages in thread
From: Julien May @ 2008-07-24 11:51 UTC (permalink / raw)
  To: u-boot



> > Did so and it works now. I could make for this an incremental patch and 
> > send this to you.
> 
> That would be great.
> 

Please find below the incrementel patch. This patch just fixes the eth 
stuff of our board. As hopefully understood right the patch from ben 
sould fix the rest.

- Julien

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
  2008-07-24 11:51                           ` Julien May
@ 2008-07-24 14:02                             ` Haavard Skinnemoen
  0 siblings, 0 replies; 25+ messages in thread
From: Haavard Skinnemoen @ 2008-07-24 14:02 UTC (permalink / raw)
  To: u-boot

Julien May <mailinglist@miromico.ch> wrote:
> Please find below the incrementel patch. This patch just fixes the eth 
> stuff of our board. As hopefully understood right the patch from ben 
> sould fix the rest.

Yeah, that should do it, thanks. I think it's time to create a "next"
branch for this stuff now.

Haavard

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board
       [not found]                   ` <5162.7856-9591-1754018913-1216907464@seznam.cz>
@ 2008-07-29  7:29                     ` Michal Simek
  0 siblings, 0 replies; 25+ messages in thread
From: Michal Simek @ 2008-07-29  7:29 UTC (permalink / raw)
  To: u-boot

Could someone explain me what this message has relation with AVR32?
This is 100% microblaze relate problems.
Please change subject and cc to me if you have any problem with latest U-BOOT
for Microblaze.

Michal Simek



> Hi John,
> 
> look at
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/archive/2008/05/msg00163.html
> 
> Please use 
> 
>> Hi, again.
>>
>> I've used a new vendor/platform, I have the uclinux running in the same
>> target a ML501 with an older version based on ise and edk 8.2, but I need
>> approach the advantages of microblaze v7.00 and the PLB. Please thanks for
>> your help, and excuse my English.
>>
>> I don't know about inittab, and that init is selected in the application
>> menu.
>>
>>
>> 2008/7/24 Mostafa Ali <extra_brain@yahoo.com>:
>>
>>> Look there are so many reasons for this problem, Please mention more
>>> detalis(like have you used one of the predefined platforms in the
>>> vendor/platform menu or you created a new one).
>>>
>>> One of the reasons is that the kernel doesn't find a start up application.
>>> Make sure that inittab is exist in /romfs and init is selected in the
>>> application menu in petalinux configuration wizard. I need more de tails fro
>>> you, I'll be waiting.
>>>
>>> --- On *Thu, 7/24/08, John Osorio <kala855@gmail.com>* wrote:
>>>
>>> From: John Osorio <kala855@gmail.com>
>>> Subject: [microblaze-uclinux] Help with kernel boot, PLEASE
>>> To: microblaze-uclinux at itee.uq.edu.au
>>> Date: Thursday, July 24, 2008, 8:36 AM
>>>
>>>
>>>  Hi, folks
>>>
>>> I have a problem with the kernel boot, I'm using petalinux-v0.30-rc1 and
>>> kernel 2.6, my hardware is development under EDK 9.2_02 and ISE 9.2_04. When
>>> I'll try boot the image, the boot show in kermit the following:
>>>
>>>
>>> ## Booting image at 8c080000 ...
>>>    Image Name:   PetaLinux Kernel 2.6
>>>    Image Type:   Microblaze Linux Kernel Image (uncompressed)
>>>    Data Size:    2678812 Bytes =  2.6 MB
>>>    Load Address: 90000000
>>>    Entry Point:  90000000
>>>    Verifying Checksum ... OK
>>> OK
>>>
>>> That's  all I don't know, what's the problem, Please I need your Help, Bye.
>>> The boot is freeze, Kermit don't show anything
>>>
>>> --
>>> John Osorio
>>>
>>>
>>>
>>
>> -- 
>> John Osorio
>>
>>
>>
> 
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com 
> Version: 8.0.138 / Virus Database: 270.5.5/1571 - Release Date: 24.7.2008 05:42
> 
> 
> 

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2008-07-29  7:29 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-23 11:58 [U-Boot-Users] Add support for the hammerhead (AVR32) board Julien May
2008-06-23 11:58 ` [U-Boot-Users] [PATCH 1/1] " Julien May
2008-07-23 14:24   ` Haavard Skinnemoen
2008-07-23 14:50     ` Julien May
2008-07-23 15:20       ` Haavard Skinnemoen
2008-07-23 15:46         ` [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boards skipping relocation to RAM Fundu
2008-07-23 15:50           ` [U-Boot-Users] [patch 1/1] Set GD_FLG_RELOC for boardsskipping " Hugo Villeneuve
2008-07-23 15:53         ` [U-Boot-Users] [PATCH 1/1] Add support for the hammerhead (AVR32) board Julien May
2008-07-24  7:43           ` Haavard Skinnemoen
2008-07-24  7:46             ` Haavard Skinnemoen
2008-07-24  8:12               ` Julien May
2008-07-24  8:25                 ` Haavard Skinnemoen
2008-07-24 10:18                   ` Julien May
2008-07-24 10:30                     ` Haavard Skinnemoen
2008-07-24 11:18                       ` Julien May
2008-07-24 11:28                         ` Haavard Skinnemoen
2008-07-24 11:51                           ` Julien May
2008-07-24 14:02                             ` Haavard Skinnemoen
     [not found]                   ` <5162.7856-9591-1754018913-1216907464@seznam.cz>
2008-07-29  7:29                     ` Michal Simek
     [not found] <1214222272-28853-1-git-send-email-mailinglist@miromico.ch>
     [not found] ` <1214222272-28853-2-git-send-email-mailinglist@miromico.ch>
2008-06-23 13:00   ` Haavard Skinnemoen
2008-06-23 17:14     ` Julien May
2008-06-24  6:31       ` Ben Warren
2008-06-24  7:11         ` Haavard Skinnemoen
2008-06-24 16:22           ` Ben Warren
2008-06-24 19:10             ` Haavard Skinnemoen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox