summaryrefslogtreecommitdiff
path: root/board/mx31ads
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <lg@denx.de>2008-04-03 17:04:22 +0200
committerWolfgang Denk <wd@denx.de>2008-04-18 10:06:50 -0700
commitd23ff6827decf121461fbc5622612fd7effe207e (patch)
treeb555c6e008a6bcba507730787cc113327acbebf1 /board/mx31ads
parentb5dc9b304d289831f291843ff88a45cbdf1a6290 (diff)
downloadu-boot-imx-d23ff6827decf121461fbc5622612fd7effe207e.zip
u-boot-imx-d23ff6827decf121461fbc5622612fd7effe207e.tar.gz
u-boot-imx-d23ff6827decf121461fbc5622612fd7effe207e.tar.bz2
MX31ADS network and flash updates
This patch allows U-Boot to use buffered writes to the Spansion NOR flash installed on this board, and eliminates long delays in network transfers after the board startup. Also modify flash layout to embed main and redundant environment blocks in the U-Boot image. Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Diffstat (limited to 'board/mx31ads')
-rw-r--r--board/mx31ads/mx31ads.c16
-rw-r--r--board/mx31ads/u-boot.lds13
2 files changed, 20 insertions, 9 deletions
diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c
index 7c50c02..5a7d8c9 100644
--- a/board/mx31ads/mx31ads.c
+++ b/board/mx31ads/mx31ads.c
@@ -38,18 +38,18 @@ int dram_init (void)
int board_init (void)
{
int i;
-#if 0
+
/* CS0: Nor Flash */
/*
- * These are values from the RedBoot sources by Freescale. However,
- * under U-Boot with this configuration 32-bit accesses don't work,
- * lower 16 bits of data are read twice for each 32-bit read.
+ * CS0L and CS0A values are from the RedBoot sources by Freescale
+ * and are also equal to those used by Sascha Hauer for the Phytec
+ * i.MX31 board. CS0U is just a slightly optimized hardware default:
+ * the only non-zero field "Wait State Control" is set to half the
+ * default value.
*/
- __REG(CSCR_U(0)) = 0x23524E80;
- __REG(CSCR_L(0)) = 0x10000D03; /* WRAP bit (1) is suspicious here, but
- * disabling it doesn't help either */
+ __REG(CSCR_U(0)) = 0x00000f00;
+ __REG(CSCR_L(0)) = 0x10000D03;
__REG(CSCR_A(0)) = 0x00720900;
-#endif
/* setup pins for UART1 */
mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX);
diff --git a/board/mx31ads/u-boot.lds b/board/mx31ads/u-boot.lds
index 1460adc..49713d4 100644
--- a/board/mx31ads/u-boot.lds
+++ b/board/mx31ads/u-boot.lds
@@ -34,7 +34,18 @@ SECTIONS
. = ALIGN(4);
.text :
{
- cpu/arm1136/start.o (.text)
+ /* WARNING - the following is hand-optimized to fit within */
+ /* the sector layout of our flash chips! XXX FIXME XXX */
+
+ cpu/arm1136/start.o (.text)
+ board/mx31ads/libmx31ads.a (.text)
+ lib_arm/libarm.a (.text)
+ net/libnet.a (.text)
+ drivers/mtd/libmtd.a (.text)
+
+ . = DEFINED(env_offset) ? env_offset : .;
+ common/environment.o(.text)
+
*(.text)
}