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>
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 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 @@
 	. = 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)
 	}