[Armadeus-commitlog] armadeus branch, master, updated. release-3.3-210-gb6df107
Brought to you by:
sszy
|
From: Fabien M <fa...@us...> - 2011-01-05 17:23:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via b6df1071e9eb5fbe2ba55594a53517c234bc27e8 (commit)
from 96c957b8b9b650b4fdf310465ff9b6057e7a3bfd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b6df1071e9eb5fbe2ba55594a53517c234bc27e8
Author: Fabien Marteau <fab...@ar...>
Date: Wed Jan 5 18:23:05 2011 +0100
[U-BOOT] Suppress trailling white space for all patch in u-boot-2010.03
-----------------------------------------------------------------------
Summary of changes:
.../target/u-boot/u-boot-2010.03-100-imx.patch | 22 +-
.../target/u-boot/u-boot-2010.03-110-apf9328.patch | 88 ++-
.../u-boot/u-boot-2010.03-111-apf9328-DM9000.patch | 24 +-
.../u-boot-2010.03-112-apf9328-makefile.patch | 16 +-
.../u-boot/u-boot-2010.03-120-apf9328-tools.patch | 48 +-
.../target/u-boot/u-boot-2010.03-140-ds1374.patch | 18 +-
...apf9328-fixes_gcc_4_4_EABI_linking_issues.patch | 30 +-
.../target/u-boot/u-boot-2010.03-300-imx27.patch | 64 ++-
.../target/u-boot/u-boot-2010.03-301-nand.patch | 63 +-
.../target/u-boot/u-boot-2010.03-310-apf27.patch | 662 ++++++++++----------
.../u-boot-2010.03-311-imx-nand-lock-unlock.patch | 12 +-
...-boot-2010.03-312-imx-nand-write-any-size.patch | 16 +-
.../target/u-boot/u-boot-2010.03-320-spartan.patch | 14 +-
.../u-boot/u-boot-2010.03-330-fix-nand-debug.patch | 8 +-
.../u-boot-2010.03-340-fix-fecmxc-debug.patch | 8 +-
.../u-boot-2010.03-350-fix-jffs2-warns.patch | 8 +-
.../target/u-boot/u-boot-2010.03-400-imx51.patch | 129 ++--
.../target/u-boot/u-boot-2010.03-401-apf51.patch | 24 +-
.../u-boot/u-boot-2010.03-403-apf51-wdog.patch | 20 +-
.../u-boot/u-boot-2010.03-404-apf51-fec.patch | 16 +-
.../u-boot/u-boot-2010.03-407-imx51-nand.patch | 33 +-
.../u-boot/u-boot-2010.03-409-apf51-nand-spl.patch | 35 +-
.../target/u-boot/u-boot-2010.03-410-imx-iim.patch | 51 +-
23 files changed, 776 insertions(+), 633 deletions(-)
diff --git a/buildroot/target/u-boot/u-boot-2010.03-100-imx.patch b/buildroot/target/u-boot/u-boot-2010.03-100-imx.patch
index 01dcaca..f22a977 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-100-imx.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-100-imx.patch
@@ -1,6 +1,8 @@
---- u-boot-2010.03-rc2/cpu/arm920t/imx/timer.c.ori 2010-03-22 23:25:00.000000000 +0100
-+++ u-boot-2010.03-rc2/cpu/arm920t/imx/timer.c 2010-03-30 22:35:41.000000000 +0200
-@@ -75,16 +75,16 @@ void reset_timer_masked (void)
+Index: u-boot-2010.03/cpu/arm920t/imx/timer.c
+===================================================================
+--- u-boot-2010.03.orig/cpu/arm920t/imx/timer.c 2010-03-31 23:54:39.000000000 +0200
++++ u-boot-2010.03/cpu/arm920t/imx/timer.c 2011-01-05 17:54:10.000000000 +0100
+@@ -75,16 +75,16 @@
ulong get_timer_masked (void)
{
@@ -20,8 +22,10 @@
diff = endtime - now;
} while (diff >= 0);
}
---- u-boot.ref/cpu/arm920t/imx/speed.c 2008-08-12 16:08:38.000000000 +0200
-+++ u-boot/cpu/arm920t/imx/speed.c 2008-09-13 16:16:58.000000000 +0200
+Index: u-boot-2010.03/cpu/arm920t/imx/speed.c
+===================================================================
+--- u-boot-2010.03.orig/cpu/arm920t/imx/speed.c 2010-03-31 23:54:39.000000000 +0200
++++ u-boot-2010.03/cpu/arm920t/imx/speed.c 2011-01-05 17:54:10.000000000 +0100
@@ -36,33 +36,27 @@
* the specified bus in HZ.
*/
@@ -68,7 +72,7 @@
}
ulong get_FCLK(void)
-@@ -74,7 +68,6 @@ ulong get_FCLK(void)
+@@ -74,7 +68,6 @@
ulong get_HCLK(void)
{
u32 bclkdiv = (( CSCR >> 10 ) & 0xf) + 1;
@@ -76,8 +80,10 @@
return get_systemPLLCLK() / bclkdiv;
}
---- u-boot.ref/include/asm-arm/arch-imx/imx-regs.h 2008-08-12 16:08:38.000000000 +0200
-+++ u-boot/include/asm-arm/arch-imx/imx-regs.h 2008-09-13 16:16:58.000000000 +0200
+Index: u-boot-2010.03/include/asm-arm/arch-imx/imx-regs.h
+===================================================================
+--- u-boot-2010.03.orig/include/asm-arm/arch-imx/imx-regs.h 2010-03-31 23:54:39.000000000 +0200
++++ u-boot-2010.03/include/asm-arm/arch-imx/imx-regs.h 2011-01-05 17:54:10.000000000 +0100
@@ -631,4 +631,27 @@
#define TSTAT_CAPT (1<<1) /* Capture event */
#define TSTAT_COMP (1) /* Compare event */
diff --git a/buildroot/target/u-boot/u-boot-2010.03-110-apf9328.patch b/buildroot/target/u-boot/u-boot-2010.03-110-apf9328.patch
index 0e214f6..e01e8be 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-110-apf9328.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-110-apf9328.patch
@@ -1,5 +1,7 @@
---- ref/u-boot/board/armadeus/apf9328/apf9328.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/apf9328.c 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/apf9328.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/apf9328.c 2011-01-05 18:06:50.000000000 +0100
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2004 Sascha Hauer, Synertronixx GmbH
@@ -67,7 +69,7 @@
+misc_init_r (void)
+{
+ char *s;
-+
++
+#if (CONFIG_FPGA)
+ apf9328_init_fpga ();
+#endif
@@ -76,7 +78,7 @@
+ imx_gpio_mode (GPIO_PORTB | GPIO_DR | GPIO_IN | 14);
+#endif
+
-+ /* adjust size of rootfs if needed */
++ /* adjust size of rootfs if needed */
+#if (CONFIG_FLASH_CFI_DRIVER)
+ s = getenv ("rootfs_len");
+ if (( NULL == s ) || (0 == strcmp(s, ""))) {
@@ -87,7 +89,7 @@
+ }
+#endif
+
-+ /* detect compatibility issue of environment version */
++ /* detect compatibility issue of environment version */
+ s = getenv ("env_version");
+ if (( NULL == s ) || (0 != strcmp(s, CONFIG_ENV_VERSION))) {
+ printf("*** Warning - Environment version change suggests: "
@@ -102,8 +104,10 @@
+{
+ return;
+}
---- ref/u-boot/board/armadeus/apf9328/apf9328fpga.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/apf9328fpga.c 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/apf9328fpga.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/apf9328fpga.c 2011-01-05 18:06:37.000000000 +0100
@@ -0,0 +1,100 @@
+/*
+ * (C) Copyright 2005
@@ -154,8 +158,8 @@
+
+/* Note that these are pointers to code that is in Flash. They will be
+ * relocated at runtime.
-+ * Spartan3 code is used to download our Spartan 3 :) code is compatible.
-+ * Just take care about the file size
++ * Spartan3 code is used to download our Spartan 3 :) code is compatible.
++ * Just take care about the file size
+*/
+Xilinx_Spartan3_Slave_Serial_fns fpga_fns = {
+ fpga_pre_fn,
@@ -195,7 +199,7 @@
+ }
+
+ if (( autoload ) && (0 == strcmp(autoload, "1"))) {
-+ if (FPGA_SUCCESS != fpga_load( 0, (void *)CONFIG_FIRMWARE_ADDR,
++ if (FPGA_SUCCESS != fpga_load( 0, (void *)CONFIG_FIRMWARE_ADDR,
+ (size_t) CONFIG_FIRMWARE_LEN )) {
+ lout = 0;
+ printf("Firmware not loaded!\n");
@@ -205,8 +209,10 @@
+}
+
+#endif /* CONFIG_FPGA */
---- ref/u-boot/board/armadeus/apf9328/apf9328fpga.h 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/apf9328fpga.h 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/apf9328fpga.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/apf9328fpga.h 2011-01-05 18:06:21.000000000 +0100
@@ -0,0 +1,31 @@
+/*
+ * (C) Copyright 2002
@@ -236,11 +242,13 @@
+/*
+ * Spartan 3 FPGA configuration support for the APF9328 daughter board
+ */
-+
++
+#include "fpga.h"
+extern int apf9328_init_fpga (void);
---- ref/u-boot/board/armadeus/apf9328/config.mk 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/config.mk 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/config.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/config.mk 2011-01-05 18:05:23.000000000 +0100
@@ -0,0 +1,10 @@
+#
+# This config file is used for compilation of armadeus sources
@@ -252,8 +260,10 @@
+#
+
+TEXT_BASE = 0x0BF80000
---- ref/u-boot/board/armadeus/apf9328/fpga.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/fpga.c 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/fpga.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/fpga.c 2011-01-05 18:05:59.000000000 +0100
@@ -0,0 +1,140 @@
+/*
+ * (C) Copyright 2002
@@ -317,8 +327,8 @@
+
+/* Note that these are pointers to code that is in Flash. They will be
+ * relocated at runtime.
-+ * Spartan2 code is used to download our Spartan 3 :) code is compatible.
-+ * Just take care about the file size
++ * Spartan2 code is used to download our Spartan 3 :) code is compatible.
++ * Just take care about the file size
+*/
+
+/*
@@ -344,7 +354,7 @@
+int
+fpga_pgm_fn (int assert, int flush, int cookie)
+{
-+ PRINTF ("%s:%d: FPGA PROGRAM %s", __FUNCTION__, __LINE__,
++ PRINTF ("%s:%d: FPGA PROGRAM %s", __FUNCTION__, __LINE__,
+ assert?"high":"low");
+ GPIO_WRITE( FPGA_PROGRAM, !assert);
+ return assert;
@@ -356,7 +366,7 @@
+int
+fpga_clk_fn (int assert_clk, int flush, int cookie)
+{
-+ PRINTF ("%s:%d: FPGA CLOCK %s", __FUNCTION__, __LINE__,
++ PRINTF ("%s:%d: FPGA CLOCK %s", __FUNCTION__, __LINE__,
+ assert_clk?"high":"low");
+ GPIO_WRITE( FPGA_CLOCK, assert_clk);
+ return assert_clk;
@@ -395,8 +405,10 @@
+}
+
+#endif /* CONFIG_FPGA */
---- ref/u-boot/board/armadeus/apf9328/fpga.h 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/fpga.h 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/fpga.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/fpga.h 2011-01-05 18:05:23.000000000 +0100
@@ -0,0 +1,30 @@
+/*
+ * (C) Copyright 2002
@@ -428,8 +440,10 @@
+extern int fpga_done_fn (int cookie);
+extern int fpga_clk_fn (int assert_clk, int flush, int cookie);
+extern int fpga_wr_fn (int assert_write, int flush, int cookie);
---- ref/u-boot/board/armadeus/apf9328/i2c.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/i2c.c 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/i2c.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/i2c.c 2011-01-05 18:05:41.000000000 +0100
@@ -0,0 +1,305 @@
+/*
+ * Eric Jarrige <jo...@us...>
@@ -595,7 +609,7 @@
+ tmpIC = i;
+ }
+ }
-+
++
+ IFDR = tmpIC;
+ IADR = slaveaddr << 1;
+
@@ -736,8 +750,10 @@
+}
+
+#endif /* CONFIG_HARD_I2C */
---- ref/u-boot/board/armadeus/apf9328/lowlevel_init.S 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/lowlevel_init.S 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/lowlevel_init.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/lowlevel_init.S 2011-01-05 18:07:06.000000000 +0100
@@ -0,0 +1,443 @@
+/*
+ * Copyright (C) 2004 Sascha Hauer, Synertronixx GmbH
@@ -858,7 +874,7 @@
+ ORR r0,r0,#0xC0000000
+ MCR p15,0,r0,c1,c0,0
+
-+/* ldr r0, =GPR(0)
++/* ldr r0, =GPR(0)
+ ldr r1, =CONFIG_SYS_GPR_A_VAL
+ str r1, [r0]
+*/
@@ -1177,13 +1193,15 @@
+ ldr r1, =CONFIG_SYS_SDRAM_1_BASE+CONFIG_SYS_SDRAM_MODE_REGISTER_VAL
+ str r2, [r1]
+
-+ ldr r1, =CONFIG_SYS_NORMAL_RW_CMD
++ ldr r1, =CONFIG_SYS_NORMAL_RW_CMD
+ str r1, [r0]
+
+endofmemsetup:
+ mov pc,r10
---- ref/u-boot/board/armadeus/apf9328/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/Makefile 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/Makefile
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/Makefile 2011-01-05 18:05:23.000000000 +0100
@@ -0,0 +1,50 @@
+#
+# (C) Copyright 2000-2004
@@ -1235,8 +1253,10 @@
+sinclude $(obj).depend
+
+#########################################################################
---- ref/u-boot/board/armadeus/apf9328/u-boot.lds 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot/board/armadeus/apf9328/u-boot.lds 2008-11-14 00:48:19.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/u-boot.lds
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/u-boot.lds 2011-01-05 18:05:23.000000000 +0100
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2000-2004
diff --git a/buildroot/target/u-boot/u-boot-2010.03-111-apf9328-DM9000.patch b/buildroot/target/u-boot/u-boot-2010.03-111-apf9328-DM9000.patch
index eaa1f89..6537979 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-111-apf9328-DM9000.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-111-apf9328-DM9000.patch
@@ -1,6 +1,8 @@
---- u-boot-2010.03-rc1/drivers/net/dm9000x.c 2010-03-12 23:06:04.000000000 +0100
-+++ u-boot-2010.03-rc1.new/drivers/net/dm9000x.c 2010-03-23 01:24:07.000000000 +0100
-@@ -232,7 +232,7 @@ dm9000_probe(void)
+Index: u-boot-2010.03/drivers/net/dm9000x.c
+===================================================================
+--- u-boot-2010.03.orig/drivers/net/dm9000x.c 2011-01-05 18:05:14.000000000 +0100
++++ u-boot-2010.03/drivers/net/dm9000x.c 2011-01-05 18:07:13.000000000 +0100
+@@ -232,7 +232,7 @@
id_val |= DM9000_ior(DM9000_PIDL) << 16;
id_val |= DM9000_ior(DM9000_PIDH) << 24;
if (id_val == DM9000_ID) {
@@ -9,7 +11,7 @@
id_val);
return 0;
} else {
-@@ -298,19 +298,19 @@ static int dm9000_init(struct eth_device
+@@ -298,19 +298,19 @@
switch (io_mode) {
case 0x0: /* 16-bit mode */
@@ -32,8 +34,10 @@
db->outblk = dm9000_outblk_8bit;
db->inblk = dm9000_inblk_8bit;
db->rx_status = dm9000_rx_status_8bit;
---- u-boot-2010.03-rc2/board/armadeus/apf9328/eeprom.c 2010-03-28 23:41:17.000000000 +0200
-+++ u-boot-2010.03-rc2/board/armadeus/apf9328/eeprom.c 2010-03-28 23:39:04.000000000 +0200
+Index: u-boot-2010.03/board/armadeus/apf9328/eeprom.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf9328/eeprom.c 2011-01-05 18:07:13.000000000 +0100
@@ -0,0 +1,85 @@
+/*
+ * (C) Copyright 2007
@@ -120,9 +124,11 @@
+ "\t\t\t03-07 : DM9000 Configuration\n"
+ "\t\t\t08-63 : User data"
+);
---- u-boot-2010.03-rc2/board/armadeus/apf9328/Makefile 2010-03-28 17:56:25.000000000 +0200
-+++ u-boot-2010.03-rc2/board/armadeus/apf9328/Makefile 2010-03-28 23:45:48.000000000 +0200
-@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
+Index: u-boot-2010.03/board/armadeus/apf9328/Makefile
+===================================================================
+--- u-boot-2010.03.orig/board/armadeus/apf9328/Makefile 2011-01-05 18:05:23.000000000 +0100
++++ u-boot-2010.03/board/armadeus/apf9328/Makefile 2011-01-05 18:07:13.000000000 +0100
+@@ -25,7 +25,7 @@
LIB = $(obj)lib$(BOARD).a
diff --git a/buildroot/target/u-boot/u-boot-2010.03-112-apf9328-makefile.patch b/buildroot/target/u-boot/u-boot-2010.03-112-apf9328-makefile.patch
index f8ea0dc..72cde6c 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-112-apf9328-makefile.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-112-apf9328-makefile.patch
@@ -1,6 +1,8 @@
---- u-boot-2010.03-rc1.ori/MAKEALL 2010-03-12 23:06:04.000000000 +0100
-+++ u-boot-2010.03-rc1/MAKEALL 2010-03-23 01:33:00.000000000 +0100
-@@ -543,6 +543,7 @@ LIST_ARM7=" \
+Index: u-boot-2010.03/MAKEALL
+===================================================================
+--- u-boot-2010.03.orig/MAKEALL 2011-01-05 18:05:14.000000000 +0100
++++ u-boot-2010.03/MAKEALL 2011-01-05 18:07:22.000000000 +0100
+@@ -542,6 +542,7 @@
LIST_ARM9=" \
a320evb \
@@ -8,9 +10,11 @@
ap920t \
ap922_XA10 \
ap926ejs \
---- u-boot-2010.03-rc1.ori/Makefile 2010-03-12 23:06:04.000000000 +0100
-+++ u-boot-2010.03-rc1/Makefile 2010-03-23 01:26:08.000000000 +0100
-@@ -2689,6 +2689,9 @@ a320evb_config : unconfig
+Index: u-boot-2010.03/Makefile
+===================================================================
+--- u-boot-2010.03.orig/Makefile 2011-01-05 18:05:14.000000000 +0100
++++ u-boot-2010.03/Makefile 2011-01-05 18:07:22.000000000 +0100
+@@ -2686,6 +2686,9 @@
## Atmel AT91RM9200 Systems
#########################################################################
diff --git a/buildroot/target/u-boot/u-boot-2010.03-120-apf9328-tools.patch b/buildroot/target/u-boot/u-boot-2010.03-120-apf9328-tools.patch
index aa20e9c..916137a 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-120-apf9328-tools.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-120-apf9328-tools.patch
@@ -1,6 +1,8 @@
---- u-boot-2010.03-rc1.ori/Makefile 2010-03-23 01:41:38.000000000 +0100
-+++ u-boot-2010.03-rc1/Makefile 2010-03-23 01:43:29.000000000 +0100
-@@ -285,6 +285,9 @@ ONENAND_IPL = onenand_ipl
+Index: u-boot-2010.03/Makefile
+===================================================================
+--- u-boot-2010.03.orig/Makefile 2011-01-05 18:07:22.000000000 +0100
++++ u-boot-2010.03/Makefile 2011-01-05 18:07:33.000000000 +0100
+@@ -285,6 +285,9 @@
U_BOOT_ONENAND = $(obj)u-boot-onenand.bin
ONENAND_BIN ?= $(obj)onenand_ipl/onenand-ipl-2k.bin
endif
@@ -10,7 +12,7 @@
__OBJS := $(subst $(obj),,$(OBJS))
__LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))
-@@ -334,6 +337,9 @@ $(obj)u-boot.kwb: $(obj)u-boot.bin
+@@ -334,6 +337,9 @@
$(obj)u-boot.sha1: $(obj)u-boot.bin
$(obj)tools/ubsha1 $(obj)u-boot.bin
@@ -20,7 +22,7 @@
$(obj)u-boot.dis: $(obj)u-boot
$(OBJDUMP) -d $< > $@
-@@ -3774,6 +3780,7 @@ clean:
+@@ -3771,6 +3777,7 @@
clobber: clean
@find $(OBJTREE) -type f \( -name .depend \
-o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
@@ -28,8 +30,10 @@
-print0 \
| xargs -0 rm -f
@rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
---- u-boot-1.3.4.ref/tools/breclib.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/tools/breclib.c 2008-09-13 16:28:09.000000000 +0200
+Index: u-boot-2010.03/tools/breclib.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/tools/breclib.c 2011-01-05 18:08:03.000000000 +0100
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright 2005
@@ -93,7 +97,7 @@
+ char *dst_ptr = buff;
+ unsigned char *src_ptr = a_mem;
+
-+
++
+
+ if (i > 31) {
+ fprintf(stderr, "cannot write more than 31 bytes at once in a bootstrap record\n");
@@ -110,8 +114,10 @@
+ sprintf(a_brecord, "%08lX%02X", a_addr, BS_EXEC());
+ return 0;
+}
---- u-boot-1.3.4.ref/tools/breclib.h 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/tools/breclib.h 2008-09-13 16:28:09.000000000 +0200
+Index: u-boot-2010.03/tools/breclib.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/tools/breclib.h 2011-01-05 18:07:33.000000000 +0100
@@ -0,0 +1,27 @@
+/*
+ * (C) Copyright 2005
@@ -140,9 +146,11 @@
+int build_brec_long_write_req(char *a_brecord, long a_addr, long a_value);
+int build_brec_mem_write_req(char *a_brecord, long a_addr, void *a_mem, int a_size);
+int build_brec_exe_req(char *a_brecord, long a_addr);
---- u-boot-2010.03-rc1.ori/tools/Makefile 2010-03-12 23:06:04.000000000 +0100
-+++ u-boot-2010.03-rc1/tools/Makefile 2010-03-23 01:57:30.000000000 +0100
-@@ -119,6 +119,12 @@ ifeq ($(VENDOR),ronetix)
+Index: u-boot-2010.03/tools/Makefile
+===================================================================
+--- u-boot-2010.03.orig/tools/Makefile 2011-01-05 18:05:14.000000000 +0100
++++ u-boot-2010.03/tools/Makefile 2011-01-05 18:08:17.000000000 +0100
+@@ -119,6 +119,12 @@
LOGO_BMP= logos/ronetix.bmp
endif
@@ -155,18 +163,20 @@
# now $(obj) is defined
HOSTSRCS += $(addprefix $(SRCTREE)/,$(EXT_OBJ_FILES-y:.o=.c))
HOSTSRCS += $(addprefix $(SRCTREE)/tools/,$(OBJ_FILES-y:.o=.c))
-@@ -152,6 +158,9 @@ $(obj)bmp_logo$(SFX): $(obj)bmp_logo.o
+@@ -152,6 +158,9 @@
$(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^
$(HOSTSTRIP) $@
-+$(obj)mkbrecimage$(SFX): $(obj)mkbrecimage.o $(obj)breclib.o
++$(obj)mkbrecimage$(SFX): $(obj)mkbrecimage.o $(obj)breclib.o
+ $(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^
+
$(obj)envcrc$(SFX): $(obj)crc32.o $(obj)env_embedded.o $(obj)envcrc.o $(obj)sha1.o
$(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^
---- u-boot-1.3.4.ref/tools/mkbrecimage.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/tools/mkbrecimage.c 2008-09-13 16:28:09.000000000 +0200
+Index: u-boot-2010.03/tools/mkbrecimage.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/tools/mkbrecimage.c 2011-01-05 18:07:53.000000000 +0100
@@ -0,0 +1,216 @@
+/*
+ * (C) Copyright 2005
@@ -333,7 +343,7 @@
+ dest_addr += byte_read;
+ byte_read =fread(a_in_buf, 1, 16, a_uboot_fd);
+
-+ }
++ }
+
+ return 0;
+}
@@ -357,7 +367,7 @@
+ the_prog_name, argv[1], strerror(errno));
+ exit (EXIT_FAILURE);
+ }
-+
++
+ out_fd = fopen(argv[2], "w");
+ if (out_fd == NULL) {
+ fprintf (stderr, "%s: Can't open output file %s: %s\n",
diff --git a/buildroot/target/u-boot/u-boot-2010.03-140-ds1374.patch b/buildroot/target/u-boot/u-boot-2010.03-140-ds1374.patch
index 4be4b0f..206db57 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-140-ds1374.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-140-ds1374.patch
@@ -1,6 +1,8 @@
---- u-boot-2010.03-rc1.ori/drivers/rtc/ds1374.c 2010-03-12 23:06:04.000000000 +0100
-+++ u-boot-2010.03-rc1/drivers/rtc/ds1374.c 2010-03-23 02:14:44.000000000 +0100
-@@ -113,6 +113,11 @@ int rtc_get (struct rtc_time *tm){
+Index: u-boot-2010.03/drivers/rtc/ds1374.c
+===================================================================
+--- u-boot-2010.03.orig/drivers/rtc/ds1374.c 2011-01-05 18:05:14.000000000 +0100
++++ u-boot-2010.03/drivers/rtc/ds1374.c 2011-01-05 18:08:28.000000000 +0100
+@@ -113,6 +113,11 @@
unsigned int limit;
unsigned char tmp;
unsigned int i;
@@ -12,7 +14,7 @@
/*
* Since the reads are being performed one byte at a time,
-@@ -154,6 +159,9 @@ int rtc_get (struct rtc_time *tm){
+@@ -154,6 +159,9 @@
tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday,
tm->tm_hour, tm->tm_min, tm->tm_sec);
@@ -22,7 +24,7 @@
return rel;
}
-@@ -164,6 +172,11 @@ int rtc_set (struct rtc_time *tmp){
+@@ -164,6 +172,11 @@
unsigned long time;
unsigned i;
@@ -34,7 +36,7 @@
DEBUGR ("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
-@@ -187,6 +200,9 @@ int rtc_set (struct rtc_time *tmp){
+@@ -187,6 +200,9 @@
/* Start clock */
rtc_write(RTC_CTL_ADDR, RTC_CTL_BIT_EN_OSC, FALSE);
@@ -44,7 +46,7 @@
return 0;
}
-@@ -200,6 +216,11 @@ int rtc_set (struct rtc_time *tmp){
+@@ -200,6 +216,11 @@
void rtc_reset (void){
struct rtc_time tmp;
@@ -56,7 +58,7 @@
/* clear status flags */
rtc_write (RTC_SR_ADDR, (RTC_SR_BIT_AF|RTC_SR_BIT_OSF), FALSE); /* clearing OSF and AF */
-@@ -232,6 +253,9 @@ void rtc_reset (void){
+@@ -232,6 +253,9 @@
rtc_write(RTC_WD_ALM_CNT_BYTE2_ADDR,0xAC, TRUE);
rtc_write(RTC_WD_ALM_CNT_BYTE1_ADDR,0xDE, TRUE);
rtc_write(RTC_WD_ALM_CNT_BYTE2_ADDR,0xAD, TRUE);
diff --git a/buildroot/target/u-boot/u-boot-2010.03-150-apf9328-fixes_gcc_4_4_EABI_linking_issues.patch b/buildroot/target/u-boot/u-boot-2010.03-150-apf9328-fixes_gcc_4_4_EABI_linking_issues.patch
index aa3119e..e033ef8 100644
--- a/buildroot/target/u-boot/u-boot-2010.03-150-apf9328-fixes_gcc_4_4_EABI_linking_issues.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-150-apf9328-fixes_gcc_4_4_EABI_linking_issues.patch
@@ -14,9 +14,11 @@ xxx/buildroot/output/build/staging_dir/usr/bin-ccache/../lib/gcc/arm-linux-uclib
Signed-off-by: Julien Boibessot <jul...@ar...>
---- u-boot-1.3.4/board/armadeus/apf9328/apf9328.c 2010-03-22 00:41:51.000000000 +0100
-+++ u-boot-1.3.4.new/board/armadeus/apf9328/apf9328.c 2010-03-22 00:31:05.000000000 +0100
-@@ -99,3 +99,12 @@ show_boot_progress (int status)
+Index: u-boot-2010.03/board/armadeus/apf9328/apf9328.c
+===================================================================
+--- u-boot-2010.03.orig/board/armadeus/apf9328/apf9328.c 2011-01-05 18:06:50.000000000 +0100
++++ u-boot-2010.03/board/armadeus/apf9328/apf9328.c 2011-01-05 18:08:34.000000000 +0100
+@@ -99,3 +99,12 @@
{
return;
}
@@ -29,17 +31,21 @@ Signed-off-by: Julien Boibessot <jul...@ar...>
+#endif
+
+void abort() {}
---- u-boot-2010.03-rc1/board/armadeus/apf9328/config.mk 2010-03-28 00:59:04.000000000 +0100
-+++ u-boot-2010.03-rc1/board/armadeus/apf9328/config.mk 2010-03-28 01:16:28.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf9328/config.mk
+===================================================================
+--- u-boot-2010.03.orig/board/armadeus/apf9328/config.mk 2011-01-05 18:05:23.000000000 +0100
++++ u-boot-2010.03/board/armadeus/apf9328/config.mk 2011-01-05 18:08:34.000000000 +0100
@@ -8,3 +8,5 @@
#
TEXT_BASE = 0x0BF80000
+
+LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
---- u-boot-1.3.4/board/armadeus/apf9328/u-boot.lds 2010-03-22 00:41:51.000000000 +0100
-+++ u-boot-1.3.4.new/board/armadeus/apf9328/u-boot.lds 2010-03-22 00:34:06.000000000 +0100
-@@ -38,6 +38,10 @@ SECTIONS
+Index: u-boot-2010.03/board/armadeus/apf9328/u-boot.lds
+===================================================================
+--- u-boot-2010.03.orig/board/armadeus/apf9328/u-boot.lds 2011-01-05 18:05:23.000000000 +0100
++++ u-boot-2010.03/board/armadeus/apf9328/u-boot.lds 2011-01-05 18:08:34.000000000 +0100
+@@ -38,6 +38,10 @@
. = ALIGN(4);
.rodata : { *(.rodata) }
@@ -50,9 +56,11 @@ Signed-off-by: Julien Boibessot <jul...@ar...>
. = ALIGN(4);
.data : { *(.data) }
---- u-boot-2010.03-rc1/Makefile 2010-03-27 19:49:15.000000000 +0100
-+++ u-boot-2010.03-rc1/Makefile 2010-03-27 19:47:05.000000000 +0100
-@@ -262,7 +262,7 @@ else
+Index: u-boot-2010.03/Makefile
+===================================================================
+--- u-boot-2010.03.orig/Makefile 2011-01-05 18:07:33.000000000 +0100
++++ u-boot-2010.03/Makefile 2011-01-05 18:08:34.000000000 +0100
+@@ -262,7 +262,7 @@
PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
endif
else
diff --git a/buildroot/target/u-boot/u-boot-2010.03-300-imx27.patch b/buildroot/target/u-boot/u-boot-2010.03-300-imx27.patch
index f7339ce..e0b9556 100755
--- a/buildroot/target/u-boot/u-boot-2010.03-300-imx27.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-300-imx27.patch
@@ -1,5 +1,7 @@
---- u-boot-2010.03-rc2/cpu/arm926ejs/mx27/cmd_imxfuse.c 2010-04-02 14:52:13.000000000 +0200
-+++ u-boot-2010.03-rc2/cpu/arm926ejs/mx27/cmd_imxfuse.c 2010-04-02 14:50:11.000000000 +0200
+Index: u-boot-2010.03/cpu/arm926ejs/mx27/cmd_imxfuse.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/cpu/arm926ejs/mx27/cmd_imxfuse.c 2011-01-05 18:08:44.000000000 +0100
@@ -0,0 +1,331 @@
+/*
+ * cmd_imxfuse-c Interface to iMX IC Identification Module
@@ -48,7 +50,7 @@
+
+/*
+ * The action should be either:
-+ * POLL_FUSE_PRGD
++ * POLL_FUSE_PRGD
+ * or:
+ * POLL_FUSE_SNSD
+ */
@@ -99,7 +101,7 @@
+ struct iim_regs *iim = (struct iim_regs *)IMX_IIM_BASE;
+
+ imx_fuse_op_start();
-+
++
+ /* Enable IIM Program Protect */
+ writel(0x0,&iim->iim_prog_p);
+
@@ -122,7 +124,7 @@
+ printf("%s(bank: %d, row: %d, bit: %d failed\n",
+ __FUNCTION__, bank, row, bit);
+ }
-+
++
+ printf("fuses at (bank:%d, row:%d) = 0x%x\n",
+ bank, row, readl(&iim->iim_sdat));
+ return 0;
@@ -211,7 +213,7 @@
+
+ if (uninitialized) {
+ ret = 0;
-+ for(i=0;i<6;i++) {
++ for(i=0;i<6;i++) {
+ ret |= imx_fuse_blow_byte(0, (IIM0_MAC+i), pmac[6 - 1 -i]);
+ }
+ }
@@ -236,18 +238,18 @@
+ row = simple_strtoul(argv[3], NULL, 16);
+
+ printf("Sense read fuse at bank:%d row:%d\n", bank, row);
-+ ret = imx_sense_fuse(bank, row, 0);
++ ret = imx_sense_fuse(bank, row, 0);
+ }else if ((!strcmp(argv[1], "read"))&&((argc == 4))) {
+ bank = simple_strtoul(argv[2], NULL, 16);
+ row = simple_strtoul(argv[3], NULL, 16);
+
+ printf("Shadow read fuse at bank:%d row:%d\n", bank, row);
-+ ret = imx_read_shadow_fuse(bank, row, 0);
++ ret = imx_read_shadow_fuse(bank, row, 0);
+ }else if ((!strcmp(argv[1], "blow"))&&(argc == 5)) {
+ bank = simple_strtoul(argv[2], NULL, 16);
+ row = simple_strtoul(argv[3], NULL, 16);
+ value = simple_strtoul(argv[4], NULL, 16);
-+
++
+ printf("Blowing fuse at bank:%d row:%d value:%d\n",
+ bank, row, value);
+ for (i = 0; i < 8; i++) {
@@ -332,8 +334,10 @@
+ "imxfuse scc_key - read iMX SCC_KEY\n");
+
+#endif /* CONFIG_CMD_IMX_FUSE */
---- ref/u-boot-1.3.4/cpu/arm926ejs/mx27/i2c.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/cpu/arm926ejs/mx27/i2c.c 2008-12-29 16:27:49.000000000 +0100
+Index: u-boot-2010.03/cpu/arm926ejs/mx27/i2c.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/cpu/arm926ejs/mx27/i2c.c 2011-01-05 18:08:44.000000000 +0100
@@ -0,0 +1,407 @@
+/*
+ * Eric Jarrige <jo...@us...>
@@ -503,7 +507,7 @@
+ imx_gpio_mode (PD18_PF_I2C_CLK);
+ PCCR0 |= PCCR0_I2C1_EN; /*enable I2C2 clock*/
+
-+
++
+ for(i = 0; i < CONFIG_I2C_MULTI_BUS; i++){
+
+ i2c_set_bus_num(i);
@@ -742,8 +746,10 @@
+}
+
+#endif /* CONFIG_HARD_I2C */
---- ref/u-boot-1.3.4/cpu/arm926ejs/mx27/i2c.h 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/cpu/arm926ejs/mx27/i2c.h 2008-12-29 16:27:49.000000000 +0100
+Index: u-boot-2010.03/cpu/arm926ejs/mx27/i2c.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/cpu/arm926ejs/mx27/i2c.h 2011-01-05 18:08:44.000000000 +0100
@@ -0,0 +1,59 @@
+/*
+ * Eric Jarrige <jo...@us...>
@@ -804,9 +810,11 @@
+
+
+#endif /* _i2c_h_ */
---- u-boot-2010.03-rc2/cpu/arm926ejs/mx27/Makefile.ori 2010-03-22 23:25:00.000000000 +0100
-+++ u-boot-2010.03-rc2/cpu/arm926ejs/mx27/Makefile 2010-04-02 12:06:18.000000000 +0200
-@@ -24,7 +24,7 @@ include $(TOPDIR)/config.mk
+Index: u-boot-2010.03/cpu/arm926ejs/mx27/Makefile
+===================================================================
+--- u-boot-2010.03.orig/cpu/arm926ejs/mx27/Makefile 2011-01-05 18:05:13.000000000 +0100
++++ u-boot-2010.03/cpu/arm926ejs/mx27/Makefile 2011-01-05 18:08:44.000000000 +0100
+@@ -24,7 +24,7 @@
LIB = $(obj)lib$(SOC).a
@@ -815,9 +823,11 @@
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
---- u-boot-2010.03/cpu/arm926ejs/mx27/generic.c.ori 2010-03-31 23:54:39.000000000 +0200
-+++ u-boot-2010.03/cpu/arm926ejs/mx27/generic.c 2010-04-07 00:44:25.000000000 +0200
-@@ -153,12 +153,80 @@ ulong imx_get_perclk4(void)
+Index: u-boot-2010.03/cpu/arm926ejs/mx27/generic.c
+===================================================================
+--- u-boot-2010.03.orig/cpu/arm926ejs/mx27/generic.c 2011-01-05 18:05:13.000000000 +0100
++++ u-boot-2010.03/cpu/arm926ejs/mx27/generic.c 2011-01-05 18:08:44.000000000 +0100
+@@ -153,12 +153,80 @@
}
#if defined(CONFIG_DISPLAY_CPUINFO)
@@ -898,9 +908,11 @@
return 0;
}
#endif
---- u-boot-2010.03-rc2/include/asm-arm/arch-mx27/imx-regs.h.ori 2010-04-02 17:12:43.000000000 +0200
-+++ u-boot-2010.03-rc2/include/asm-arm/arch-mx27/imx-regs.h 2010-04-02 17:10:06.000000000 +0200
-@@ -516,4 +516,220 @@ struct iim_regs {
+Index: u-boot-2010.03/include/asm-arm/arch-mx27/imx-regs.h
+===================================================================
+--- u-boot-2010.03.orig/include/asm-arm/arch-mx27/imx-regs.h 2011-01-05 18:05:13.000000000 +0100
++++ u-boot-2010.03/include/asm-arm/arch-mx27/imx-regs.h 2011-01-05 18:08:44.000000000 +0100
+@@ -516,4 +516,220 @@
#define IIM0_SCC_KEY 11
#define IIM1_SUID 1
@@ -1020,9 +1032,9 @@
+ * Memory areas of the NFC
+ */
+#define IMX_NFC_BASE (0xD8000000)
-+#define IMX_NFC_MAIN_AREA0 (0xD8000000)
-+#define IMX_NFC_MAIN_AREA1 (0xD8000200)
-+#define IMX_NFC_SPARE_AREA0 (0xD8000800)
++#define IMX_NFC_MAIN_AREA0 (0xD8000000)
++#define IMX_NFC_MAIN_AREA1 (0xD8000200)
++#define IMX_NFC_SPARE_AREA0 (0xD8000800)
+#define IMX_NFC_REGS (0xD8000E00)
+
+/*
diff --git a/buildroot/target/u-boot/u-boot-2010.03-301-nand.patch b/buildroot/target/u-boot/u-boot-2010.03-301-nand.patch
index 6d43fce..8899e22 100755
--- a/buildroot/target/u-boot/u-boot-2010.03-301-nand.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-301-nand.patch
@@ -1,6 +1,8 @@
---- ref/u-boot-1.3.4/common/cmd_nand.c 2008-08-12 16:08:38.000000000 +0200
-+++ u-boot-1.3.4/common/cmd_nand.c 2009-01-12 14:15:21.000000000 +0100
-@@ -80,6 +80,53 @@ static int nand_dump(nand_info_t *nand,
+Index: u-boot-2010.03/common/cmd_nand.c
+===================================================================
+--- u-boot-2010.03.orig/common/cmd_nand.c 2011-01-05 18:05:13.000000000 +0100
++++ u-boot-2010.03/common/cmd_nand.c 2011-01-05 18:09:36.000000000 +0100
+@@ -79,6 +79,53 @@
return 0;
}
@@ -9,7 +11,7 @@
+ int tempEcc, i, mask;
+ u_char *buf, *p;
+ struct nand_chip *nand_chip = nand->priv;
-+
++
+ buf = malloc(nand->oobavail + nand->oobsize);
+
+ if (!buf) {
@@ -23,7 +25,7 @@
+ else
+ mask = 0x000001ff;
+
-+ buf[off & mask] = (u_char)value; //modify buf
++ buf[off & mask] = (u_char)value; //modify buf
+
+ i = nand->oobavail >> 4; p = buf;
+ while (i--) {
@@ -40,11 +42,11 @@
+ p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);
+ p += 8;
+ }
-+
++
+ tempEcc = nand_chip->ecc.mode;
+ nand_chip->ecc.mode = NAND_ECC_NONE; //swith to ECC_NONE
+ nand->write_ecc( nand, off & ~mask, nand->oobavail, &i, buf, NULL, NULL);
-+ nand_chip->ecc.mode = tempEcc; //swith to old value
++ nand_chip->ecc.mode = tempEcc; //swith to old value
+
+ free(buf);
+*/
@@ -54,7 +56,7 @@
/* ------------------------------------------------------------------------- */
static inline int str2long(char *p, ulong *num)
-@@ -294,7 +341,6 @@ int do_nand(cmd_tbl_t * cmdtp, int flag,
+@@ -343,7 +390,6 @@
if (strncmp(cmd, "dump", 4) == 0) {
if (argc < 3)
goto usage;
@@ -62,9 +64,9 @@
s = strchr(cmd, '.');
off = (int)simple_strtoul(argv[2], NULL, 16);
-@@ -382,7 +428,18 @@ int do_nand(cmd_tbl_t * cmdtp, int flag,
- return 1;
+@@ -428,7 +474,18 @@
}
+
if (strcmp(cmd, "biterr") == 0) {
- /* todo */
+ if (argc != 4)
@@ -72,7 +74,7 @@
+
+ off = (int)simple_strtoul(argv[2], NULL, 16);
+ i = (int)simple_strtoul(argv[3], NULL, 16);
-+
++
+
+ nand_biterr(nand, off, i);
+/* tempEcc = nand_chip->eccmode;
@@ -82,7 +84,7 @@
return 1;
}
-@@ -471,7 +528,7 @@ U_BOOT_CMD(nand, 5, 1, do_nand,
+@@ -489,7 +546,7 @@
"nand dump[.oob] off - dump page\n"
"nand scrub - really clean NAND erasing bad blocks (UNSAFE)\n"
"nand markbad off [...] - mark bad block(s) at offset (UNSAFE)\n"
@@ -91,7 +93,7 @@
#ifdef CONFIG_CMD_NAND_LOCK_UNLOCK
"\n"
"nand lock [tight] [status]\n"
-@@ -519,8 +576,8 @@ static int nand_load_image(cmd_tbl_t *cm
+@@ -533,8 +590,8 @@
hdr = (image_header_t *)addr;
show_boot_progress (57);
@@ -102,35 +104,36 @@
cnt = image_get_image_size (hdr);
break;
#if defined(CONFIG_FIT)
---- ref/u-boot-1.3.4/drivers/mtd/nand/nand_bbt.c 2008-08-12 16:08:38.000000000 +0200
-+++ u-boot-1.3.4/drivers/mtd/nand/nand_bbt.c 2009-01-12 14:15:21.000000000 +0100
-@@ -159,9 +159,9 @@ static int read_bbt (struct mtd_info *mt
+Index: u-boot-2010.03/drivers/mtd/nand/nand_bbt.c
+===================================================================
+--- u-boot-2010.03.orig/drivers/mtd/nand/nand_bbt.c 2011-01-05 18:05:13.000000000 +0100
++++ u-boot-2010.03/drivers/mtd/nand/nand_bbt.c 2011-01-05 18:08:52.000000000 +0100
+@@ -192,9 +192,9 @@
}
/* Leave it for now, if its matured we can move this
* message to MTD_DEBUG_LEVEL0 */
- printk(KERN_DEBUG "nand_read_bbt: Bad block at 0x%012llx\n",
-- (loff_t)((offs << 2) + (act >> 1)) <<
-- this->bbt_erase_shift);
+ /*printk(KERN_DEBUG "nand_read_bbt: Bad block at 0x%012llx\n",
-+ (loff_t)((offs << 2) + (act >> 1)) <<
+ (loff_t)((offs << 2) + (act >> 1)) <<
+- this->bbt_erase_shift);
+ this->bbt_erase_shift);*/
/* Factory marked bad or worn out ? */
if (tmp == 0)
this->bbt[offs + (act >> 3)] |= 0x3 << (act & 0x06);
-@@ -375,7 +375,7 @@ static int search_bbt (struct mtd_info *
+@@ -529,7 +529,7 @@
if (td->pages[i] == -1)
printk(KERN_WARNING "Bad block table not found for chip %d\n", i);
else
- printk(KERN_DEBUG "Bad block table found at page %d, version 0x%02X\n", td->pages[i],
-- td->version[i]);
+ MTDDEBUG(MTD_DEBUG_LEVEL1 "Bad block table found at page %d, version 0x%02X\n", td->pages[i],
-+ td->version[i]);
+ td->version[i]);
}
return 0;
- }
---- u-boot-2010.03/drivers/mtd/nand/mxc_nand.c.ori 2010-04-06 23:07:34.000000000 +0200
-+++ u-boot-2010.03/drivers/mtd/nand/mxc_nand.c 2010-04-07 00:18:50.000000000 +0200
-@@ -1110,6 +1110,58 @@ static int mxc_nand_verify_buf(struct mt
+Index: u-boot-2010.03/drivers/mtd/nand/mxc_nand.c
+===================================================================
+--- u-boot-2010.03.orig/drivers/mtd/nand/mxc_nand.c 2011-01-05 18:05:13.000000000 +0100
++++ u-boot-2010.03/drivers/mtd/nand/mxc_nand.c 2011-01-05 18:09:13.000000000 +0100
+@@ -1110,6 +1110,58 @@
return 0;
}
@@ -139,7 +142,7 @@
+ *
+ * @param mtd MTD structure for the NAND Flash
+ * @param buf data to be verified
-+ * @param ofs offset to the bad block
++ * @param ofs offset to the bad block
+ *
+ * @return -EFAULT if error else 0
+ *
@@ -165,7 +168,7 @@
+
+ /* fill oob with 0 to make it detecable by SPL */
+ memset((void*)buf,0, mtd->oobsize);
-+
++
+ /* Calculate pages in each block */
+ pages_per_block = 1 << (this->phys_erase_shift - this->page_shift);
+
@@ -177,7 +180,7 @@
+
+ for(i=0; i< pages_per_block;i++) {
+
-+ ret= mtd->write_oob (mtd, ofs , &this->ops);
++ ret= mtd->write_oob (mtd, ofs , &this->ops);
+ ofs += 1 << this->page_shift;
+ if (!ret)
+ mtd->ecc_stats.badblocks++;
@@ -189,7 +192,7 @@
/*
* This function is used by upper layer for select and
* deselect of the NAND chip
-@@ -1326,6 +1379,7 @@ int board_nand_init(struct nand_chip *th
+@@ -1326,6 +1378,7 @@
this->write_buf = mxc_nand_write_buf;
this->read_buf = mxc_nand_read_buf;
this->verify_buf = mxc_nand_verify_buf;
diff --git a/buildroot/target/u-boot/u-boot-2010.03-310-apf27.patch b/buildroot/target/u-boot/u-boot-2010.03-310-apf27.patch
index 283b389..fb47b4e 100755
--- a/buildroot/target/u-boot/u-boot-2010.03-310-apf27.patch
+++ b/buildroot/target/u-boot/u-boot-2010.03-310-apf27.patch
@@ -1,9 +1,11 @@
---- ref/u-boot-1.3.4/board/armadeus/apf27/apf27.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/board/armadeus/apf27/apf27.c 2009-01-07 18:20:15.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf27/apf27.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf27/apf27.c 2011-01-05 18:09:44.000000000 +0100
@@ -0,0 +1,188 @@
+/*
-+ * Copyright (C) 2007 Sascha Hauer, Pengutronix
-+ * Copyright (C) 2008,2009 Eric Jarrige <jo...@us...>
++ * Copyright (C) 2007 Sascha Hauer, Pengutronix
++ * Copyright (C) 2008,2009 Eric Jarrige <jo...@us...>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
@@ -154,7 +156,7 @@
+ APF27_init_fpga (firmware_buffer, size);
+#endif
+
-+ /* detect compatibility issue of environment version */
++ /* detect compatibility issue of environment version */
+ s = getenv ("env_version");
+ if (( NULL == s ) || (0 != strcmp(s, CONFIG_ENV_VERSION))) {
+ printf("*** Warning - Environment version change suggests: "
@@ -163,7 +165,7 @@
+
+ /* Unlock whole flash but U-Boot */
+ s = getenv ("env_offset");
-+ offset = CONFIG_ENV_OFFSET;
++ offset = CONFIG_ENV_OFFSET;
+ if ((s != NULL) && (0 != strcmp(s, "0"))) {
+ offset = simple_strtoul(s, NULL, 16);
+ }
@@ -171,7 +173,7 @@
+ if (nand_unlock(&nand_info[0], offset, nand_info[0].size - offset)) {
+ printf("NAND flash lock/unlocked failed\n");
+ }
-+
++
+
+ return 0;
+}
@@ -189,8 +191,10 @@
+ printf("Armadeus APF2\n");
+ return 0;
+}
---- ref/u-boot-1.3.4/board/armadeus/apf27/config.mk 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/board/armadeus/apf27/config.mk 2008-12-29 16:27:49.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf27/config.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf27/config.mk 2011-01-05 18:09:44.000000000 +0100
@@ -0,0 +1,13 @@
+#
+# This config file is used for compilation of armadeus sources
@@ -205,278 +209,282 @@
+TEXT_BASE = 0xAFF00000
+endif
+CONFIG_NAND_U_BOOT = y
---- u-boot-2010.03-rc2/board/armadeus/apf27/fpga.c~ 2010-04-02 16:53:12.000000000 +0200
-+++ u-boot-2010.03-rc2/board/armadeus/apf27/fpga.c 2010-04-02 16:53:04.000000000 +0200
+Index: u-boot-2010.03/board/armadeus/apf27/fpga.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf27/fpga.c 2011-01-05 18:09:44.000000000 +0100
@@ -0,0 +1,267 @@
-+ /*
-+ * (C) Copyright 2002-2008
-+ * Eric Jarrige <eri...@ar...>
-+ * Rich Ireland, Enterasys Networks, rir...@en....
-+ * Keith Outwater, kei...@mv....
-+ *
-+ * 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>
-+
-+ #if defined(CONFIG_FPGA)
-+
-+ #include <asm/arch/imx-regs.h>
-+ #include <asm/io.h>
-+ #include <command.h>
-+ #include <config.h>
-+ #include "fpga.h"
-+ #include <spartan3.h>
-+
-+ #define GPIO_PORT(x) ((x & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT)
-+ #define GPIO_SET(x) writel(readl(&gpregs->port[GPIO_PORT(x)].dr) | (1 << (x & GPIO_PIN_MASK)), \
++/*
++ * (C) Copyright 2002-2008
++ * Eric Jarrige <eri...@ar...>
++ * Rich Ireland, Enterasys Networks, rir...@en....
++ * Keith Outwater, kei...@mv....
++ *
++ * 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>
++
++#if defined(CONFIG_FPGA)
++
++#include <asm/arch/imx-regs.h>
++#include <asm/io.h>
++#include <command.h>
++#include <config.h>
++#include "fpga.h"
++#include <spartan3.h>
++
++#define GPIO_PORT(x) ((x & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT)
++#define GPIO_SET(x) writel(readl(&gpregs->port[GPIO_PORT(x)].dr) | (1 << (x & GPIO_PIN_MASK)), \
+ &gpregs->port[GPIO_PORT(x)].dr)
+//(DR(GPIO_PORT(x)) |= (1<<(x & GPIO_PIN_MASK)))
-+ #define GPIO_CLEAR(x) writel(readl(&gpregs->port[GPIO_PORT(x)].dr) & ~(1 << (x & GPIO_PIN_MASK)), \
++#define GPIO_CLEAR(x) writel(readl(&gpregs->port[GPIO_PORT(x)].dr) & ~(1 << (x & GPIO_PIN_MASK)), \
+ &gpregs->port[GPIO_PORT(x)].dr)
+//(DR(GPIO_PORT(x)) &= ~(1<<(x & GPIO_PIN_MASK)))
-+ #define GPIO_WRITE(x,y) ( y ? GPIO_SET(x) : GPIO_CLEAR(x) )
-+ #define GPIO_READ(x) ((readl(&gpregs->port[GPIO_PORT(x)].ssr) & (1 << (x & GPIO_PIN_MASK))) \
++#define GPIO_WRITE(x,y) ( y ? GPIO_SET(x) : GPIO_CLEAR(x) )
++#define GPIO_READ(x) ((readl(&gpregs->port[GPIO_PORT(x)].ssr) & (1 << (x & GPIO_PIN_MASK))) \
+ >> (x & GPIO_PIN_MASK))
-+//((SSR (GPIO_PORT(x)) & (1<<(x & GPIO_PIN_MASK)))>> (x & GPIO_PIN_MASK))
-+ #ifdef FPGA_DEBUG
-+ #define PRINTF(fmt,args...) printf (fmt ,##args)
-+ #else
-+ #define PRINTF(fmt,args...)
-+ #endif
-+
-+ /* Note that these are pointers to code that is in Flash. They will be
-+ * relocated at runtime.
-+ * Spartan2 code is used to download our Spartan 3 :) code is compatible.
-+ * Just take care about the file size
++//((SSR (GPIO_PORT(x)) & (1<<(x & GPIO_PIN_MASK)))>> (x & GPIO_PIN_MASK))
++#ifdef FPGA_DEBUG
++#define PRINTF(fmt,args...) printf (fmt ,##args)
++#else
++#define PRINTF(fmt,args...)
++#endif
++
++/* Note that these are pointers to code that is in Flash. They will be
++ * relocated at runtime.
++ * Spartan2 code is used to download our Spartan 3 :) code is compatible.
++ * Just take care about the file size
++*/
++Xilinx_Spartan3_Slave_Parallel_fns fpga_fns = {
++ fpga_pre_fn,
++ fpga_pgm_fn,
++ fpga_init_fn,
++ NULL,
++ fpga_done_fn,
++ fpga_clk_fn,
++ fpga_cs_fn,
++ fpga_wr_fn,
++ fpga_rdata_fn,
++ fpga_wdata_fn,
++ fpga_busy_fn,
++ fpga_abort_fn,
++ fpga_post_fn,
++};
++
++Xilinx_desc fpga[CONFIG_FPGA_COUNT] = {
++ {Xilinx_Spartan3,
++ slave_parallel,
++ 1196128l/8,
++ (void *) &fpga_fns,
++ 0}
++};
++
++/*
++ * nitialize GPIO port B before download
+ */
-+ Xilinx_Spartan3_Slave_Parallel_fns fpga_fns = {
-+ fpga_pre_fn,
-+ fpga_pgm_fn,
-+ fpga_init_fn,
-+ NULL,
-+ fpga_done_fn,
-+ fpga_clk_fn,
-+ fpga_cs_fn,
-+ fpga_wr_fn,
-+ fpga_rdata_fn,
-+ fpga_wdata_fn,
-+ fpga_busy_fn,
-+ fpga_abort_fn,
-+ fpga_post_fn,
-+ };
-+
-+ Xilinx_desc fpga[CONFIG_FPGA_COUNT] = {
-+ {Xilinx_Spartan3,
-+ slave_parallel,
-+ 1196128l/8,
-+ (void *) &fpga_fns,
-+ 0}
-+ };
-+
-+ /*
-+ * nitialize GPIO port B before download
-+ */
-+ int
-+ fpga_pre_fn (int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ // Initialize GPIO pins
-+ GPIO_SET(CONFIG_SYS_FPGA_PWR);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_INIT | GPIO_IN | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_DONE | GPIO_IN | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_PRG | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_CLK | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_RW | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_CS | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_SUSPEND | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ GPIO_SET(CONFIG_SYS_FPGA_RESET);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_RESET | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_PWR | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ GPIO_SET(CONFIG_SYS_FPGA_PRG);
-+ GPIO_SET(CONFIG_SYS_FPGA_CLK);
-+ GPIO_SET(CONFIG_SYS_FPGA_RW);
-+ GPIO_SET(CONFIG_SYS_FPGA_CS);
-+ GPIO_CLEAR(CONFIG_SYS_FPGA_SUSPEND);
-+// GPIO_CLEAR(CONFIG_SYS_FPGA_RESET);
-+ GPIO_CLEAR(CONFIG_SYS_FPGA_PWR);
-+
-+ return cookie;
-+ }
-+
-+ /*
-+ * Set the FPGA's active-low program line to the specified level
-+ */
-+ int
-+ fpga_pgm_fn (int assert, int flush, int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ PRINTF ("%s:%d: FPGA PROGRAM %s", __FUNCTION__, __LINE__,
-+ assert?"high":"low");
-+ GPIO_WRITE( CONFIG_SYS_FPGA_PRG, !assert);
-+ return assert;
-+ }
-+
-+ /*
-+ * Set the FPGA's active-high clock line to the specified level
-+ */
-+ int
-+ fpga_clk_fn (int assert_clk, int flush, int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ PRINTF ("%s:%d: FPGA CLOCK %s", __FUNCTION__, __LINE__,
-+ assert_clk?"high":"low");
-+ GPIO_WRITE( CONFIG_SYS_FPGA_CLK, !assert_clk);
-+ return assert_clk;
-+ }
-+
-+ /*
-+ * Test the state of the active-low FPGA INIT line. Return 1 on INIT
-+ * asserted (low).
-+ */
-+ int
-+ fpga_init_fn (int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ int value;
-+ PRINTF ("%s:%d: INIT check... ", __FUNCTION__, __LINE__);
-+ value = GPIO_READ(CONFIG_SYS_FPGA_INIT);
-+ //printf("init value read %x",value);
-+ #ifdef CONFIG_SYS_FPGA_IS_PROTO
-+ return value;
-+ #else
-+ return !value;
-+ #endif
-+ }
-+
-+ /*
-+ * Test the state of the active-high FPGA DONE pin
-+ */
-+ int
-+ fpga_done_fn (int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ PRINTF ("%s:%d: DONE check... %s", __FUNCTION__, __LINE__,
-+ GPIO_READ(CONFIG_SYS_FPGA_DONE)?"high":"low");
-+ return(GPIO_READ(CONFIG_SYS_FPGA_DONE)?FPGA_SUCCESS:FPGA_FAIL);
-+ }
-+
-+ /*
-+ * Set the FPGA's wr line to the specified level
-+ */
-+ int
-+ fpga_wr_fn (int assert_write, int flush, int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ PRINTF ("%s:%d: FPGA RW... %s ", __FUNCTION__, __LINE__,
-+ assert_write?"high":"low");
-+ GPIO_WRITE( CONFIG_SYS_FPGA_RW, !assert_write);
-+ return assert_write;
-+ }
-+
-+ int
-+ fpga_cs_fn (int assert_cs, int flush, int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ PRINTF ("%s:%d: FPGA CS %s ", __FUNCTION__, __LINE__,
-+ assert_cs?"high":"low");
-+ GPIO_WRITE( CONFIG_SYS_FPGA_CS, !assert_cs);
-+ return assert_cs;
-+ }
-+
-+ int
-+ fpga_rdata_fn ( unsigned char *data, int cookie )
-+ {
-+ PRINTF ("%s:%d: FPGA READ DATA %02X ", __FUNCTION__, __LINE__,
-+ *((char*)CONFIG_SYS_FPGA_RDATA));
-+ *data = (unsigned char)((*((unsigned short*)CONFIG_SYS_FPGA_RDATA))&0x00FF);
-+ return *data;
-+ }
-+
-+ int
-+ fpga_wdata_fn ( unsigned char data, int cookie )
-+ {
-+ PRINTF ("%s:%d: FPGA WRITE DATA %02X ", __FUNCTION__, __LINE__,
-+ data);
-+ *((unsigned short*)CONFIG_SYS_FPGA_WDATA) = data;
-+ return data;
-+ }
-+
-+ int
-+ fpga_abort_fn ( int cookie )
-+ {
-+ return cookie;
-+ }
-+
-+
-+ int
-+ fpga_busy_fn ( int cookie )
-+ {
-+ return 1;
-+ }
-+
-+ int
-+ fpga_post_fn (int cookie)
-+ {
-+ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
-+ PRINTF ("%s:%d: FPGA POST ", __FUNCTION__, __LINE__);
-+
-+ imx_gpio_mode (CONFIG_SYS_FPGA_RW | GPIO_PF | GPIO_PUEN);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_CS | GPIO_PF | GPIO_PUEN);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_CLK | GPIO_PF | GPIO_PUEN);
-+ GPIO_SET(CONFIG_SYS_FPGA_PRG);
-+ GPIO_CLEAR(CONFIG_SYS_FPGA_RESET);
-+ imx_gpio_mode (CONFIG_SYS_FPGA_RESET | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
-+ return cookie;
-+ }
-+
-+ /*
-+ * Initialize the fpga. Return 1 on success, 0 on failure.
-+ */
-+ int
-+ APF27_init_fpga (u_char * buffer, size_t size)
-+ {
-+ char *autoload = getenv ("firmware_autoload");
-+
-+ int i,lout=0;
-+
-+ fpga_init();
-+
-+ for (i = 0; i < CONFIG_FPGA_COUNT; i++) {
-+ PRINTF ("%s:%d: Adding fpga %d\n", __FUNCTION__, __LINE__, i);
-+ fpga_add (fpga_xilinx, &fpga[i]);
-+ }
-+
-+ if ((size >= fpga[0].size) && ( autoload ) && (0 == strcmp(autoload, "1"))) {
-+ if (FPGA_SUCCESS != fpga_load( 0, (void *)buffer, size )) {
-+ lout = 1;
-+ printf("Firmware download failed!\n");
-+ }
-+ else
-+ printf("Firmware successfully programmed\n");
-+ }
-+ return lout;
-+ }
-+
-+ #endif /* CONFIG_FPGA */
---- ref/u-boot-1.3.4/board/armadeus/apf27/fpga.h 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/board/armadeus/apf27/fpga.h 2008-12-29 16:27:49.000000000 +0100
++int
++fpga_pre_fn (int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ // Initialize GPIO pins
++ GPIO_SET(CONFIG_SYS_FPGA_PWR);
++ imx_gpio_mode (CONFIG_SYS_FPGA_INIT | GPIO_IN | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_DONE | GPIO_IN | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_PRG | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_CLK | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_RW | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_CS | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_SUSPEND | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ GPIO_SET(CONFIG_SYS_FPGA_RESET);
++ imx_gpio_mode (CONFIG_SYS_FPGA_RESET | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ imx_gpio_mode (CONFIG_SYS_FPGA_PWR | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ GPIO_SET(CONFIG_SYS_FPGA_PRG);
++ GPIO_SET(CONFIG_SYS_FPGA_CLK);
++ GPIO_SET(CONFIG_SYS_FPGA_RW);
++ GPIO_SET(CONFIG_SYS_FPGA_CS);
++ GPIO_CLEAR(CONFIG_SYS_FPGA_SUSPEND);
++// GPIO_CLEAR(CONFIG_SYS_FPGA_RESET);
++ GPIO_CLEAR(CONFIG_SYS_FPGA_PWR);
++
++ return cookie;
++}
++
++/*
++ * Set the FPGA's active-low program line to the specified level
++ */
++int
++fpga_pgm_fn (int assert, int flush, int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ PRINTF ("%s:%d: FPGA PROGRAM %s", __FUNCTION__, __LINE__,
++ assert?"high":"low");
++ GPIO_WRITE( CONFIG_SYS_FPGA_PRG, !assert);
++ return assert;
++}
++
++/*
++ * Set the FPGA's active-high clock line to the specified level
++ */
++int
++fpga_clk_fn (int assert_clk, int flush, int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ PRINTF ("%s:%d: FPGA CLOCK %s", __FUNCTION__, __LINE__,
++ assert_clk?"high":"low");
++ GPIO_WRITE( CONFIG_SYS_FPGA_CLK, !assert_clk);
++ return assert_clk;
++}
++
++/*
++ * Test the state of the active-low FPGA INIT line. Return 1 on INIT
++ * asserted (low).
++ */
++int
++fpga_init_fn (int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ int value;
++ PRINTF ("%s:%d: INIT check... ", __FUNCTION__, __LINE__);
++ value = GPIO_READ(CONFIG_SYS_FPGA_INIT);
++ //printf("init value read %x",value);
++#ifdef CONFIG_SYS_FPGA_IS_PROTO
++ return value;
++#else
++ return !value;
++#endif
++}
++
++/*
++ * Test the state of the active-high FPGA DONE pin
++ */
++int
++fpga_done_fn (int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ PRINTF ("%s:%d: DONE check... %s", __FUNCTION__, __LINE__,
++ GPIO_READ(CONFIG_SYS_FPGA_DONE)?"high":"low");
++ return(GPIO_READ(CONFIG_SYS_FPGA_DONE)?FPGA_SUCCESS:FPGA_FAIL);
++}
++
++/*
++ * Set the FPGA's wr line to the specified level
++ */
++int
++fpga_wr_fn (int assert_write, int flush, int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ PRINTF ("%s:%d: FPGA RW... %s ", __FUNCTION__, __LINE__,
++ assert_write?"high":"low");
++ GPIO_WRITE( CONFIG_SYS_FPGA_RW, !assert_write);
++ return assert_write;
++}
++
++int
++fpga_cs_fn (int assert_cs, int flush, int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ PRINTF ("%s:%d: FPGA CS %s ", __FUNCTION__, __LINE__,
++ assert_cs?"high":"low");
++ GPIO_WRITE( CONFIG_SYS_FPGA_CS, !assert_cs);
++ return assert_cs;
++}
++
++int
++fpga_rdata_fn ( unsigned char *data, int cookie )
++{
++ PRINTF ("%s:%d: FPGA READ DATA %02X ", __FUNCTION__, __LINE__,
++ *((char*)CONFIG_SYS_FPGA_RDATA));
++ *data = (unsigned char)((*((unsigned short*)CONFIG_SYS_FPGA_RDATA))&0x00FF);
++ return *data;
++}
++
++int
++fpga_wdata_fn ( unsigned char data, int cookie )
++{
++ PRINTF ("%s:%d: FPGA WRITE DATA %02X ", __FUNCTION__, __LINE__,
++ data);
++ *((unsigned short*)CONFIG_SYS_FPGA_WDATA) = data;
++ return data;
++}
++
++int
++fpga_abort_fn ( int cookie )
++{
++ return cookie;
++}
++
++
++int
++fpga_busy_fn ( int cookie )
++{
++ return 1;
++}
++
++int
++fpga_post_fn (int cookie)
++{
++ struct gpio_regs *gpregs = (struct gpio_regs *)IMX_GPIO_BASE;
++ PRINTF ("%s:%d: FPGA POST ", __FUNCTION__, __LINE__);
++
++ imx_gpio_mode (CONFIG_SYS_FPGA_RW | GPIO_PF | GPIO_PUEN);
++ imx_gpio_mode (CONFIG_SYS_FPGA_CS | GPIO_PF | GPIO_PUEN);
++ imx_gpio_mode (CONFIG_SYS_FPGA_CLK | GPIO_PF | GPIO_PUEN);
++ GPIO_SET(CONFIG_SYS_FPGA_PRG);
++ GPIO_CLEAR(CONFIG_SYS_FPGA_RESET);
++ imx_gpio_mode (CONFIG_SYS_FPGA_RESET | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
++ return cookie;
++}
++
++/*
++ * Initialize the fpga. Return 1 on success, 0 on failure.
++ */
++int
++APF27_init_fpga (u_char * buffer, size_t size)
++{
++ char *autoload = getenv ("firmware_autoload");
++
++ int i,lout=0;
++
++ fpga_init();
++
++ for (i = 0; i < CONFIG_FPGA_COUNT; i++) {
++ PRINTF ("%s:%d: Adding fpga %d\n", __FUNCTION__, __LINE__, i);
++ fpga_add (fpga_xilinx, &fpga[i]);
++ }
++
++ if ((size >= fpga[0].size) && ( autoload ) && (0 == strcmp(autoload, "1"))) {
++ if (FPGA_SUCCESS != fpga_load( 0, (void *)buffer, size )) {
++ lout = 1;
++ printf("Firmware download failed!\n");
++ }
++ else
++ printf("Firmware successfully programmed\n");
++ }
++ return lout;
++}
++
++#endif /* CONFIG_FPGA */
+Index: u-boot-2010.03/board/armadeus/apf27/fpga.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf27/fpga.h 2011-01-05 18:09:44.000000000 +0100
@@ -0,0 +1,39 @@
+/*
+ * (C) Copyright 2002-2008
@@ -517,8 +525,10 @@
+extern int fpga_abort_fn (int cookie);
+extern int fpga_post_fn (int cookie);
+extern int fpga_busy_fn (int cookie);
---- ref/u-boot-1.3.4/board/armadeus/apf27/lowlevel_init.S 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.3.4/board/armadeus/apf27/lowlevel_init.S 2008-12-29 16:27:49.000000000 +0100
+Index: u-boot-2010.03/board/armadeus/apf27/lowlevel_init.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ u-boot-2010.03/board/armadeus/apf27/lowlevel_init.S 2011-01-05 18:09:44.000000000 +0100
@@ -0,0 +1,343 @@
+/*
+ * For clock initialization, see chapter 3 of the "MCIMX27 Multimedia
@@ -657,7 +667,7 @@
+ writel(AIPI2_PSR0, CONFIG_SYS_AIPI2_PSR0_VAL)
+ writel(AIPI2_PSR1, CONFIG_SYS_AIPI2_PSR1_VAL)
+
-+ /* Change SDRAM signal strengh */
++ /* Change SDRAM signal strengh */
+ ldr r0, =GPCR
+ ldr r1, =CONFIG_SYS_...
[truncated message content] |