public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek
@ 2010-10-16  0:41 Andreas Bießmann
  2010-10-16  0:41 ` [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-16  0:41 UTC (permalink / raw)
  To: u-boot

This patch series introduce new board support for at91rm9200ek.
The derived code is now converted to new at91 code. Arm relocation is also
implemented.

There where some tradeoffs regarding device support. Currently the code basis
does not support all devices supported before. This includes
 a) remove support for dataflash since i can not test it (yet, should follow
    in some weeks)
 b) preloader support is disabled since NOR booting does not need any first
    stage loader
 c) MMC/SD-card is currently not supported (but was not before)

Next steps are:
 - get dataflash running
 - remove at91rm9200_usart driver (should merge with atmel_usart)
 - support MMC/SD-Card (also merge with current AT91/AVR32 implementation)
 - merge emac/macb

Andreas Bie?mann (3):
  at91rm9200ek: convert to at91
  at91rm9200: enable USB support
  at91rm9200ek: enbable USB support

 MAINTAINERS                               |    4 +
 arch/arm/include/asm/arch-at91/hardware.h |    1 +
 board/atmel/at91rm9200ek/Makefile         |    1 -
 board/atmel/at91rm9200ek/at91rm9200ek.c   |   58 ++-----
 board/atmel/at91rm9200ek/config.mk        |    3 +-
 board/atmel/at91rm9200ek/led.c            |   58 ++++----
 board/atmel/at91rm9200ek/misc.c           |   50 ------
 boards.cfg                                |    2 +-
 include/configs/at91rm9200ek.h            |  233 ++++++++---------------------
 9 files changed, 118 insertions(+), 292 deletions(-)
 delete mode 100644 board/atmel/at91rm9200ek/misc.c

-- 
1.7.3.1

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-16  0:41 [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Andreas Bießmann
@ 2010-10-16  0:41 ` Andreas Bießmann
  2010-10-17 18:06   ` Reinhard Meyer
  2010-10-16  0:41 ` [U-Boot] [PATCH 2/3] at91rm9200: enable USB support Andreas Bießmann
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-16  0:41 UTC (permalink / raw)
  To: u-boot

This patch removes some functionality from at91rm9200ek board but the
remaining functionality does now work with newer at91 code and
arm-relocation.

Currently missing features are:
 - dataflash booting (due to missing HW for testing)
 - MMC/SD-Card
 - first stage bootloader support is completely removed (not needed for
   NOR)

Cause this board was (some days ago) reference for all at91rm9200 based
boards this should be a good starting point to convert all remaining
at91rm9200 borads to at91 code. Aside from that this is a good base to
get some drivers between at91sam/at91rm/avr32 merged.

Signed-off-by: Andreas Bie??mann <andreas.devel@googlemail.com>
---
 MAINTAINERS                             |    4 +
 board/atmel/at91rm9200ek/Makefile       |    1 -
 board/atmel/at91rm9200ek/at91rm9200ek.c |   58 +++------
 board/atmel/at91rm9200ek/config.mk      |    3 +-
 board/atmel/at91rm9200ek/led.c          |   58 ++++----
 board/atmel/at91rm9200ek/misc.c         |   50 -------
 boards.cfg                              |    2 +-
 include/configs/at91rm9200ek.h          |  222 ++++++++-----------------------
 8 files changed, 104 insertions(+), 294 deletions(-)
 delete mode 100644 board/atmel/at91rm9200ek/misc.c

diff --git a/MAINTAINERS b/MAINTAINERS
index aabd871..38a0dd3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -568,6 +568,10 @@ Rishi Bhattacharya <rishi@ti.com>
 
 	omap5912osk	ARM926EJS
 
+Andreas Bie?mann <andreas.devel@gmail.com>
+
+	at91rm9200ek	at91rm9200
+
 Cliff Brake <cliff.brake@gmail.com>
 
 	pxa255_idp	xscale
diff --git a/board/atmel/at91rm9200ek/Makefile b/board/atmel/at91rm9200ek/Makefile
index 500ce72..db54a32 100644
--- a/board/atmel/at91rm9200ek/Makefile
+++ b/board/atmel/at91rm9200ek/Makefile
@@ -27,7 +27,6 @@ LIB	= $(obj)lib$(BOARD).a
 
 COBJS-y += $(BOARD).o
 COBJS-y += led.o
-COBJS-y += misc.o
 ifdef CONFIG_HAS_DATAFLASH
 COBJS-$(CONFIG_DATAFLASH_MMC_SELECT) += mux.o
 COBJS-y += partition.o
diff --git a/board/atmel/at91rm9200ek/at91rm9200ek.c b/board/atmel/at91rm9200ek/at91rm9200ek.c
index 570a09a..e30212c 100644
--- a/board/atmel/at91rm9200ek/at91rm9200ek.c
+++ b/board/atmel/at91rm9200ek/at91rm9200ek.c
@@ -1,4 +1,8 @@
 /*
+ * (C) Copyright 2010 Andreas Bie??mann <andreas.devel@gmail.com>
+ *
+ * derived from older work
+ *
  * (C) Copyright 2002
  * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  * Marius Groeger <mgroeger@sysgo.de>
@@ -25,76 +29,46 @@
 #include <common.h>
 #include <exports.h>
 #include <netdev.h>
-#include <asm/arch/AT91RM9200.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/at91_pio.h>
+#include <asm/arch/at91_pmc.h>
 #include <asm/io.h>
-#if defined(CONFIG_DRIVER_ETHER)
-#include <at91rm9200_net.h>
-#include <dm9161.h>
-#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
 /* ------------------------------------------------------------------------- */
-/*
- * Miscelaneous platform dependent initialisations
- */
-
 int board_init (void)
 {
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+
 	/* Enable Ctrlc */
-	console_init_f ();
+	console_init_f();
 
 	/*
 	 * Correct IRDA resistor problem
 	 * Set PA23_TXD in Output
 	 */
-	writel(AT91C_PA23_TXD2, ((AT91PS_PIO) AT91C_BASE_PIOA)->PIO_OER);
-
-	/*
-	 * memory and cpu-speed are setup before relocation
-	 * so we do _nothing_ here
-	 */
+	writel(AT91_PMX_AA_TXD2, &pio->pioa.oer);
 
 	/* arch number of AT91RM9200EK-Board */
 	gd->bd->bi_arch_number = MACH_TYPE_AT91RM9200EK;
 	/* adress of boot parameters */
-	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
 
 	return 0;
 }
 
 int dram_init (void)
 {
-	gd->bd->bi_dram[0].start = PHYS_SDRAM;
-	gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
+	/* dram_init must store complete ramsize in gd->ram_size */
+	gd->ram_size = get_ram_size((volatile long *)CONFIG_SYS_SDRAM_BASE,
+			CONFIG_SYS_SDRAM_SIZE);
 	return 0;
 }
 
-#if defined(CONFIG_DRIVER_ETHER) && defined(CONFIG_CMD_NET)
-/*
- * Name:
- *	at91rm9200_GetPhyInterface
- * Description:
- *	Initialise the interface functions to the PHY
- * Arguments:
- *	None
- * Return value:
- *	None
- */
-void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops)
-{
-	p_phyops->Init = dm9161_InitPhy;
-	p_phyops->IsPhyConnected = dm9161_IsPhyConnected;
-	p_phyops->GetLinkSpeed = dm9161_GetLinkSpeed;
-	p_phyops->AutoNegotiate = dm9161_AutoNegotiate;
-}
-#endif
-
 #ifdef CONFIG_DRIVER_AT91EMAC
 int board_eth_init(bd_t *bis)
 {
-	int rc = 0;
-	rc = at91emac_register(bis, 0);
-	return rc;
+	return at91emac_register(bis, (u32) AT91_EMAC_BASE);
 }
 #endif
diff --git a/board/atmel/at91rm9200ek/config.mk b/board/atmel/at91rm9200ek/config.mk
index 9ce161e..7b99e02 100644
--- a/board/atmel/at91rm9200ek/config.mk
+++ b/board/atmel/at91rm9200ek/config.mk
@@ -1 +1,2 @@
-TEXT_BASE = 0x21f00000
+# currently only NOR flash booting is supported
+TEXT_BASE = 0x10000000
diff --git a/board/atmel/at91rm9200ek/led.c b/board/atmel/at91rm9200ek/led.c
index 9464952..8d512e0 100644
--- a/board/atmel/at91rm9200ek/led.c
+++ b/board/atmel/at91rm9200ek/led.c
@@ -3,6 +3,9 @@
  * Atmel Nordic AB <www.atmel.com>
  * Ulf Samuelsson <ulf@atmel.com>
  *
+ * (C) Copyright 2010
+ * Andreas Bie??mann <andreas.devel@gmail.com>
+ *
  * See file CREDITS for list of people who contributed to this
  * project.
  *
@@ -23,67 +26,62 @@
  */
 
 #include <common.h>
-#include <asm/arch/AT91RM9200.h>
-#include <asm/io.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/at91_pmc.h>
 
-#define	GREEN_LED	AT91C_PIO_PB0
-#define	YELLOW_LED	AT91C_PIO_PB1
-#define	RED_LED		AT91C_PIO_PB2
+/* bit mask in PIO port B */
+#define	GREEN_LED	(1<<0)
+#define	YELLOW_LED	(1<<1)
+#define	RED_LED		(1<<2)
 
 void	green_LED_on(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(GREEN_LED, PIOB->PIO_CODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(GREEN_LED, &pio->piob.codr);
 }
 
 void	 yellow_LED_on(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(YELLOW_LED, PIOB->PIO_CODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(YELLOW_LED, &pio->piob.codr);
 }
 
 void	 red_LED_on(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(RED_LED, PIOB->PIO_CODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(RED_LED, &pio->piob.codr);
 }
 
 void	green_LED_off(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(GREEN_LED, PIOB->PIO_SODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(GREEN_LED, &pio->piob.sodr);
 }
 
 void	yellow_LED_off(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(YELLOW_LED, PIOB->PIO_SODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(YELLOW_LED, &pio->piob.sodr);
 }
 
 void	red_LED_off(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(RED_LED, PIOB->PIO_SODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(RED_LED, &pio->piob.sodr);
 }
 
-
 void coloured_LED_init (void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-	AT91PS_PMC	PMC	= AT91C_BASE_PMC;
+	at91_pmc_t *pmc = (at91_pmc_t *)AT91_PMC_BASE;
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
 
 	/* Enable PIOB clock */
-	writel((1 << AT91C_ID_PIOB), PMC->PMC_PCER);
+	writel(1 << AT91_ID_PIOB, &pmc->pcer);
+
 	/* Disable peripherals on LEDs */
-	writel(AT91C_PIO_PB2 | AT91C_PIO_PB1 | AT91C_PIO_PB0, PIOB->PIO_PER);
+	writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.per);
 	/* Enable pins as outputs */
-	writel(AT91C_PIO_PB2 | AT91C_PIO_PB1 | AT91C_PIO_PB0, PIOB->PIO_OER);
+	writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.oer);
 	/* Turn all LEDs OFF */
-	writel(AT91C_PIO_PB2 | AT91C_PIO_PB1 | AT91C_PIO_PB0, PIOB->PIO_SODR);
+	writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.sodr);
 }
diff --git a/board/atmel/at91rm9200ek/misc.c b/board/atmel/at91rm9200ek/misc.c
deleted file mode 100644
index 81de32f..0000000
--- a/board/atmel/at91rm9200ek/misc.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.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/arch/AT91RM9200.h>
-#include <at91rm9200_net.h>
-#include <dm9161.h>
-#include <net.h>
-
-int board_late_init(void)
-{
-	DECLARE_GLOBAL_DATA_PTR;
-
-	/* Fix Ethernet Initialization Bug when starting Linux from U-Boot */
-	eth_init(gd->bd);
-	return 0;
-}
-
-
-/* checks if addr is in RAM */
-int addr2ram(ulong addr)
-{
-	int result = 0;
-
-	if((addr >= PHYS_SDRAM) && (addr < (PHYS_SDRAM + PHYS_SDRAM_SIZE)))
-		result = 1;
-
-	return result;
-}
diff --git a/boards.cfg b/boards.cfg
index 132d178..c2b4c14 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -232,7 +232,7 @@ modnet50	arm	arm720t
 lpc2292sodimm	arm	arm720t		-		-		lpc2292
 eb_cpux9k2	arm	arm920t		-		BuS		at91
 at91rm9200dk	arm	arm920t		-		atmel		at91rm9200
-at91rm9200ek	arm	arm920t		-		atmel		at91rm9200
+at91rm9200ek	arm	arm920t		-		atmel		at91
 sbc2410x	arm	arm920t		-		-		s3c24x0
 smdk2400	arm	arm920t		-		samsung		s3c24x0
 smdk2410	arm	arm920t		-		samsung		s3c24x0
diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
index 145c3c3..8e9db92 100644
--- a/include/configs/at91rm9200ek.h
+++ b/include/configs/at91rm9200ek.h
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Andreas Bie??mann <biessmann.devel@googlemail.com>
+ *
+ * Partely based on old code provided by
+ *
  * Ulf Samuelsson <ulf@atmel.com>
  * Rick Bronson <rick@efn.org>
  *
@@ -23,40 +27,49 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_AT91_LEGACY
+#ifndef __AT91RM9200EK_CONFIG_H__
+#define __AT91RM9200EK_CONFIG_H__
 
 /* ARM asynchronous clock */
 /*
  * from 18.432 MHz crystal
  * (18432000 / 4 * 39)
  */
-#define AT91C_MAIN_CLOCK	179712000
+#define AT91C_MAIN_CLOCK		179712000
 /*
  * peripheral clock
  * (AT91C_MASTER_CLOCK / 3)
  */
-#define AT91C_MASTER_CLOCK	59904000
+#define AT91C_MASTER_CLOCK		59904000
 
-#define AT91_SLOW_CLOCK		32768	/* slow clock */
+#define CONFIG_ARM920T			1 /* This is an ARM920T Core */
+#define CONFIG_AT91RM9200		1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_AT91RM9200EK		1 /* on an AT91RM9200EK Board */
+#define CONFIG_CPUAT91			1 /* we use newer AT91 code */
+#define USE_920T_MMU			1
 
-#define CONFIG_ARM920T		1	/* This is an ARM920T Core	*/
-#define CONFIG_AT91RM9200	1	/* It's an Atmel AT91RM9200 SoC	*/
-#define CONFIG_AT91RM9200EK	1	/* on an AT91RM9200EK Board	*/
-#undef  CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/
-#define USE_920T_MMU		1
+#define CONFIG_CMDLINE_TAG		1 /* enable passing of ATAGs */
+#define CONFIG_SETUP_MEMORY_TAGS	1
+#define CONFIG_INITRD_TAG		1
 
-#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs	*/
-#define CONFIG_SETUP_MEMORY_TAGS 1
-#define CONFIG_INITRD_TAG	1
+/* for convenient sizes */
+#include <asm/sizes.h>
+/*
+ * Memory Configuration
+ */
+#define CONFIG_NR_DRAM_BANKS		1
+#define CONFIG_SYS_SDRAM_BASE		0x20000000
+#define CONFIG_SYS_SDRAM_SIZE		SZ_32M
+
+#define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
+#define CONFIG_SYS_MEMTEST_END		\
+		(CONFIG_SYS_MEMTEST_START + CONFIG_SYS_SDRAM_SIZE - SZ_256K)
 
 /*
  * LowLevel Init
  */
 #ifndef CONFIG_SKIP_LOWLEVEL_INIT
-#define CONFIG_SYS_USE_MAIN_OSCILLATOR		1
+#define CONFIG_SYS_USE_MAIN_OSCILLATOR	1
 /* flash */
 #define CONFIG_SYS_EBI_CFGR_VAL	0x00000000
 #define CONFIG_SYS_SMC_CSR0_VAL	0x00003284 /* 16bit, 2 TDF, 4 WS */
@@ -73,36 +86,22 @@
 #define CONFIG_SYS_PIOC_PDR_VAL	0xFFFF0000
 #define CONFIG_SYS_EBI_CSA_VAL	0x00000002 /* CS1=CONFIG_SYS_SDRAM */
 #define CONFIG_SYS_SDRC_CR_VAL	0x2188c155 /* set up the CONFIG_SYS_SDRAM */
-#define CONFIG_SYS_SDRAM	0x20000000 /* address of the CONFIG_SYS_SDRAM */
-#define CONFIG_SYS_SDRAM1	0x20000080 /* address of the CONFIG_SYS_SDRAM */
+#define CONFIG_SYS_SDRAM	CONFIG_SYS_SDRAM_BASE /* address of the SDRAM */
+#define CONFIG_SYS_SDRAM1	CONFIG_SYS_SDRAM_BASE /* address of the SDRAM */
 #define CONFIG_SYS_SDRAM_VAL	0x00000000 /* value written to CONFIG_SYS_SDRAM */
 #define CONFIG_SYS_SDRC_MR_VAL	0x00000002 /* Precharge All */
 #define CONFIG_SYS_SDRC_MR_VAL1	0x00000004 /* refresh */
 #define CONFIG_SYS_SDRC_MR_VAL2	0x00000003 /* Load Mode Register */
 #define CONFIG_SYS_SDRC_MR_VAL3	0x00000000 /* Normal Mode */
 #define CONFIG_SYS_SDRC_TR_VAL	0x000002E0 /* Write refresh rate */
-#else
-#define CONFIG_SKIP_RELOCATE_UBOOT
 #endif	/* CONFIG_SKIP_LOWLEVEL_INIT */
 
 /* hardcode so no __divsi3 : AT91C_MASTER_CLOCK / baudrate / 16 */
 #define CONFIG_SYS_AT91C_BRGR_DIVISOR	33
 
 /*
- * Memory Configuration
- */
-#define CONFIG_NR_DRAM_BANKS		1
-#define PHYS_SDRAM			0x20000000
-#define PHYS_SDRAM_SIZE			0x02000000	/* 32 megs */
-
-#define CONFIG_SYS_MEMTEST_START	PHYS_SDRAM
-#define CONFIG_SYS_MEMTEST_END		\
-		(CONFIG_SYS_MEMTEST_START + PHYS_SDRAM_SIZE - 262144)
-
-/*
  * Hardware drivers
  */
-
 /*
  * UART Configuration
  *
@@ -113,10 +112,6 @@
 #define CONFIG_DBGU
 #undef CONFIG_USART0
 #undef CONFIG_USART1
-/* don't include RTS/CTS flow control support	*/
-#undef	CONFIG_HWFLOW
-/* disable modem initialization stuff */
-#undef	CONFIG_MODEM_SUPPORT
 
 #define CONFIG_SYS_BAUDRATE_TABLE	{115200 , 19200, 38400, 57600, 9600 }
 #define CONFIG_BAUDRATE			115200
@@ -130,59 +125,26 @@
 #define CONFIG_CMD_FAT
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_PING
-
-#undef CONFIG_CMD_BDI
-#undef CONFIG_CMD_IMI
 #undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_MISC
-#undef CONFIG_CMD_LOADS
-
-#include <asm/arch/AT91RM9200.h>	/* needed for port definitions */
-/* Options for MMC/SD Card */
-#define CONFIG_DOS_PARTITION	1
-#undef CONFIG_MMC
-#define CONFIG_SYS_MMC_BASE		0xFFFB4000
-#define CONFIG_SYS_MMC_BLOCKSIZE	512
 
+#include <asm/arch/hardware.h>	/* needed for port definitions */
 /*
  * Network Driver Setting
  */
 #define CONFIG_NET_MULTI		1
-#ifdef CONFIG_NET_MULTI
 #define CONFIG_DRIVER_AT91EMAC		1
-#define CONFIG_SYS_RX_ETH_BUFFER	8
-#else
-#define CONFIG_DRIVER_ETHER		1
-#endif
-#define CONFIG_NET_RETRY_COUNT		20
-#define CONFIG_AT91C_USE_RMII
-
-/*
- * AC Characteristics
- * DLYBS = tCSS = 250ns min and DLYBCT = tCSH = 250ns
- */
-#define DATAFLASH_TCSS	(0xC << 16)
-#define DATAFLASH_TCHS	(0x1 << 24)
-
-#if defined(CONFIG_HAS_DATAFLASH)
-#define CONFIG_SYS_SPI_WRITE_TOUT		(5 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_MAX_DATAFLASH_BANKS		2
-#define CONFIG_SYS_MAX_DATAFLASH_PAGES		16384
-/* Logical adress for CS0 */
-#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000
-/* Logical adress for CS3 */
-#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3	0xD0000000
-#define	CONFIG_SYS_SUPPORT_BLOCK_ERASE		1
-#define	CONFIG_SYS_DATAFLASH_MMC_PIO		AT91C_PIO_PB22
-#endif
+#define CONFIG_SYS_RX_ETH_BUFFER	16
+#define CONFIG_RMII			1
+#define CONFIG_MII			1
 
 /*
  * NOR Flash
  */
-#define CONFIG_SYS_FLASH_BASE			0x10000000
-#define PHYS_FLASH_SIZE				0x800000	/* 8MB */
-#define CONFIG_SYS_FLASH_CFI			1
 #define CONFIG_FLASH_CFI_DRIVER			1
+#define CONFIG_SYS_FLASH_CFI			1
+#define CONFIG_SYS_FLASH_BASE			0x10000000
+#define PHYS_FLASH_1				CONFIG_SYS_FLASH_BASE
+#define PHYS_FLASH_SIZE				SZ_8M
 #define CONFIG_SYS_MAX_FLASH_BANKS		1
 #define CONFIG_SYS_MAX_FLASH_SECT		256
 #define CONFIG_SYS_FLASH_PROTECTION
@@ -190,88 +152,26 @@
 /*
  * Environment Settings
  */
-#ifdef CONFIG_ENV_IS_IN_DATAFLASH
-/*
- * Datasflash Environment Settings
- */
-#define CONFIG_ENV_OFFSET			0x4200
-#define CONFIG_ENV_ADDR			\
-		(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
-/* 8 * 1056 really , but start.s is not OK with this*/
-#define CONFIG_ENV_SIZE			0x2000
-
-#else
-/*
- * NOR Flash Environment Settings
- */
 #define CONFIG_ENV_IS_IN_FLASH		1
 
-#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-/*
- * between boot.bin and u-boot.bin.gz
- */
-#define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0xe000)
-#define CONFIG_ENV_SIZE			0x10000 /* sectors are 64K here */
-#else
 /*
  * after u-boot.bin
  */
 #define CONFIG_ENV_ADDR			\
 		(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_ENV_SIZE			0x10000 /* sectors are 64K here */
+#define CONFIG_ENV_SIZE			SZ_64K /* sectors are 64K here */
 /* The following #defines are needed to get flash environment right */
 #define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_MONITOR_LEN		\
-		(CONFIG_SYS_BOOT_SIZE + CONFIG_SYS_U_BOOT_SIZE)
-#endif	/* CONFIG_SKIP_LOWLEVEL_INIT */
-
-#endif	/* CONFIG_ENV_IS_IN_DATAFLASH */
+#define CONFIG_SYS_MONITOR_LEN		SZ_256K
 
 /*
  * Boot option
  */
 #define CONFIG_BOOTDELAY		3
 
-#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-/* boot.bin, env, u-boot.bin.gz */
-#define CONFIG_SYS_BOOT_SIZE		0x6000 /* 24 KBytes */
-#define CONFIG_SYS_U_BOOT_BASE		(CONFIG_SYS_FLASH_BASE + 0x10000)
-#define CONFIG_SYS_U_BOOT_SIZE		0x10000 /* 64 KBytes */
-#else
-/* u-boot.bin */
-#define CONFIG_SYS_BOOT_SIZE		0x0 /* 0 KBytes */
-#define CONFIG_SYS_U_BOOT_BASE		CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_U_BOOT_SIZE		0x40000 /* 128 KBytes */
-#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
-
-#define CONFIG_SYS_LOAD_ADDR		0x21000000 /* default load address */
-#define CONFIG_ENV_OVERWRITE	1
-
-/*
- * USB Config
- */
-#define CONFIG_CMD_USB
-#define CONFIG_USB_OHCI_NEW	1
-#define CONFIG_USB_KEYBOARD	1
-#define CONFIG_USB_STORAGE	1
-#define CONFIG_DOS_PARTITION	1
-
-#undef CONFIG_SYS_USB_OHCI_BOARD_INIT
-#define CONFIG_SYS_USB_OHCI_CPU_INIT		1
-#define CONFIG_SYS_USB_OHCI_REGS_BASE		AT91_USB_HOST_BASE
-#define CONFIG_SYS_USB_OHCI_SLOT_NAME		"at91rm9200"
-#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	15
-
-/*
- * I2C
- */
-#define CONFIG_HARD_I2C
-
-#ifdef CONFIG_HARD_I2C
-#define CONFIG_CMD_I2C
-#define CONFIG_SYS_I2C_SPEED		0	/* not used */
-#define CONFIG_SYS_I2C_SLAVE		0	/* not used */
-#endif
+/* default load address */
+#define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_SDRAM_BASE + SZ_16M
+#define CONFIG_ENV_OVERWRITE		1
 
 /*
  * Shell Settings
@@ -288,25 +188,6 @@
 #define CONFIG_SYS_PBSIZE		\
 		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
 
-#ifndef __ASSEMBLY__
-/*-----------------------------------------------------------------------
- * Board specific extension for bd_info
- *
- * This structure is embedded in the global bd_info (bd_t) structure
- * and can be used by the board specific code (eg board/...)
- */
-
-struct bd_info_ext {
-	/* helper variable for board environment handling
-	 *
-	 * env_crc_valid == 0	=>	uninitialised
-	 * env_crc_valid > 0	=>	environment crc in flash is valid
-	 * env_crc_valid < 0	=>	environment crc in flash is invalid
-	 */
-	int env_crc_valid;
-};
-#endif
-
 #define CONFIG_SYS_HZ 1000
 /*
  * AT91C_TC0_CMR is implicitly set to
@@ -317,12 +198,15 @@ struct bd_info_ext {
 /*
  * Size of malloc() pool
  */
-#define CONFIG_SYS_MALLOC_LEN		ROUND(3 * CONFIG_ENV_SIZE + 128 * 1024 \
-					     , 0x1000)
+#define CONFIG_SYS_MALLOC_LEN		ROUND(3 * CONFIG_ENV_SIZE + SZ_128K, \
+					     SZ_4K)
 /* size in bytes reserved for initial data */
 #define CONFIG_SYS_GBL_DATA_SIZE	128
 
-#define CONFIG_STACKSIZE		(32 * 1024)	/* regular stack */
-#define CONFIG_STACKSIZE_IRQ		(4 * 1024) /* Unsure if to big or to small*/
-#define CONFIG_STACKSIZE_FIQ		(4 * 1024) /* Unsure if to big or to small*/
-#endif
+#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + SZ_4K \
+					- CONFIG_SYS_GBL_DATA_SIZE)
+
+#define CONFIG_STACKSIZE		SZ_32K	/* regular stack */
+#define CONFIG_STACKSIZE_IRQ		SZ_4K	/* Unsure if to big or to small*/
+#define CONFIG_STACKSIZE_FIQ		SZ_4K	/* Unsure if to big or to small*/
+#endif /* __AT91RM9200EK_CONFIG_H__ */
-- 
1.7.3.1

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

* [U-Boot] [PATCH 2/3] at91rm9200: enable USB support
  2010-10-16  0:41 [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Andreas Bießmann
  2010-10-16  0:41 ` [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
@ 2010-10-16  0:41 ` Andreas Bießmann
  2010-10-16  0:41 ` [U-Boot] [PATCH 3/3] at91rm9200ek: enbable " Andreas Bießmann
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-16  0:41 UTC (permalink / raw)
  To: u-boot

This patch fixes arch-at91/hardware.h to have the relevant defines for
at91rm9200 devices to support existing at91 usb driver.

Signed-off-by: Andreas Bie?mann <andreas.devel@googlemail.com>
---
 arch/arm/include/asm/arch-at91/hardware.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/arch-at91/hardware.h b/arch/arm/include/asm/arch-at91/hardware.h
index 9f732a7..f5f80e0 100644
--- a/arch/arm/include/asm/arch-at91/hardware.h
+++ b/arch/arm/include/asm/arch-at91/hardware.h
@@ -18,6 +18,7 @@
 
 #if defined(CONFIG_AT91RM9200)
 #include <asm/arch-at91/at91rm9200.h>
+#define AT91_PMC_UHP	AT91RM9200_PMC_UHP
 #elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)
 #include <asm/arch/at91sam9260.h>
 #define AT91_BASE_MCI	AT91SAM9260_BASE_MCI
-- 
1.7.3.1

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

* [U-Boot] [PATCH 3/3] at91rm9200ek: enbable USB support
  2010-10-16  0:41 [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Andreas Bießmann
  2010-10-16  0:41 ` [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
  2010-10-16  0:41 ` [U-Boot] [PATCH 2/3] at91rm9200: enable USB support Andreas Bießmann
@ 2010-10-16  0:41 ` Andreas Bießmann
  2010-10-18 20:58 ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
  2010-10-19 13:52 ` [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Reinhard Meyer
  4 siblings, 0 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-16  0:41 UTC (permalink / raw)
  To: u-boot

This patch enables USB for at91rm9200ek board.

Signed-off-by: Andreas Bie?mann <andreas.devel@googlemail.com>
---
 include/configs/at91rm9200ek.h |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
index 8e9db92..d1565be 100644
--- a/include/configs/at91rm9200ek.h
+++ b/include/configs/at91rm9200ek.h
@@ -125,6 +125,7 @@
 #define CONFIG_CMD_FAT
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_PING
+#define CONFIG_CMD_USB
 #undef CONFIG_CMD_FPGA
 
 #include <asm/arch/hardware.h>	/* needed for port definitions */
@@ -150,6 +151,20 @@
 #define CONFIG_SYS_FLASH_PROTECTION
 
 /*
+ * USB Config
+ */
+#define CONFIG_USB_ATMEL			1
+#define CONFIG_USB_OHCI_NEW			1
+#define CONFIG_USB_KEYBOARD			1
+#define CONFIG_USB_STORAGE			1
+#define CONFIG_DOS_PARTITION			1
+
+#define CONFIG_SYS_USB_OHCI_CPU_INIT		1
+#define CONFIG_SYS_USB_OHCI_REGS_BASE		AT91_USB_HOST_BASE
+#define CONFIG_SYS_USB_OHCI_SLOT_NAME		"at91rm9200"
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	15
+
+/*
  * Environment Settings
  */
 #define CONFIG_ENV_IS_IN_FLASH		1
-- 
1.7.3.1

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-16  0:41 ` [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
@ 2010-10-17 18:06   ` Reinhard Meyer
  2010-10-17 18:40     ` Wolfgang Denk
  2010-10-18  6:36     ` Andreas Bießmann
  0 siblings, 2 replies; 18+ messages in thread
From: Reinhard Meyer @ 2010-10-17 18:06 UTC (permalink / raw)
  To: u-boot

Dear Andreas Bie?mann,
> +Andreas Bie?mann<andreas.devel@gmail.com>

On my e-Mail client the sharp-s in the commit shows wrongly,
however it does show ok in the e-mail header itself.

>   int board_init (void)
>   {
> +	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
> +
>   	/* Enable Ctrlc */
> -	console_init_f ();
> +	console_init_f();

I think that console_init_f is done in the arm/board.c already,
please verify that.

> diff --git a/board/atmel/at91rm9200ek/config.mk b/board/atmel/at91rm9200ek/config.mk
> index 9ce161e..7b99e02 100644
> --- a/board/atmel/at91rm9200ek/config.mk
> +++ b/board/atmel/at91rm9200ek/config.mk
> @@ -1 +1,2 @@
> -TEXT_BASE = 0x21f00000
> +# currently only NOR flash booting is supported
> +TEXT_BASE = 0x10000000

Currently TEXT_BASE is being changed to CONFIG_ and moved to the <board>.h file,
thus removing the need for a <board>/config.mk.

I'm not sure when to pick up this patch and how it will merge. Wolfgang?

> diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
> index 145c3c3..8e9db92 100644
> --- a/include/configs/at91rm9200ek.h
> +++ b/include/configs/at91rm9200ek.h

...

>   /* ARM asynchronous clock */
>   /*
>    * from 18.432 MHz crystal
>    * (18432000 / 4 * 39)
>    */
> -#define AT91C_MAIN_CLOCK	179712000
> +#define AT91C_MAIN_CLOCK		179712000
>   /*
>    * peripheral clock
>    * (AT91C_MASTER_CLOCK / 3)
>    */
> -#define AT91C_MASTER_CLOCK	59904000
> +#define AT91C_MASTER_CLOCK		59904000

I wonder if it would be possible to do the calculations in the defines like
#define AT91C_MAIN_CLOCK ((AT91C_XTAL_CLOCK/4)*39).
You get the idea...

> -#define AT91_SLOW_CLOCK		32768	/* slow clock */
> +#define CONFIG_ARM920T			1 /* This is an ARM920T Core */
> +#define CONFIG_AT91RM9200		1 /* It's an Atmel AT91RM9200 SoC */
> +#define CONFIG_AT91RM9200EK		1 /* on an AT91RM9200EK Board */
> +#define CONFIG_CPUAT91			1 /* we use newer AT91 code */
> +#define USE_920T_MMU			1
>
> -#define CONFIG_ARM920T		1	/* This is an ARM920T Core	*/
> -#define CONFIG_AT91RM9200	1	/* It's an Atmel AT91RM9200 SoC	*/
> -#define CONFIG_AT91RM9200EK	1	/* on an AT91RM9200EK Board	*/
> -#undef  CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/
> -#define USE_920T_MMU		1
> +#define CONFIG_CMDLINE_TAG		1 /* enable passing of ATAGs */
> +#define CONFIG_SETUP_MEMORY_TAGS	1
> +#define CONFIG_INITRD_TAG		1
>
> -#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs	*/
> -#define CONFIG_SETUP_MEMORY_TAGS 1
> -#define CONFIG_INITRD_TAG	1

On all files we touch, we want to change "#define SOMETHING 1" into
"#define SOMETHING" when the value itself is not used.
Please try to fix that globally.

> @@ -113,10 +112,6 @@
>   #define CONFIG_DBGU
>   #undef CONFIG_USART0
>   #undef CONFIG_USART1

Don't #undef what has never been defined.

> +#include<asm/arch/hardware.h>	/* needed for port definitions */

Are you sure that is needed in the midst of <board>.h?

Best Regards,
Reinhard

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-17 18:06   ` Reinhard Meyer
@ 2010-10-17 18:40     ` Wolfgang Denk
  2010-10-18  6:36       ` Andreas Bießmann
  2010-10-18  6:36     ` Andreas Bießmann
  1 sibling, 1 reply; 18+ messages in thread
From: Wolfgang Denk @ 2010-10-17 18:40 UTC (permalink / raw)
  To: u-boot

Dear Reinhard Meyer,

In message <4CBB3B3B.8040408@emk-elektronik.de> you wrote:
>
> > --- a/board/atmel/at91rm9200ek/config.mk
> > +++ b/board/atmel/at91rm9200ek/config.mk
> > @@ -1 +1,2 @@
> > -TEXT_BASE = 0x21f00000
> > +# currently only NOR flash booting is supported
> > +TEXT_BASE = 0x10000000
> 
> Currently TEXT_BASE is being changed to CONFIG_ and moved to the <board>.h file,
> thus removing the need for a <board>/config.mk.
> 
> I'm not sure when to pick up this patch and how it will merge. Wolfgang?

The patch was submitted while the MW was open, so it should go in now
(assuming there are no issues that need to be fixed first).

If needed I will try to resolve any merge conflicts, but as I cannot
test this, and as it seems that other fixes are needed anyway, it
would make sense that a resubmission is based on top of the
Makefile-cleanup patch series.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
'What shall we do?' said Twoflower.  'Panic?'  said  Rincewind  hope-
fully. He always held that panic was the best means of survival; back
in  the  olden days, his theory went, people faced with hungry sabre-
toothed tigers could be divided very simply in those who panicked and
those who stood there saying 'What a magnificent  brute!'  or  'Here,
pussy.'                      - Terry Pratchett, _The Light Fantastic_

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-17 18:06   ` Reinhard Meyer
  2010-10-17 18:40     ` Wolfgang Denk
@ 2010-10-18  6:36     ` Andreas Bießmann
  2010-10-18  8:40       ` Reinhard Meyer
  1 sibling, 1 reply; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-18  6:36 UTC (permalink / raw)
  To: u-boot

Dear Reinhard Meyer,

Am 17.10.2010 um 20:06 schrieb Reinhard Meyer:

> Dear Andreas Bie?mann,
>> +Andreas Bie?mann<andreas.devel@gmail.com>
> 
> On my e-Mail client the sharp-s in the commit shows wrongly,
> however it does show ok in the e-mail header itself.
> 
>> int board_init (void)
>> {
>> +	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
>> +
>> 	/* Enable Ctrlc */
>> -	console_init_f ();
>> +	console_init_f();
> 
> I think that console_init_f is done in the arm/board.c already,
> please verify that.

Yes it is really. The call on this place is historic and caused no errors therefore I left it there. But it should be removed. 

>> diff --git a/board/atmel/at91rm9200ek/config.mk b/board/atmel/at91rm9200ek/config.mk
>> index 9ce161e..7b99e02 100644
>> --- a/board/atmel/at91rm9200ek/config.mk
>> +++ b/board/atmel/at91rm9200ek/config.mk
>> @@ -1 +1,2 @@
>> -TEXT_BASE = 0x21f00000
>> +# currently only NOR flash booting is supported
>> +TEXT_BASE = 0x10000000
> 
> Currently TEXT_BASE is being changed to CONFIG_ and moved to the <board>.h file,
> thus removing the need for a <board>/config.mk.

Yes I know. But when submitting this patch the rework for boards.cfg was not upstream.

> I'm not sure when to pick up this patch and how it will merge. Wolfgang?

I would prefer to get this patch in 2010.12, I could do the requested changes til monday evening. This board Is the basis for getting the messy at91rm9200 stuff cleaned up. I hope to get most drivers merged with current at91 code basis for 2011.03.

>> diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
>> index 145c3c3..8e9db92 100644
>> --- a/include/configs/at91rm9200ek.h
>> +++ b/include/configs/at91rm9200ek.h
> 
> ...
> 
>> /* ARM asynchronous clock */
>> /*
>> * from 18.432 MHz crystal
>> * (18432000 / 4 * 39)
>> */
>> -#define AT91C_MAIN_CLOCK	179712000
>> +#define AT91C_MAIN_CLOCK		179712000
>> /*
>> * peripheral clock
>> * (AT91C_MASTER_CLOCK / 3)
>> */
>> -#define AT91C_MASTER_CLOCK	59904000
>> +#define AT91C_MASTER_CLOCK		59904000
> 
> I wonder if it would be possible to do the calculations in the defines like
> #define AT91C_MAIN_CLOCK ((AT91C_XTAL_CLOCK/4)*39).
> You get the idea...
Sounds better ...

>> -#define AT91_SLOW_CLOCK		32768	/* slow clock */
>> +#define CONFIG_ARM920T			1 /* This is an ARM920T Core */
>> +#define CONFIG_AT91RM9200		1 /* It's an Atmel AT91RM9200 SoC */
>> +#define CONFIG_AT91RM9200EK		1 /* on an AT91RM9200EK Board */
>> +#define CONFIG_CPUAT91			1 /* we use newer AT91 code */
>> +#define USE_920T_MMU			1
>> 
>> -#define CONFIG_ARM920T		1	/* This is an ARM920T Core	*/
>> -#define CONFIG_AT91RM9200	1	/* It's an Atmel AT91RM9200 SoC	*/
>> -#define CONFIG_AT91RM9200EK	1	/* on an AT91RM9200EK Board	*/
>> -#undef  CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/
>> -#define USE_920T_MMU		1
>> +#define CONFIG_CMDLINE_TAG		1 /* enable passing of ATAGs */
>> +#define CONFIG_SETUP_MEMORY_TAGS	1
>> +#define CONFIG_INITRD_TAG		1
>> 
>> -#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs	*/
>> -#define CONFIG_SETUP_MEMORY_TAGS 1
>> -#define CONFIG_INITRD_TAG	1
> 
> On all files we touch, we want to change "#define SOMETHING 1" into
> "#define SOMETHING" when the value itself is not used.
> Please try to fix that globally.

NP

>> @@ -113,10 +112,6 @@
>> #define CONFIG_DBGU
>> #undef CONFIG_USART0
>> #undef CONFIG_USART1
> 
> Don't #undef what has never been defined.

You know this is historic. This are the three possible interfaces for USART on this board. At least at91rm9200 known about DBGU ;) This will be addressed when merging at91rm9200/at91 and maybe avr32 usart implementation.

>> +#include<asm/arch/hardware.h>	/* needed for port definitions */

> Are you sure that is needed in the midst of <board>.h?
Should move some lines up ...

Regards

Andreas Bie?mann

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-17 18:40     ` Wolfgang Denk
@ 2010-10-18  6:36       ` Andreas Bießmann
  2010-10-18  6:46         ` Wolfgang Denk
  0 siblings, 1 reply; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-18  6:36 UTC (permalink / raw)
  To: u-boot

Dear Wolfgang Denk,

Am 17.10.2010 um 20:40 schrieb Wolfgang Denk:

> Dear Reinhard Meyer,
> 
> In message <4CBB3B3B.8040408@emk-elektronik.de> you wrote:
>> 
>> I'm not sure when to pick up this patch and how it will merge. Wolfgang?
> 
> The patch was submitted while the MW was open, so it should go in now
> (assuming there are no issues that need to be fixed first).

sorry for being late. Is it OK to get the address changes integrated til monday evening?

regards

Andreas Bie?mann

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-18  6:36       ` Andreas Bießmann
@ 2010-10-18  6:46         ` Wolfgang Denk
  0 siblings, 0 replies; 18+ messages in thread
From: Wolfgang Denk @ 2010-10-18  6:46 UTC (permalink / raw)
  To: u-boot

Dear Andreas,

In message <B0398CA3-8E89-40ED-8E79-396F4B4B8B01@googlemail.com> you wrote:
> 
> > The patch was submitted while the MW was open, so it should go in now
> > (assuming there are no issues that need to be fixed first).
> 
> sorry for being late. Is it OK to get the address changes integrated til monday evening?

Sure.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Intel's new motto: United we stand. Divided we fall!

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-18  6:36     ` Andreas Bießmann
@ 2010-10-18  8:40       ` Reinhard Meyer
  2010-10-18  9:27         ` Andreas Bießmann
  0 siblings, 1 reply; 18+ messages in thread
From: Reinhard Meyer @ 2010-10-18  8:40 UTC (permalink / raw)
  To: u-boot

Dear Andreas Bie?mann,
> Yes it is really. The call on this place is historic and caused no errors therefore I left it there. But it should be removed. 

The same issue is in other AT91 boards as well.

>>> @@ -113,10 +112,6 @@
>>> #define CONFIG_DBGU
>>> #undef CONFIG_USART0
>>> #undef CONFIG_USART1
>> Don't #undef what has never been defined.
> 
> You know this is historic. This are the three possible interfaces for USART on this board. At least at91rm9200 known about DBGU ;) This will be addressed when merging at91rm9200/at91 and maybe avr32 usart implementation.

I know, its like that in almost all Atmel based boards. Even worse is the AT91 method,
since some AT91 can have 6 UARTs. However unlikely that they are going to be used as console,
this is awfully bad = <at91sam9260_ek.h>:

#define CONFIG_ATMEL_USART	1
#undef CONFIG_USART0
#undef CONFIG_USART1
#undef CONFIG_USART2
#define CONFIG_USART3		1	/* USART 3 is DBGU */
Notice the last define !!!

I once tried to cleanup that a bit, but it really would affect files all across AT91.

Best Regards,
Reinhard

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-18  8:40       ` Reinhard Meyer
@ 2010-10-18  9:27         ` Andreas Bießmann
  2010-10-18 11:21           ` Reinhard Meyer
  0 siblings, 1 reply; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-18  9:27 UTC (permalink / raw)
  To: u-boot

Dear Reinhard Meyer,

Am 18.10.2010 10:40, schrieb Reinhard Meyer:
> Dear Andreas Bie?mann,

>>>> @@ -113,10 +112,6 @@
>>>> #define CONFIG_DBGU
>>>> #undef CONFIG_USART0
>>>> #undef CONFIG_USART1
>>> Don't #undef what has never been defined.
>>
>> You know this is historic. This are the three possible interfaces for USART on this board. At least at91rm9200 known about DBGU ;) This will be addressed when merging at91rm9200/at91 and maybe avr32 usart implementation.
> 
> I know, its like that in almost all Atmel based boards. Even worse is the AT91 method,
> since some AT91 can have 6 UARTs. However unlikely that they are going to be used as console,
> this is awfully bad = <at91sam9260_ek.h>:
> 
> #define CONFIG_ATMEL_USART	1
> #undef CONFIG_USART0
> #undef CONFIG_USART1
> #undef CONFIG_USART2
> #define CONFIG_USART3		1	/* USART 3 is DBGU */
> Notice the last define !!!

I know that ...

> I once tried to cleanup that a bit, but it really would affect files all across AT91.

I plan to merge at91rm9200_usart and at91_usart for 2011.03. It will
introduce clear naming scheme in at91 (USRT3 vs DBGU). Also I plan to
remove the necessity to hardcode the base addresses in header of
at91_usart.c. But to do this we need a clean basis to test the changes.
Eg. at91rm9200ek and at91sam9260ek (i can get one from time to time) or
your at91sam9263 based boards. I also think a lot of avr32 stuff could
merge into the same drivers ... will have a look for that in future.

I do all of this in spare time at home therefore I go only little steps
... But currently are all arm boards broken (relocation), therefore is
now the time to introduce new interfaces. Do you think the same way?

regards

Andreas Bie?mann

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

* [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91
  2010-10-18  9:27         ` Andreas Bießmann
@ 2010-10-18 11:21           ` Reinhard Meyer
  0 siblings, 0 replies; 18+ messages in thread
From: Reinhard Meyer @ 2010-10-18 11:21 UTC (permalink / raw)
  To: u-boot

Dear Andreas Bie?mann,

> I plan to merge at91rm9200_usart and at91_usart for 2011.03. It will
> introduce clear naming scheme in at91 (USRT3 vs DBGU). Also I plan to
> remove the necessity to hardcode the base addresses in header of
> at91_usart.c. But to do this we need a clean basis to test the changes.

at91sam9* uses "atmel_usart", not "at91_usart". You should merge the "rm"
usart into "atmel_usart" which currently works for AT91SAM9 and AVR32.

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

* [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91
  2010-10-16  0:41 [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Andreas Bießmann
                   ` (2 preceding siblings ...)
  2010-10-16  0:41 ` [U-Boot] [PATCH 3/3] at91rm9200ek: enbable " Andreas Bießmann
@ 2010-10-18 20:58 ` Andreas Bießmann
  2010-10-18 20:58   ` [U-Boot] [PATCH v2 2/3] at91rm9200: enable USB support Andreas Bießmann
                     ` (2 more replies)
  2010-10-19 13:52 ` [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Reinhard Meyer
  4 siblings, 3 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-18 20:58 UTC (permalink / raw)
  To: u-boot

This patch removes some functionality from at91rm9200ek board but the
remaining functionality does now work with newer at91 code and
arm-relocation.

Currently missing features are:
 - dataflash booting (due to missing HW for testing)
 - MMC/SD-Card
 - first stage bootloader support is completely removed (not needed for
   NOR)

Cause this board was (some days ago) reference for all at91rm9200 based
boards this should be a good starting point to convert all remaining
at91rm9200 borads to at91 code. Aside from that this is a good base to
get some drivers between at91sam/at91rm/avr32 merged.

Signed-off-by: Andreas Bie??mann <andreas.devel@googlemail.com>
---
v2:
 - address changes in config-header/main implementation file
 - additionally remove mux.c/partitions.c, these files are unneeded cause
   dataflash support is currently disabled
 - minor comment changes
 - config.mk is based on top of current u-boot-testing.git/Makefile-cleanup

 MAINTAINERS                             |    4 +
 board/atmel/at91rm9200ek/Makefile       |    5 -
 board/atmel/at91rm9200ek/at91rm9200ek.c |   60 ++-----
 board/atmel/at91rm9200ek/config.mk      |    3 +-
 board/atmel/at91rm9200ek/led.c          |   58 +++----
 board/atmel/at91rm9200ek/misc.c         |   50 ------
 board/atmel/at91rm9200ek/mux.c          |   38 -----
 board/atmel/at91rm9200ek/partition.c    |   38 -----
 boards.cfg                              |    2 +-
 include/configs/at91rm9200ek.h          |  275 ++++++++----------------------
 10 files changed, 124 insertions(+), 409 deletions(-)
 delete mode 100644 board/atmel/at91rm9200ek/misc.c
 delete mode 100644 board/atmel/at91rm9200ek/mux.c
 delete mode 100644 board/atmel/at91rm9200ek/partition.c

diff --git a/MAINTAINERS b/MAINTAINERS
index e003226..771e120 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -563,6 +563,10 @@ Rishi Bhattacharya <rishi@ti.com>
 
 	omap5912osk	ARM926EJS
 
+Andreas Bie?mann <andreas.devel@gmail.com>
+
+	at91rm9200ek	at91rm9200
+
 Cliff Brake <cliff.brake@gmail.com>
 
 	pxa255_idp	xscale
diff --git a/board/atmel/at91rm9200ek/Makefile b/board/atmel/at91rm9200ek/Makefile
index 500ce72..96a0f05 100644
--- a/board/atmel/at91rm9200ek/Makefile
+++ b/board/atmel/at91rm9200ek/Makefile
@@ -27,11 +27,6 @@ LIB	= $(obj)lib$(BOARD).a
 
 COBJS-y += $(BOARD).o
 COBJS-y += led.o
-COBJS-y += misc.o
-ifdef CONFIG_HAS_DATAFLASH
-COBJS-$(CONFIG_DATAFLASH_MMC_SELECT) += mux.o
-COBJS-y += partition.o
-endif
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS-y))
diff --git a/board/atmel/at91rm9200ek/at91rm9200ek.c b/board/atmel/at91rm9200ek/at91rm9200ek.c
index 570a09a..d242583 100644
--- a/board/atmel/at91rm9200ek/at91rm9200ek.c
+++ b/board/atmel/at91rm9200ek/at91rm9200ek.c
@@ -1,4 +1,8 @@
 /*
+ * (C) Copyright 2010 Andreas Bie??mann <andreas.devel@gmail.com>
+ *
+ * derived from previous work
+ *
  * (C) Copyright 2002
  * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  * Marius Groeger <mgroeger@sysgo.de>
@@ -23,78 +27,44 @@
  */
 
 #include <common.h>
-#include <exports.h>
 #include <netdev.h>
-#include <asm/arch/AT91RM9200.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/at91_pio.h>
+#include <asm/arch/at91_pmc.h>
 #include <asm/io.h>
-#if defined(CONFIG_DRIVER_ETHER)
-#include <at91rm9200_net.h>
-#include <dm9161.h>
-#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
 /* ------------------------------------------------------------------------- */
-/*
- * Miscelaneous platform dependent initialisations
- */
-
-int board_init (void)
+int board_init(void)
 {
-	/* Enable Ctrlc */
-	console_init_f ();
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
 
 	/*
 	 * Correct IRDA resistor problem
 	 * Set PA23_TXD in Output
 	 */
-	writel(AT91C_PA23_TXD2, ((AT91PS_PIO) AT91C_BASE_PIOA)->PIO_OER);
-
-	/*
-	 * memory and cpu-speed are setup before relocation
-	 * so we do _nothing_ here
-	 */
+	writel(AT91_PMX_AA_TXD2, &pio->pioa.oer);
 
 	/* arch number of AT91RM9200EK-Board */
 	gd->bd->bi_arch_number = MACH_TYPE_AT91RM9200EK;
 	/* adress of boot parameters */
-	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
 
 	return 0;
 }
 
 int dram_init (void)
 {
-	gd->bd->bi_dram[0].start = PHYS_SDRAM;
-	gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
+	/* dram_init must store complete ramsize in gd->ram_size */
+	gd->ram_size = get_ram_size((volatile long *)CONFIG_SYS_SDRAM_BASE,
+			CONFIG_SYS_SDRAM_SIZE);
 	return 0;
 }
 
-#if defined(CONFIG_DRIVER_ETHER) && defined(CONFIG_CMD_NET)
-/*
- * Name:
- *	at91rm9200_GetPhyInterface
- * Description:
- *	Initialise the interface functions to the PHY
- * Arguments:
- *	None
- * Return value:
- *	None
- */
-void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops)
-{
-	p_phyops->Init = dm9161_InitPhy;
-	p_phyops->IsPhyConnected = dm9161_IsPhyConnected;
-	p_phyops->GetLinkSpeed = dm9161_GetLinkSpeed;
-	p_phyops->AutoNegotiate = dm9161_AutoNegotiate;
-}
-#endif
-
 #ifdef CONFIG_DRIVER_AT91EMAC
 int board_eth_init(bd_t *bis)
 {
-	int rc = 0;
-	rc = at91emac_register(bis, 0);
-	return rc;
+	return at91emac_register(bis, (u32) AT91_EMAC_BASE);
 }
 #endif
diff --git a/board/atmel/at91rm9200ek/config.mk b/board/atmel/at91rm9200ek/config.mk
index 2077692..c7323fe 100644
--- a/board/atmel/at91rm9200ek/config.mk
+++ b/board/atmel/at91rm9200ek/config.mk
@@ -1 +1,2 @@
-CONFIG_SYS_TEXT_BASE = 0x21f00000
+# currently only NOR flash booting is supported
+CONFIG_SYS_TEXT_BASE = 0x10000000
diff --git a/board/atmel/at91rm9200ek/led.c b/board/atmel/at91rm9200ek/led.c
index 9464952..8d512e0 100644
--- a/board/atmel/at91rm9200ek/led.c
+++ b/board/atmel/at91rm9200ek/led.c
@@ -3,6 +3,9 @@
  * Atmel Nordic AB <www.atmel.com>
  * Ulf Samuelsson <ulf@atmel.com>
  *
+ * (C) Copyright 2010
+ * Andreas Bie??mann <andreas.devel@gmail.com>
+ *
  * See file CREDITS for list of people who contributed to this
  * project.
  *
@@ -23,67 +26,62 @@
  */
 
 #include <common.h>
-#include <asm/arch/AT91RM9200.h>
-#include <asm/io.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/at91_pmc.h>
 
-#define	GREEN_LED	AT91C_PIO_PB0
-#define	YELLOW_LED	AT91C_PIO_PB1
-#define	RED_LED		AT91C_PIO_PB2
+/* bit mask in PIO port B */
+#define	GREEN_LED	(1<<0)
+#define	YELLOW_LED	(1<<1)
+#define	RED_LED		(1<<2)
 
 void	green_LED_on(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(GREEN_LED, PIOB->PIO_CODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(GREEN_LED, &pio->piob.codr);
 }
 
 void	 yellow_LED_on(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(YELLOW_LED, PIOB->PIO_CODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(YELLOW_LED, &pio->piob.codr);
 }
 
 void	 red_LED_on(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(RED_LED, PIOB->PIO_CODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(RED_LED, &pio->piob.codr);
 }
 
 void	green_LED_off(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(GREEN_LED, PIOB->PIO_SODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(GREEN_LED, &pio->piob.sodr);
 }
 
 void	yellow_LED_off(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(YELLOW_LED, PIOB->PIO_SODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(YELLOW_LED, &pio->piob.sodr);
 }
 
 void	red_LED_off(void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-
-	writel(RED_LED, PIOB->PIO_SODR);
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
+	writel(RED_LED, &pio->piob.sodr);
 }
 
-
 void coloured_LED_init (void)
 {
-	AT91PS_PIO	PIOB	= AT91C_BASE_PIOB;
-	AT91PS_PMC	PMC	= AT91C_BASE_PMC;
+	at91_pmc_t *pmc = (at91_pmc_t *)AT91_PMC_BASE;
+	at91_pio_t *pio = (at91_pio_t *)AT91_PIO_BASE;
 
 	/* Enable PIOB clock */
-	writel((1 << AT91C_ID_PIOB), PMC->PMC_PCER);
+	writel(1 << AT91_ID_PIOB, &pmc->pcer);
+
 	/* Disable peripherals on LEDs */
-	writel(AT91C_PIO_PB2 | AT91C_PIO_PB1 | AT91C_PIO_PB0, PIOB->PIO_PER);
+	writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.per);
 	/* Enable pins as outputs */
-	writel(AT91C_PIO_PB2 | AT91C_PIO_PB1 | AT91C_PIO_PB0, PIOB->PIO_OER);
+	writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.oer);
 	/* Turn all LEDs OFF */
-	writel(AT91C_PIO_PB2 | AT91C_PIO_PB1 | AT91C_PIO_PB0, PIOB->PIO_SODR);
+	writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.sodr);
 }
diff --git a/board/atmel/at91rm9200ek/misc.c b/board/atmel/at91rm9200ek/misc.c
deleted file mode 100644
index 81de32f..0000000
--- a/board/atmel/at91rm9200ek/misc.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.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/arch/AT91RM9200.h>
-#include <at91rm9200_net.h>
-#include <dm9161.h>
-#include <net.h>
-
-int board_late_init(void)
-{
-	DECLARE_GLOBAL_DATA_PTR;
-
-	/* Fix Ethernet Initialization Bug when starting Linux from U-Boot */
-	eth_init(gd->bd);
-	return 0;
-}
-
-
-/* checks if addr is in RAM */
-int addr2ram(ulong addr)
-{
-	int result = 0;
-
-	if((addr >= PHYS_SDRAM) && (addr < (PHYS_SDRAM + PHYS_SDRAM_SIZE)))
-		result = 1;
-
-	return result;
-}
diff --git a/board/atmel/at91rm9200ek/mux.c b/board/atmel/at91rm9200ek/mux.c
deleted file mode 100644
index bdd44e8..0000000
--- a/board/atmel/at91rm9200ek/mux.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <config.h>
-#include <common.h>
-#include <asm/hardware.h>
-#include <asm/io.h>
-#include <dataflash.h>
-
-int AT91F_GetMuxStatus(void)
-{
-	/* Set in PIO mode */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_PER);
-	/* Configure in output */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_OER);
-
-	if(readl(AT91C_BASE_PIOB->PIO_ODSR) & CONFIG_SYS_DATAFLASH_MMC_PIO)
-		return 1;
-
-	return 0;
-}
-
-void AT91F_SelectMMC(void)
-{
-	/* Set in PIO mode */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_PER);
-	/* Configure in output */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_OER);
-	/* Set Output */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_SODR);
-}
-
-void AT91F_SelectSPI(void)
-{
-	/* Set in PIO mode */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_PER);
-	/* Configure in output */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_OER);
-	/* Clear Output */
-	writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_CODR);
-}
diff --git a/board/atmel/at91rm9200ek/partition.c b/board/atmel/at91rm9200ek/partition.c
deleted file mode 100644
index 990cbcf..0000000
--- a/board/atmel/at91rm9200ek/partition.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- *
- * 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 <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3, 3}
-};
-
-/*define the area offsets*/
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,	0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR,	0, "Environment"},
-	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,	0, "U-Boot"},
-	{0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR,	0, "Kernel"},
-	{0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR,	0, "FS"},
-};
diff --git a/boards.cfg b/boards.cfg
index 2bbb742..4cff202 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -343,7 +343,7 @@ modnet50	arm	arm720t
 lpc2292sodimm	arm	arm720t		-		-		lpc2292
 eb_cpux9k2	arm	arm920t		-		BuS		at91
 at91rm9200dk	arm	arm920t		-		atmel		at91rm9200
-at91rm9200ek	arm	arm920t		-		atmel		at91rm9200
+at91rm9200ek	arm	arm920t		-		atmel		at91
 sbc2410x	arm	arm920t		-		-		s3c24x0
 smdk2400	arm	arm920t		-		samsung		s3c24x0
 smdk2410	arm	arm920t		-		samsung		s3c24x0
diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
index 145c3c3..6b2dd63 100644
--- a/include/configs/at91rm9200ek.h
+++ b/include/configs/at91rm9200ek.h
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2010 Andreas Bie??mann <biessmann.devel@googlemail.com>
+ *
+ * based on previous work by
+ *
  * Ulf Samuelsson <ulf@atmel.com>
  * Rick Bronson <rick@efn.org>
  *
@@ -23,40 +27,52 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __CONFIG_H
-#define __CONFIG_H
+#ifndef __AT91RM9200EK_CONFIG_H__
+#define __AT91RM9200EK_CONFIG_H__
 
-#define CONFIG_AT91_LEGACY
+#include <asm/sizes.h>
 
-/* ARM asynchronous clock */
-/*
- * from 18.432 MHz crystal
- * (18432000 / 4 * 39)
- */
-#define AT91C_MAIN_CLOCK	179712000
 /*
- * peripheral clock
- * (AT91C_MASTER_CLOCK / 3)
+ * AT91C_XTAL_CLOCK is the frequency of external xtal in hertz
+ * AT91C_MAIN_CLOCK is the frequency of PLLA output
+ * AT91C_MASTER_CLOCK is the peripherial clock
+ * CONFIG_SYS_HZ_CLOCK is the value for CCR in tc0 (divider 2 is implicitely
+ *  set in arch/arm/cpu/arm920t/at91/timer.c)
+ * CONFIG_SYS_HZ is the tick rate for timer tc0
  */
-#define AT91C_MASTER_CLOCK	59904000
+#define AT91C_XTAL_CLOCK		18432000
+#define AT91C_MAIN_CLOCK		((AT91C_XTAL_CLOCK / 4) * 39)
+#define AT91C_MASTER_CLOCK		(AT91C_MAIN_CLOCK / 3 )
+#define CONFIG_SYS_HZ_CLOCK		(AT91C_MASTER_CLOCK / 2)
+#define CONFIG_SYS_HZ			1000
 
-#define AT91_SLOW_CLOCK		32768	/* slow clock */
+/* CPU configuration */
+#define CONFIG_ARM920T
+#define CONFIG_AT91RM9200
+#define CONFIG_AT91RM9200EK
+#define CONFIG_CPUAT91
+#define USE_920T_MMU
 
-#define CONFIG_ARM920T		1	/* This is an ARM920T Core	*/
-#define CONFIG_AT91RM9200	1	/* It's an Atmel AT91RM9200 SoC	*/
-#define CONFIG_AT91RM9200EK	1	/* on an AT91RM9200EK Board	*/
-#undef  CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/
-#define USE_920T_MMU		1
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_INITRD_TAG
+
+/*
+ * Memory Configuration
+ */
+#define CONFIG_NR_DRAM_BANKS		1
+#define CONFIG_SYS_SDRAM_BASE		0x20000000
+#define CONFIG_SYS_SDRAM_SIZE		SZ_32M
 
-#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs	*/
-#define CONFIG_SETUP_MEMORY_TAGS 1
-#define CONFIG_INITRD_TAG	1
+#define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
+#define CONFIG_SYS_MEMTEST_END		\
+		(CONFIG_SYS_MEMTEST_START + CONFIG_SYS_SDRAM_SIZE - SZ_256K)
 
 /*
  * LowLevel Init
  */
 #ifndef CONFIG_SKIP_LOWLEVEL_INIT
-#define CONFIG_SYS_USE_MAIN_OSCILLATOR		1
+#define CONFIG_SYS_USE_MAIN_OSCILLATOR
 /* flash */
 #define CONFIG_SYS_EBI_CFGR_VAL	0x00000000
 #define CONFIG_SYS_SMC_CSR0_VAL	0x00003284 /* 16bit, 2 TDF, 4 WS */
@@ -73,50 +89,26 @@
 #define CONFIG_SYS_PIOC_PDR_VAL	0xFFFF0000
 #define CONFIG_SYS_EBI_CSA_VAL	0x00000002 /* CS1=CONFIG_SYS_SDRAM */
 #define CONFIG_SYS_SDRC_CR_VAL	0x2188c155 /* set up the CONFIG_SYS_SDRAM */
-#define CONFIG_SYS_SDRAM	0x20000000 /* address of the CONFIG_SYS_SDRAM */
-#define CONFIG_SYS_SDRAM1	0x20000080 /* address of the CONFIG_SYS_SDRAM */
+#define CONFIG_SYS_SDRAM	CONFIG_SYS_SDRAM_BASE /* address of the SDRAM */
+#define CONFIG_SYS_SDRAM1	CONFIG_SYS_SDRAM_BASE /* address of the SDRAM */
 #define CONFIG_SYS_SDRAM_VAL	0x00000000 /* value written to CONFIG_SYS_SDRAM */
 #define CONFIG_SYS_SDRC_MR_VAL	0x00000002 /* Precharge All */
 #define CONFIG_SYS_SDRC_MR_VAL1	0x00000004 /* refresh */
 #define CONFIG_SYS_SDRC_MR_VAL2	0x00000003 /* Load Mode Register */
 #define CONFIG_SYS_SDRC_MR_VAL3	0x00000000 /* Normal Mode */
 #define CONFIG_SYS_SDRC_TR_VAL	0x000002E0 /* Write refresh rate */
-#else
-#define CONFIG_SKIP_RELOCATE_UBOOT
 #endif	/* CONFIG_SKIP_LOWLEVEL_INIT */
 
-/* hardcode so no __divsi3 : AT91C_MASTER_CLOCK / baudrate / 16 */
-#define CONFIG_SYS_AT91C_BRGR_DIVISOR	33
-
-/*
- * Memory Configuration
- */
-#define CONFIG_NR_DRAM_BANKS		1
-#define PHYS_SDRAM			0x20000000
-#define PHYS_SDRAM_SIZE			0x02000000	/* 32 megs */
-
-#define CONFIG_SYS_MEMTEST_START	PHYS_SDRAM
-#define CONFIG_SYS_MEMTEST_END		\
-		(CONFIG_SYS_MEMTEST_START + PHYS_SDRAM_SIZE - 262144)
-
 /*
  * Hardware drivers
  */
-
 /*
- * UART Configuration
- *
- * define one of these to choose the DBGU,
- * USART0 or USART1 as console
+ * Choose a USART for serial console
+ * CONFIG_DBGU is DBGU unit on J10
+ * CONFIG_USART1 is USART1 on J14
  */
 #define CONFIG_AT91RM9200_USART
 #define CONFIG_DBGU
-#undef CONFIG_USART0
-#undef CONFIG_USART1
-/* don't include RTS/CTS flow control support	*/
-#undef	CONFIG_HWFLOW
-/* disable modem initialization stuff */
-#undef	CONFIG_MODEM_SUPPORT
 
 #define CONFIG_SYS_BAUDRATE_TABLE	{115200 , 19200, 38400, 57600, 9600 }
 #define CONFIG_BAUDRATE			115200
@@ -130,156 +122,60 @@
 #define CONFIG_CMD_FAT
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_PING
-
-#undef CONFIG_CMD_BDI
-#undef CONFIG_CMD_IMI
 #undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_MISC
-#undef CONFIG_CMD_LOADS
-
-#include <asm/arch/AT91RM9200.h>	/* needed for port definitions */
-/* Options for MMC/SD Card */
-#define CONFIG_DOS_PARTITION	1
-#undef CONFIG_MMC
-#define CONFIG_SYS_MMC_BASE		0xFFFB4000
-#define CONFIG_SYS_MMC_BLOCKSIZE	512
 
 /*
  * Network Driver Setting
  */
-#define CONFIG_NET_MULTI		1
-#ifdef CONFIG_NET_MULTI
-#define CONFIG_DRIVER_AT91EMAC		1
-#define CONFIG_SYS_RX_ETH_BUFFER	8
-#else
-#define CONFIG_DRIVER_ETHER		1
-#endif
-#define CONFIG_NET_RETRY_COUNT		20
-#define CONFIG_AT91C_USE_RMII
-
-/*
- * AC Characteristics
- * DLYBS = tCSS = 250ns min and DLYBCT = tCSH = 250ns
- */
-#define DATAFLASH_TCSS	(0xC << 16)
-#define DATAFLASH_TCHS	(0x1 << 24)
-
-#if defined(CONFIG_HAS_DATAFLASH)
-#define CONFIG_SYS_SPI_WRITE_TOUT		(5 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_MAX_DATAFLASH_BANKS		2
-#define CONFIG_SYS_MAX_DATAFLASH_PAGES		16384
-/* Logical adress for CS0 */
-#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000
-/* Logical adress for CS3 */
-#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3	0xD0000000
-#define	CONFIG_SYS_SUPPORT_BLOCK_ERASE		1
-#define	CONFIG_SYS_DATAFLASH_MMC_PIO		AT91C_PIO_PB22
-#endif
+#define CONFIG_NET_MULTI
+#define CONFIG_DRIVER_AT91EMAC
+#define CONFIG_SYS_RX_ETH_BUFFER	16
+#define CONFIG_RMII
+#define CONFIG_MII
 
 /*
  * NOR Flash
  */
-#define CONFIG_SYS_FLASH_BASE			0x10000000
-#define PHYS_FLASH_SIZE				0x800000	/* 8MB */
-#define CONFIG_SYS_FLASH_CFI			1
-#define CONFIG_FLASH_CFI_DRIVER			1
-#define CONFIG_SYS_MAX_FLASH_BANKS		1
-#define CONFIG_SYS_MAX_FLASH_SECT		256
+#define CONFIG_FLASH_CFI_DRIVER
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_SYS_FLASH_BASE		0x10000000
+#define PHYS_FLASH_1			CONFIG_SYS_FLASH_BASE
+#define PHYS_FLASH_SIZE			SZ_8M
+#define CONFIG_SYS_MAX_FLASH_BANKS	1
+#define CONFIG_SYS_MAX_FLASH_SECT	256
 #define CONFIG_SYS_FLASH_PROTECTION
 
 /*
  * Environment Settings
  */
-#ifdef CONFIG_ENV_IS_IN_DATAFLASH
-/*
- * Datasflash Environment Settings
- */
-#define CONFIG_ENV_OFFSET			0x4200
-#define CONFIG_ENV_ADDR			\
-		(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
-/* 8 * 1056 really , but start.s is not OK with this*/
-#define CONFIG_ENV_SIZE			0x2000
+#define CONFIG_ENV_IS_IN_FLASH
 
-#else
-/*
- * NOR Flash Environment Settings
- */
-#define CONFIG_ENV_IS_IN_FLASH		1
-
-#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-/*
- * between boot.bin and u-boot.bin.gz
- */
-#define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0xe000)
-#define CONFIG_ENV_SIZE			0x10000 /* sectors are 64K here */
-#else
 /*
  * after u-boot.bin
  */
 #define CONFIG_ENV_ADDR			\
 		(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_ENV_SIZE			0x10000 /* sectors are 64K here */
+#define CONFIG_ENV_SIZE			SZ_64K /* sectors are 64K here */
 /* The following #defines are needed to get flash environment right */
 #define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_MONITOR_LEN		\
-		(CONFIG_SYS_BOOT_SIZE + CONFIG_SYS_U_BOOT_SIZE)
-#endif	/* CONFIG_SKIP_LOWLEVEL_INIT */
-
-#endif	/* CONFIG_ENV_IS_IN_DATAFLASH */
+#define CONFIG_SYS_MONITOR_LEN		SZ_256K
 
 /*
  * Boot option
  */
 #define CONFIG_BOOTDELAY		3
 
-#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-/* boot.bin, env, u-boot.bin.gz */
-#define CONFIG_SYS_BOOT_SIZE		0x6000 /* 24 KBytes */
-#define CONFIG_SYS_U_BOOT_BASE		(CONFIG_SYS_FLASH_BASE + 0x10000)
-#define CONFIG_SYS_U_BOOT_SIZE		0x10000 /* 64 KBytes */
-#else
-/* u-boot.bin */
-#define CONFIG_SYS_BOOT_SIZE		0x0 /* 0 KBytes */
-#define CONFIG_SYS_U_BOOT_BASE		CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_U_BOOT_SIZE		0x40000 /* 128 KBytes */
-#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
-
-#define CONFIG_SYS_LOAD_ADDR		0x21000000 /* default load address */
-#define CONFIG_ENV_OVERWRITE	1
-
-/*
- * USB Config
- */
-#define CONFIG_CMD_USB
-#define CONFIG_USB_OHCI_NEW	1
-#define CONFIG_USB_KEYBOARD	1
-#define CONFIG_USB_STORAGE	1
-#define CONFIG_DOS_PARTITION	1
-
-#undef CONFIG_SYS_USB_OHCI_BOARD_INIT
-#define CONFIG_SYS_USB_OHCI_CPU_INIT		1
-#define CONFIG_SYS_USB_OHCI_REGS_BASE		AT91_USB_HOST_BASE
-#define CONFIG_SYS_USB_OHCI_SLOT_NAME		"at91rm9200"
-#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	15
-
-/*
- * I2C
- */
-#define CONFIG_HARD_I2C
-
-#ifdef CONFIG_HARD_I2C
-#define CONFIG_CMD_I2C
-#define CONFIG_SYS_I2C_SPEED		0	/* not used */
-#define CONFIG_SYS_I2C_SLAVE		0	/* not used */
-#endif
+/* default load address */
+#define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_SDRAM_BASE + SZ_16M
+#define CONFIG_ENV_OVERWRITE
 
 /*
  * Shell Settings
  */
-#define CONFIG_CMDLINE_EDITING		1
-#define CONFIG_SYS_LONGHELP		1
-#define CONFIG_AUTO_COMPLETE		1
-#define CONFIG_SYS_HUSH_PARSER		1
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT		"U-Boot> "
 #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
 #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
@@ -288,41 +184,18 @@
 #define CONFIG_SYS_PBSIZE		\
 		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
 
-#ifndef __ASSEMBLY__
-/*-----------------------------------------------------------------------
- * Board specific extension for bd_info
- *
- * This structure is embedded in the global bd_info (bd_t) structure
- * and can be used by the board specific code (eg board/...)
- */
-
-struct bd_info_ext {
-	/* helper variable for board environment handling
-	 *
-	 * env_crc_valid == 0	=>	uninitialised
-	 * env_crc_valid > 0	=>	environment crc in flash is valid
-	 * env_crc_valid < 0	=>	environment crc in flash is invalid
-	 */
-	int env_crc_valid;
-};
-#endif
-
-#define CONFIG_SYS_HZ 1000
-/*
- * AT91C_TC0_CMR is implicitly set to
- * AT91C_TC_TIMER_DIV1_CLOCK
- */
-#define CONFIG_SYS_HZ_CLOCK (AT91C_MASTER_CLOCK / 2)
-
 /*
  * Size of malloc() pool
  */
-#define CONFIG_SYS_MALLOC_LEN		ROUND(3 * CONFIG_ENV_SIZE + 128 * 1024 \
-					     , 0x1000)
+#define CONFIG_SYS_MALLOC_LEN		ROUND(3 * CONFIG_ENV_SIZE + SZ_128K, \
+					     SZ_4K)
 /* size in bytes reserved for initial data */
 #define CONFIG_SYS_GBL_DATA_SIZE	128
 
-#define CONFIG_STACKSIZE		(32 * 1024)	/* regular stack */
-#define CONFIG_STACKSIZE_IRQ		(4 * 1024) /* Unsure if to big or to small*/
-#define CONFIG_STACKSIZE_FIQ		(4 * 1024) /* Unsure if to big or to small*/
-#endif
+#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + SZ_4K \
+					- CONFIG_SYS_GBL_DATA_SIZE)
+
+#define CONFIG_STACKSIZE		SZ_32K	/* regular stack */
+#define CONFIG_STACKSIZE_IRQ		SZ_4K	/* Unsure if to big or to small*/
+#define CONFIG_STACKSIZE_FIQ		SZ_4K	/* Unsure if to big or to small*/
+#endif /* __AT91RM9200EK_CONFIG_H__ */
-- 
1.7.3.1

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

* [U-Boot] [PATCH v2 2/3] at91rm9200: enable USB support
  2010-10-18 20:58 ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
@ 2010-10-18 20:58   ` Andreas Bießmann
  2010-10-18 20:58   ` [U-Boot] [PATCH v2 3/3] at91rm9200ek: enbable " Andreas Bießmann
  2010-10-18 21:37   ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Reinhard Meyer
  2 siblings, 0 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-18 20:58 UTC (permalink / raw)
  To: u-boot

This patch fixes arch-at91/hardware.h to have the relevant defines for
at91rm9200 devices to support existing at91 usb driver.

Signed-off-by: Andreas Bie?mann <andreas.devel@googlemail.com>
---
v2: no changes since v1

 arch/arm/include/asm/arch-at91/hardware.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/arch-at91/hardware.h b/arch/arm/include/asm/arch-at91/hardware.h
index 9f732a7..f5f80e0 100644
--- a/arch/arm/include/asm/arch-at91/hardware.h
+++ b/arch/arm/include/asm/arch-at91/hardware.h
@@ -18,6 +18,7 @@
 
 #if defined(CONFIG_AT91RM9200)
 #include <asm/arch-at91/at91rm9200.h>
+#define AT91_PMC_UHP	AT91RM9200_PMC_UHP
 #elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)
 #include <asm/arch/at91sam9260.h>
 #define AT91_BASE_MCI	AT91SAM9260_BASE_MCI
-- 
1.7.3.1

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

* [U-Boot] [PATCH v2 3/3] at91rm9200ek: enbable USB support
  2010-10-18 20:58 ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
  2010-10-18 20:58   ` [U-Boot] [PATCH v2 2/3] at91rm9200: enable USB support Andreas Bießmann
@ 2010-10-18 20:58   ` Andreas Bießmann
  2010-10-18 21:37   ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Reinhard Meyer
  2 siblings, 0 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-18 20:58 UTC (permalink / raw)
  To: u-boot

This patch enables USB for at91rm9200ek board.

Signed-off-by: Andreas Bie?mann <andreas.devel@googlemail.com>
---
v2: no changes since v1
 include/configs/at91rm9200ek.h |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
index 6b2dd63..b386057 100644
--- a/include/configs/at91rm9200ek.h
+++ b/include/configs/at91rm9200ek.h
@@ -122,6 +122,7 @@
 #define CONFIG_CMD_FAT
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_PING
+#define CONFIG_CMD_USB
 #undef CONFIG_CMD_FPGA
 
 /*
@@ -146,6 +147,20 @@
 #define CONFIG_SYS_FLASH_PROTECTION
 
 /*
+ * USB Config
+ */
+#define CONFIG_USB_ATMEL			1
+#define CONFIG_USB_OHCI_NEW			1
+#define CONFIG_USB_KEYBOARD			1
+#define CONFIG_USB_STORAGE			1
+#define CONFIG_DOS_PARTITION			1
+
+#define CONFIG_SYS_USB_OHCI_CPU_INIT		1
+#define CONFIG_SYS_USB_OHCI_REGS_BASE		AT91_USB_HOST_BASE
+#define CONFIG_SYS_USB_OHCI_SLOT_NAME		"at91rm9200"
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	15
+
+/*
  * Environment Settings
  */
 #define CONFIG_ENV_IS_IN_FLASH
-- 
1.7.3.1

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

* [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91
  2010-10-18 20:58 ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
  2010-10-18 20:58   ` [U-Boot] [PATCH v2 2/3] at91rm9200: enable USB support Andreas Bießmann
  2010-10-18 20:58   ` [U-Boot] [PATCH v2 3/3] at91rm9200ek: enbable " Andreas Bießmann
@ 2010-10-18 21:37   ` Reinhard Meyer
  2010-10-19  7:29     ` Andreas Bießmann
  2 siblings, 1 reply; 18+ messages in thread
From: Reinhard Meyer @ 2010-10-18 21:37 UTC (permalink / raw)
  To: u-boot

Dear Andreas Bie?mann,
> Signed-off-by: Andreas Bie?mann<andreas.devel@googlemail.com>
> +Andreas Bie?mann<andreas.devel@gmail.com>

in the 2nd line the "?" does not show here (a "FFFD" box is shown
instead. Is it only me or
do others have similar problems? I think that line was produced
in a different code page? Maybe we should refrain from using non
ASCII characters within source code?

Reinhard

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

* [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91
  2010-10-18 21:37   ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Reinhard Meyer
@ 2010-10-19  7:29     ` Andreas Bießmann
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Bießmann @ 2010-10-19  7:29 UTC (permalink / raw)
  To: u-boot

Dear Reinhard Meyer,

Am 18.10.2010 23:37, schrieb Reinhard Meyer:
> Dear Andreas Bie?mann,
>> Signed-off-by: Andreas Bie?mann<andreas.devel@googlemail.com>
This is correct UTF8 coded line

>> +Andreas Bie?mann<andreas.devel@gmail.com>

This is a patch to a latin1 coded file. When you e.g. save this mail and
look through it with 'cat <file> | less' you may see 'Andreas
Bie<DF>mann <andreas.devel@gmail.com>'.
When you then look for latin1 coding table you may see <DF> is '?'. So
this is correct here. Some other files in the patch are still coded in
utf-8 (as the mail is), therefore your MUA represents the stuff correct
to you.
The file MAINTAINERS is in latin1 coding cause a lot of/some other
contributors also have non-ASCII characters in their names. A short test
will show this to you:

open MAINTAINERS in vim; :set fileencoding=utf8; save; git diff

> in the 2nd line the "?" does not show here (a "FFFD" box is shown
> instead. Is it only me or
> do others have similar problems? 

No, everyone with correct configured MUA should see this

> I think that line was produced
> in a different code page?

Yes, the file MAINTAINERS is in latin1 while the mail and some other
files touched are in utf-8.

> Maybe we should refrain from using non
> ASCII characters within source code?

I don't know. But my surname is Bie?mann and _not_ Biessmann.

Shouldn't we change the coding for all files to utf-8 instead?

regards

Andreas Bie?mann

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

* [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek
  2010-10-16  0:41 [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Andreas Bießmann
                   ` (3 preceding siblings ...)
  2010-10-18 20:58 ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
@ 2010-10-19 13:52 ` Reinhard Meyer
  4 siblings, 0 replies; 18+ messages in thread
From: Reinhard Meyer @ 2010-10-19 13:52 UTC (permalink / raw)
  To: u-boot

Dear Andreas Bie?mann,
> This patch series introduce new board support for at91rm9200ek.
> The derived code is now converted to new at91 code. Arm relocation is also
> implemented.
> 
> There where some tradeoffs regarding device support. Currently the code basis
> does not support all devices supported before. This includes
>  a) remove support for dataflash since i can not test it (yet, should follow
>     in some weeks)
>  b) preloader support is disabled since NOR booting does not need any first
>     stage loader
>  c) MMC/SD-card is currently not supported (but was not before)
> 
> Next steps are:
>  - get dataflash running
>  - remove at91rm9200_usart driver (should merge with atmel_usart)
>  - support MMC/SD-Card (also merge with current AT91/AVR32 implementation)
>  - merge emac/macb
> 
> Andreas Bie?mann (3):
>   at91rm9200ek: convert to at91
>   at91rm9200: enable USB support
>   at91rm9200ek: enbable USB support
> 
>  MAINTAINERS                               |    4 +
>  arch/arm/include/asm/arch-at91/hardware.h |    1 +
>  board/atmel/at91rm9200ek/Makefile         |    1 -
>  board/atmel/at91rm9200ek/at91rm9200ek.c   |   58 ++-----
>  board/atmel/at91rm9200ek/config.mk        |    3 +-
>  board/atmel/at91rm9200ek/led.c            |   58 ++++----
>  board/atmel/at91rm9200ek/misc.c           |   50 ------
>  boards.cfg                                |    2 +-
>  include/configs/at91rm9200ek.h            |  233 ++++++++---------------------
>  9 files changed, 118 insertions(+), 292 deletions(-)
>  delete mode 100644 board/atmel/at91rm9200ek/misc.c
> 
Added V2 of the series to u-boot-atmel/at91.
Thanks,
Reinhard

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

end of thread, other threads:[~2010-10-19 13:52 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-16  0:41 [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Andreas Bießmann
2010-10-16  0:41 ` [U-Boot] [PATCH 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
2010-10-17 18:06   ` Reinhard Meyer
2010-10-17 18:40     ` Wolfgang Denk
2010-10-18  6:36       ` Andreas Bießmann
2010-10-18  6:46         ` Wolfgang Denk
2010-10-18  6:36     ` Andreas Bießmann
2010-10-18  8:40       ` Reinhard Meyer
2010-10-18  9:27         ` Andreas Bießmann
2010-10-18 11:21           ` Reinhard Meyer
2010-10-16  0:41 ` [U-Boot] [PATCH 2/3] at91rm9200: enable USB support Andreas Bießmann
2010-10-16  0:41 ` [U-Boot] [PATCH 3/3] at91rm9200ek: enbable " Andreas Bießmann
2010-10-18 20:58 ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Andreas Bießmann
2010-10-18 20:58   ` [U-Boot] [PATCH v2 2/3] at91rm9200: enable USB support Andreas Bießmann
2010-10-18 20:58   ` [U-Boot] [PATCH v2 3/3] at91rm9200ek: enbable " Andreas Bießmann
2010-10-18 21:37   ` [U-Boot] [PATCH v2 1/3] at91rm9200ek: convert to at91 Reinhard Meyer
2010-10-19  7:29     ` Andreas Bießmann
2010-10-19 13:52 ` [U-Boot] [PATCH 0/3] new BSP for at91rm9200ek Reinhard Meyer

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