From d23ff6827decf121461fbc5622612fd7effe207e Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Thu, 3 Apr 2008 17:04:22 +0200 Subject: 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 --- board/mx31ads/mx31ads.c | 16 ++++++++-------- board/mx31ads/u-boot.lds | 13 ++++++++++++- 2 files changed, 20 insertions(+), 9 deletions(-) (limited to 'board/mx31ads') 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) } -- cgit v1.1