public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition
@ 2011-09-02 14:59 Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work Valentin Longchamp
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

This series adds support for POST on the km_arm boards. These boards use a jumper
to run some self-tests at the board power-up. There are some adaptations for POST
to run on the ARM architecture.

This series defines a new mem_regions POST test. This test also takes place before
relocation, but it only tests some regions of the RAM so that it is quicker.

Changes for v2:
 - added CONFIG_POST_EXTERNAL_WORD_FUNCS to allow to redefine post_word_load/store
   in the board support file when the proposed functions are not suitable.

Changes for v3:
 - moved COFNIG_POST_EXTERNAL_WORD_FUNCS to an individual patch
 - moved memory test configuration for km_arm from post to board code

Valentin Longchamp (8):
  POST/arm: adaptations needed for POST on ARM to work
  POST: allow redefinition of post_word_load/store
  POST: add post_log_res field for post results in global data
  POST: make env test flags fetching optional
  POST: drivers/memory.c coding style cleanup
  POST: add new memory regions test
  km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM
  km_arm: enable POST for these boards

 arch/arm/include/asm/global_data.h      |    5 +
 arch/arm/lib/board.c                    |    2 +
 arch/blackfin/include/asm/global_data.h |    1 +
 arch/nios2/include/asm/global_data.h    |    1 +
 arch/powerpc/include/asm/global_data.h  |    1 +
 arch/sparc/include/asm/global_data.h    |    1 +
 board/keymile/km_arm/km_arm.c           |   32 ++++++
 include/configs/km/km_arm.h             |    8 ++-
 include/post.h                          |   10 ++
 post/drivers/memory.c                   |  173 +++++++++++++++++++-----------
 post/post.c                             |   29 ++++--
 post/tests.c                            |   15 +++-
 12 files changed, 203 insertions(+), 75 deletions(-)

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

* [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-09-02 15:49   ` Mike Frysinger
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 2/8] POST: allow redefinition of post_word_load/store Valentin Longchamp
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

For post to run on ARM, 3 things are needed:
- post_log_word to be defined in gd
- a post.h include in arch/arm/lib/board.c

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Cc: Mike Frysinger <vapier@gentoo.org>
---
Changes for v2:
 - introduced CONFIG_POST_EXTERNAL_WORD_FUNCS
Changes for v3:
 - removed CONFIG_POST_EXTERNAL_WORD_FUNCS. This is now in a separate
   patch
---
 arch/arm/include/asm/global_data.h |    4 ++++
 arch/arm/lib/board.c               |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index ef9959e..4ab17ae 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -75,6 +75,10 @@ typedef	struct	global_data {
 #endif
 	void		**jt;		/* jump table */
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
+#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
+	unsigned long	post_log_word; /* Record POST activities */
+	unsigned long	post_init_f_time; /* When post_init_f started */
+#endif
 } gd_t;
 
 /*
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 41ef492..f929acd 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -49,6 +49,8 @@
 #include <nand.h>
 #include <onenand_uboot.h>
 #include <mmc.h>
+#include <post.h>
+#include <logbuff.h>
 
 #ifdef CONFIG_BITBANGMII
 #include <miiphy.h>
-- 
1.7.1

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

* [U-Boot] [PATCH v3 2/8] POST: allow redefinition of post_word_load/store
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data Valentin Longchamp
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

The predefinde post_word_load/store functions do not fit all boards,
so we introduce a way to define post_word_load/store as externs in
post.h that then can be defined in board specific files. This is done
with the CONFIG_POST_EXTERNAL_WORD_FUNCS #define

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
---
 include/post.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/post.h b/include/post.h
index bb3138d..d859f9f 100644
--- a/include/post.h
+++ b/include/post.h
@@ -33,6 +33,7 @@
 
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 
+#ifndef CONFIG_POST_EXTERNAL_WORD_FUNCS
 #ifdef CONFIG_SYS_POST_WORD_ADDR
 #define _POST_WORD_ADDR	CONFIG_SYS_POST_WORD_ADDR
 #else
@@ -85,6 +86,13 @@ static inline void post_word_store (ulong value)
 {
 	out_le32((volatile void *)(_POST_WORD_ADDR), value);
 }
+
+#else
+
+extern ulong post_word_load(void);
+extern void post_word_store(ulong value);
+
+#endif /* CONFIG_POST_EXTERNAL_WORD_FUNCS */
 #endif /* defined (CONFIG_POST) || defined(CONFIG_LOGBUFFER) */
 #endif /* __ASSEMBLY__ */
 
-- 
1.7.1

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

* [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 2/8] POST: allow redefinition of post_word_load/store Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-10-06 21:44   ` Wolfgang Denk
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 4/8] POST: make env test flags fetching optional Valentin Longchamp
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

The current post_log_word in global data is currently split into 2x
16 bits: half for the test start, half for the test success.
Since we alredy have more than 16 POST tests defined and more could
be defined, this may result in an overflow and the post_output_backlog
would not work for the tests defined further of these 16 positions.

An additional field is added to global data so that we can now support up
to 32 (depending of architecture) tests. The post_log_word is only used
to record the start of the test and the new field post_log_res for the
test success (or failure). The post_output_backlog is for this change
also adapted.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
 arch/arm/include/asm/global_data.h      |    1 +
 arch/blackfin/include/asm/global_data.h |    1 +
 arch/nios2/include/asm/global_data.h    |    1 +
 arch/powerpc/include/asm/global_data.h  |    1 +
 arch/sparc/include/asm/global_data.h    |    1 +
 post/post.c                             |    9 +++++----
 6 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index 4ab17ae..efcf652 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -77,6 +77,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long	post_log_word; /* Record POST activities */
+	unsigned long	post_log_res; /* success of POST test */
 	unsigned long	post_init_f_time; /* When post_init_f started */
 #endif
 } gd_t;
diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h
index eba5e93..62cd631 100644
--- a/arch/blackfin/include/asm/global_data.h
+++ b/arch/blackfin/include/asm/global_data.h
@@ -50,6 +50,7 @@ typedef struct global_data {
 	unsigned long env_valid;	/* Checksum of Environment valid? */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long post_log_word;	/* Record POST activities */
+	unsigned long post_log_res; 	/* success of POST test */
 	unsigned long post_init_f_time;	/* When post_init_f started */
 #endif
 
diff --git a/arch/nios2/include/asm/global_data.h b/arch/nios2/include/asm/global_data.h
index 2c4a719..1f0bbe8 100644
--- a/arch/nios2/include/asm/global_data.h
+++ b/arch/nios2/include/asm/global_data.h
@@ -34,6 +34,7 @@ typedef	struct	global_data {
 	unsigned long	env_valid;	/* Checksum of Environment valid */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long	post_log_word;	/* Record POST activities */
+	unsigned long	post_log_res; /* success of POST test */
 	unsigned long	post_init_f_time; /* When post_init_f started */
 #endif
 	void		**jt;		/* Standalone app jump table */
diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h
index a33ca2f..fbfe8c0 100644
--- a/arch/powerpc/include/asm/global_data.h
+++ b/arch/powerpc/include/asm/global_data.h
@@ -160,6 +160,7 @@ typedef	struct	global_data {
 #endif
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long	post_log_word;  /* Record POST activities */
+	unsigned long	post_log_res; /* success of POST test */
 	unsigned long	post_init_f_time;  /* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
diff --git a/arch/sparc/include/asm/global_data.h b/arch/sparc/include/asm/global_data.h
index 9b14674..4b62250 100644
--- a/arch/sparc/include/asm/global_data.h
+++ b/arch/sparc/include/asm/global_data.h
@@ -58,6 +58,7 @@ typedef struct global_data {
 #endif
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long post_log_word;	/* Record POST activities */
+	unsigned long post_log_res;	/* success of POST test */
 	unsigned long post_init_f_time;	/* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
diff --git a/post/post.c b/post/post.c
index 1b7f2aa..03c521f 100644
--- a/post/post.c
+++ b/post/post.c
@@ -100,6 +100,7 @@ void post_bootmode_init (void)
 
 	/* Reset activity record */
 	gd->post_log_word = 0;
+	gd->post_log_res = 0;
 }
 
 int post_bootmode_get (unsigned int *last_test)
@@ -123,12 +124,12 @@ int post_bootmode_get (unsigned int *last_test)
 /* POST tests run before relocation only mark status bits .... */
 static void post_log_mark_start ( unsigned long testid )
 {
-	gd->post_log_word |= (testid)<<16;
+	gd->post_log_word |= testid;
 }
 
 static void post_log_mark_succ ( unsigned long testid )
 {
-	gd->post_log_word |= testid;
+	gd->post_log_res |= testid;
 }
 
 /* ... and the messages are output once we are relocated */
@@ -137,9 +138,9 @@ void post_output_backlog ( void )
 	int j;
 
 	for (j = 0; j < post_list_size; j++) {
-		if (gd->post_log_word & (post_list[j].testid<<16)) {
+		if (gd->post_log_word & (post_list[j].testid)) {
 			post_log ("POST %s ", post_list[j].cmd);
-			if (gd->post_log_word & post_list[j].testid)
+			if (gd->post_log_res & post_list[j].testid)
 				post_log ("PASSED\n");
 			else {
 				post_log ("FAILED\n");
-- 
1.7.1

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

* [U-Boot] [PATCH v3 4/8] POST: make env test flags fetching optional
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
                   ` (2 preceding siblings ...)
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 5/8] POST: drivers/memory.c coding style cleanup Valentin Longchamp
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

Some boards have the environment variables defined in a slow EEPROM. post_run
accesses these environment variables to define which tests have to be run (in
post_get_flags). This is very slow before the code relocation on some boards
with a slow I2C EEPROM for environement variables.

This patch adds a config option to skip the fetching of the test flags in the
environment variables. The test flags assigned to the tests then only are the
ones statically defined for the test in post/tests.c.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
 post/post.c |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/post/post.c b/post/post.c
index 03c521f..8b2cb3c 100644
--- a/post/post.c
+++ b/post/post.c
@@ -170,7 +170,8 @@ static void post_bootmode_test_off (void)
 	post_word_store (word);
 }
 
-static void post_get_flags (int *test_flags)
+#ifndef CONFIG_POST_SKIP_ENV_FLAGS
+static void post_get_env_flags(int *test_flags)
 {
 	int  flag[] = {  POST_POWERON,   POST_NORMAL,   POST_SLOWTEST,
 			 POST_CRITICAL };
@@ -183,10 +184,6 @@ static void post_get_flags (int *test_flags)
 	int last;
 	int i, j;
 
-	for (j = 0; j < post_list_size; j++) {
-		test_flags[j] = post_list[j].flags;
-	}
-
 	for (i = 0; i < varnum; i++) {
 		if (getenv_f(var[i], list, sizeof (list)) <= 0)
 			continue;
@@ -224,6 +221,19 @@ static void post_get_flags (int *test_flags)
 			name = s + 1;
 		}
 	}
+}
+#endif
+
+static void post_get_flags(int *test_flags)
+{
+	int j;
+
+	for (j = 0; j < post_list_size; j++)
+		test_flags[j] = post_list[j].flags;
+
+#ifndef CONFIG_POST_SKIP_ENV_FLAGS
+	post_get_env_flags(test_flags);
+#endif
 
 	for (j = 0; j < post_list_size; j++) {
 		if (test_flags[j] & POST_POWERON) {
-- 
1.7.1

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

* [U-Boot] [PATCH v3 5/8] POST: drivers/memory.c coding style cleanup
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
                   ` (3 preceding siblings ...)
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 4/8] POST: make env test flags fetching optional Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-10-06 21:43   ` Wolfgang Denk
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 6/8] POST: add new memory regions test Valentin Longchamp
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

This is needed for a further patch adding a new memory test.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
 post/drivers/memory.c |  118 +++++++++++++++++++++++++------------------------
 1 files changed, 60 insertions(+), 58 deletions(-)

diff --git a/post/drivers/memory.c b/post/drivers/memory.c
index 2edb745..66039e5 100644
--- a/post/drivers/memory.c
+++ b/post/drivers/memory.c
@@ -250,7 +250,7 @@ static int memory_post_dataline(unsigned long long * pmem)
 			hi = (temp64>>32) & 0xffffffff;
 			lo = temp64 & 0xffffffff;
 
-			post_log ("Memory (date line) error at %08x, "
+			post_log("Memory (date line) error at %08x, "
 				  "wrote %08x%08x, read %08x%08x !\n",
 					  pmem, pathi, patlo, hi, lo);
 			ret = -1;
@@ -281,7 +281,7 @@ static int memory_post_addrline(ulong *testaddr, ulong *base, ulong size)
 			}
 #endif
 			if(readback == *testaddr) {
-				post_log ("Memory (address line) error at %08x<->%08x, "
+				post_log("Memory (address line) error at %08x<->%08x, "
 					"XOR value %08x !\n",
 					testaddr, target, xor);
 				ret = -1;
@@ -291,7 +291,7 @@ static int memory_post_addrline(ulong *testaddr, ulong *base, ulong size)
 	return ret;
 }
 
-static int memory_post_test1 (unsigned long start,
+static int memory_post_test1(unsigned long start,
 			      unsigned long size,
 			      unsigned long val)
 {
@@ -303,13 +303,13 @@ static int memory_post_test1 (unsigned long start,
 	for (i = 0; i < size / sizeof (ulong); i++) {
 		mem[i] = val;
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
-	for (i = 0; i < size / sizeof (ulong) && ret == 0; i++) {
+	for (i = 0; i < size / sizeof (ulong) && !ret; i++) {
 		readback = mem[i];
 		if (readback != val) {
-			post_log ("Memory error at %08x, "
+			post_log("Memory error at %08x, "
 				  "wrote %08x, read %08x !\n",
 					  mem + i, val, readback);
 
@@ -317,13 +317,13 @@ static int memory_post_test1 (unsigned long start,
 			break;
 		}
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
 	return ret;
 }
 
-static int memory_post_test2 (unsigned long start, unsigned long size)
+static int memory_post_test2(unsigned long start, unsigned long size)
 {
 	unsigned long i;
 	ulong *mem = (ulong *) start;
@@ -333,13 +333,13 @@ static int memory_post_test2 (unsigned long start, unsigned long size)
 	for (i = 0; i < size / sizeof (ulong); i++) {
 		mem[i] = 1 << (i % 32);
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
-	for (i = 0; i < size / sizeof (ulong) && ret == 0; i++) {
+	for (i = 0; i < size / sizeof (ulong) && !ret; i++) {
 		readback = mem[i];
 		if (readback != (1 << (i % 32))) {
-			post_log ("Memory error at %08x, "
+			post_log("Memory error at %08x, "
 				  "wrote %08x, read %08x !\n",
 					  mem + i, 1 << (i % 32), readback);
 
@@ -347,13 +347,13 @@ static int memory_post_test2 (unsigned long start, unsigned long size)
 			break;
 		}
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
 	return ret;
 }
 
-static int memory_post_test3 (unsigned long start, unsigned long size)
+static int memory_post_test3(unsigned long start, unsigned long size)
 {
 	unsigned long i;
 	ulong *mem = (ulong *) start;
@@ -363,13 +363,13 @@ static int memory_post_test3 (unsigned long start, unsigned long size)
 	for (i = 0; i < size / sizeof (ulong); i++) {
 		mem[i] = i;
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
-	for (i = 0; i < size / sizeof (ulong) && ret == 0; i++) {
+	for (i = 0; i < size / sizeof (ulong) && !ret; i++) {
 		readback = mem[i];
 		if (readback != i) {
-			post_log ("Memory error at %08x, "
+			post_log("Memory error at %08x, "
 				  "wrote %08x, read %08x !\n",
 					  mem + i, i, readback);
 
@@ -377,13 +377,13 @@ static int memory_post_test3 (unsigned long start, unsigned long size)
 			break;
 		}
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
 	return ret;
 }
 
-static int memory_post_test4 (unsigned long start, unsigned long size)
+static int memory_post_test4(unsigned long start, unsigned long size)
 {
 	unsigned long i;
 	ulong *mem = (ulong *) start;
@@ -393,13 +393,13 @@ static int memory_post_test4 (unsigned long start, unsigned long size)
 	for (i = 0; i < size / sizeof (ulong); i++) {
 		mem[i] = ~i;
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
-	for (i = 0; i < size / sizeof (ulong) && ret == 0; i++) {
+	for (i = 0; i < size / sizeof (ulong) && !ret; i++) {
 		readback = mem[i];
 		if (readback != ~i) {
-			post_log ("Memory error at %08x, "
+			post_log("Memory error@%08x, "
 				  "wrote %08x, read %08x !\n",
 					  mem + i, ~i, readback);
 
@@ -407,47 +407,48 @@ static int memory_post_test4 (unsigned long start, unsigned long size)
 			break;
 		}
 		if (i % 1024 == 0)
-			WATCHDOG_RESET ();
+			WATCHDOG_RESET();
 	}
 
 	return ret;
 }
 
-static int memory_post_tests (unsigned long start, unsigned long size)
+static int memory_post_tests(unsigned long start, unsigned long size)
 {
 	int ret = 0;
 
-	if (ret == 0)
-		ret = memory_post_dataline ((unsigned long long *)start);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_addrline ((ulong *)start, (ulong *)start, size);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_addrline ((ulong *)(start + size - 8),
+	if (!ret)
+		ret = memory_post_dataline((unsigned long long *)start);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_addrline((ulong *)start, (ulong *)start,
+						size);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_addrline((ulong *)(start + size - 8),
 					    (ulong *)start, size);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test1 (start, size, 0x00000000);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test1 (start, size, 0xffffffff);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test1 (start, size, 0x55555555);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test1 (start, size, 0xaaaaaaaa);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test2 (start, size);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test3 (start, size);
-	WATCHDOG_RESET ();
-	if (ret == 0)
-		ret = memory_post_test4 (start, size);
-	WATCHDOG_RESET ();
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test1(start, size, 0x00000000);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test1(start, size, 0xffffffff);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test1(start, size, 0x55555555);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test1(start, size, 0xaaaaaaaa);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test2(start, size);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test3(start, size);
+	WATCHDOG_RESET();
+	if (!ret)
+		ret = memory_post_test4(start, size);
+	WATCHDOG_RESET();
 
 	return ret;
 }
@@ -499,11 +500,12 @@ int memory_post_test(int flags)
 			ret = memory_post_tests(vstart, memsize);
 		} else {			/* POST_NORMAL */
 			unsigned long i;
-			for (i = 0; i < (memsize >> 20) && ret == 0; i++) {
-				if (ret == 0)
-					ret = memory_post_tests(i << 20, 0x800);
-				if (ret == 0)
-					ret = memory_post_tests(
+			for (i = 0; i < (memsize >> 20) && !ret; i++) {
+				if (!ret)
+					ret = memory_post_tests(vstart +
+						(i << 20), 0x800);
+				if (!ret)
+					ret = memory_post_tests(vstart +
 						(i << 20) + 0xff800, 0x800);
 			}
 		}
-- 
1.7.1

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

* [U-Boot] [PATCH v3 6/8] POST: add new memory regions test
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
                   ` (4 preceding siblings ...)
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 5/8] POST: drivers/memory.c coding style cleanup Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-09-02 15:49   ` Mike Frysinger
  2011-10-06 21:42   ` Wolfgang Denk
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM Valentin Longchamp
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards Valentin Longchamp
  7 siblings, 2 replies; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

This test is similar to the actual POST memory test but quicker and
far less complete. It checks the address and data lines and then only
tests some regularly placed sub regions of the RAM.
This can be useful when we want to test the RAM but we do not have enough
time to run the full memory test.

The POST memory test code was rearranged in order to avoid code duplication
between the two tests but the memory test functionnality remains the same.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Cc: Mike Frysinger <vapier@gentoo.org>
---
Changes for v3:
 - cosmetic changes in the test list
---
 include/post.h        |    2 +
 post/drivers/memory.c |   81 +++++++++++++++++++++++++++++++++++++-----------
 post/tests.c          |   15 ++++++++-
 3 files changed, 78 insertions(+), 20 deletions(-)

diff --git a/include/post.h b/include/post.h
index d859f9f..35c86f7 100644
--- a/include/post.h
+++ b/include/post.h
@@ -194,6 +194,8 @@ extern int post_hotkeys_pressed(void);
 #define CONFIG_SYS_POST_BSPEC5		0x00100000
 #define CONFIG_SYS_POST_CODEC		0x00200000
 #define CONFIG_SYS_POST_COPROC		0x00400000
+#define CONFIG_SYS_POST_FLASH		0x00800000
+#define CONFIG_SYS_POST_MEM_REGIONS	0x01000000
 
 int memory_post_test(int flags);
 #endif /* CONFIG_POST */
diff --git a/post/drivers/memory.c b/post/drivers/memory.c
index 66039e5..90af549 100644
--- a/post/drivers/memory.c
+++ b/post/drivers/memory.c
@@ -153,7 +153,7 @@
 #include <post.h>
 #include <watchdog.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_MEMORY
+#if CONFIG_POST & (CONFIG_SYS_POST_MEMORY | CONFIG_SYS_POST_MEM_REGIONS)
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -413,23 +413,29 @@ static int memory_post_test4(unsigned long start, unsigned long size)
 	return ret;
 }
 
-static int memory_post_tests(unsigned long start, unsigned long size)
+static int memory_post_test_lines(unsigned long start, unsigned long size)
 {
 	int ret = 0;
 
-	if (!ret)
-		ret = memory_post_dataline((unsigned long long *)start);
+	ret = memory_post_dataline((unsigned long long *)start);
 	WATCHDOG_RESET();
 	if (!ret)
 		ret = memory_post_addrline((ulong *)start, (ulong *)start,
-						size);
+				size);
 	WATCHDOG_RESET();
 	if (!ret)
-		ret = memory_post_addrline((ulong *)(start + size - 8),
-					    (ulong *)start, size);
+		ret = memory_post_addrline((ulong *)(start+size-8),
+				(ulong *)start, size);
 	WATCHDOG_RESET();
-	if (!ret)
-		ret = memory_post_test1(start, size, 0x00000000);
+
+	return ret;
+}
+
+static int memory_post_test_patterns(unsigned long start, unsigned long size)
+{
+	int ret = 0;
+
+	ret = memory_post_test1(start, size, 0x00000000);
 	WATCHDOG_RESET();
 	if (!ret)
 		ret = memory_post_test1(start, size, 0xffffffff);
@@ -453,6 +459,36 @@ static int memory_post_tests(unsigned long start, unsigned long size)
 	return ret;
 }
 
+static int memory_post_test_regions(unsigned long start, unsigned long size)
+{
+	unsigned long i;
+	int ret = 0;
+
+	for (i = 0; i < (size >> 20) && (!ret); i++) {
+		if (!ret)
+			ret = memory_post_test_patterns(i << 20, 0x800);
+		if (!ret)
+			ret = memory_post_test_patterns((i << 20) + 0xff800,
+				0x800);
+	}
+
+	return ret;
+}
+
+static int memory_post_tests(unsigned long start, unsigned long size)
+{
+	int ret = 0;
+
+	ret = memory_post_test_lines(start, size);
+	if (!ret)
+		ret = memory_post_test_patterns(start, size);
+
+	return ret;
+}
+
+/*
+ * !! this is only valid, if you have contiguous memory banks !!
+ */
 __attribute__((weak))
 int arch_memory_test_prepare(u32 *vstart, u32 *size, phys_addr_t *phys_offset)
 {
@@ -487,6 +523,21 @@ void arch_memory_failure_handle(void)
 	return;
 }
 
+int memory_regions_post_test(int flags)
+{
+	int ret = 0;
+	phys_addr_t phys_offset = 0;
+	u32 memsize, vstart;
+
+	arch_memory_test_prepare(&vstart, &memsize, &phys_offset);
+
+	ret = memory_post_test_lines(vstart, memsize);
+	if (!ret)
+		ret = memory_post_test_regions(vstart, memsize);
+
+	return ret;
+}
+
 int memory_post_test(int flags)
 {
 	int ret = 0;
@@ -499,15 +550,7 @@ int memory_post_test(int flags)
 		if (flags & POST_SLOWTEST) {
 			ret = memory_post_tests(vstart, memsize);
 		} else {			/* POST_NORMAL */
-			unsigned long i;
-			for (i = 0; i < (memsize >> 20) && !ret; i++) {
-				if (!ret)
-					ret = memory_post_tests(vstart +
-						(i << 20), 0x800);
-				if (!ret)
-					ret = memory_post_tests(vstart +
-						(i << 20) + 0xff800, 0x800);
-			}
+			ret = memory_post_test_regions(vstart, memsize);
 		}
 	} while (!ret &&
 		!arch_memory_test_advance(&vstart, &memsize, &phys_offset));
@@ -519,4 +562,4 @@ int memory_post_test(int flags)
 	return ret;
 }
 
-#endif /* CONFIG_POST & CONFIG_SYS_POST_MEMORY */
+#endif /* CONFIG_POST&(CONFIG_SYS_POST_MEMORY|CONFIG_SYS_POST_MEM_REGIONS) */
diff --git a/post/tests.c b/post/tests.c
index 5f59fbb..5e80283 100644
--- a/post/tests.c
+++ b/post/tests.c
@@ -54,6 +54,7 @@ extern int fpga_post_test (int flags);
 extern int lwmon5_watchdog_post_test(int flags);
 extern int sysmon1_post_test(int flags);
 extern int coprocessor_post_test(int flags);
+extern int memory_regions_post_test(int flags);
 
 extern int sysmon_init_f (void);
 
@@ -301,7 +302,19 @@ struct post_test post_list[] =
 	NULL,
 	NULL,
 	CONFIG_SYS_POST_COPROC
-    }
+    },
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_MEM_REGIONS
+    {
+	"Memory regions test",
+	"mem_regions",
+	"This test checks regularly placed regions of the RAM.",
+	POST_ROM | POST_SLOWTEST | POST_PREREL,
+	&memory_regions_post_test,
+	NULL,
+	NULL,
+	CONFIG_SYS_POST_MEM_REGIONS
+    },
 #endif
 };
 
-- 
1.7.1

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

* [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
                   ` (5 preceding siblings ...)
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 6/8] POST: add new memory regions test Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-09-05  6:35   ` Heiko Schocher
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards Valentin Longchamp
  7 siblings, 1 reply; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

This allows to test a larger part of the RAM in the memory tests.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Cc: Prafulla Wadaskar <prafulla@marvell.com>
---
 include/configs/km/km_arm.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index b1243ad..54c13ce 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -54,7 +54,7 @@
 
 #include "asm/arch/config.h"
 
-#define CONFIG_SYS_TEXT_BASE	0x04000000	/* code address after reloc */
+#define CONFIG_SYS_TEXT_BASE	0x07d00000	/* code address after reloc */
 #define CONFIG_SYS_MEMTEST_START 0x00400000	/* 4M */
 #define CONFIG_SYS_MEMTEST_END	0x007fffff	/*(_8M -1) */
 #define CONFIG_SYS_LOAD_ADDR	0x00800000	/* default load adr- 8M */
-- 
1.7.1

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

* [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards
  2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
                   ` (6 preceding siblings ...)
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM Valentin Longchamp
@ 2011-09-02 14:59 ` Valentin Longchamp
  2011-10-21 22:15   ` Wolfgang Denk
  7 siblings, 1 reply; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-02 14:59 UTC (permalink / raw)
  To: u-boot

The current km_arm boards have a Power-On test jumper. When this
jumper is set, this triggers some Power-On tests on the board.

This patch enables the support of this jumper for starting the
memory_regions test when the jumper is set.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Cc: Prafulla Wadaskar <prafulla@marvell.com>
---
Changes for v2:
 - adapted to CONFIG_POST_EXTERNAL_WORD_FUNCS
 - implemented suggestion from Sergei
Changes for v3:
 - moved arch_memory_test_prepare from post/board/km_arm to
   board/keymile/km_arm/km_arm.c
---
 board/keymile/km_arm/km_arm.c |   32 ++++++++++++++++++++++++++++++++
 include/configs/km/km_arm.h   |    6 ++++++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 69f86f5..83e6736 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -483,6 +483,38 @@ int get_scl(void)
 }
 #endif
 
+#if defined(CONFIG_POST)
+
+#define KM_POST_EN_L   44
+
+int post_hotkeys_pressed(void)
+{
+	return !kw_gpio_get_value(KM_POST_EN_L);
+}
+
+ulong post_word_load(void)
+{
+	volatile void* addr = (void *) (gd->ram_size - BOOTCOUNT_ADDR + 4);
+	return in_le32(addr);
+
+}
+void post_word_store(ulong value)
+{
+	volatile void* addr = (void *) (gd->ram_size - BOOTCOUNT_ADDR + 4);
+	out_le32(addr, value);
+}
+
+int arch_memory_test_prepare(u32 *vstart, u32 *size, phys_addr_t *phys_offset)
+{
+	*vstart = CONFIG_SYS_SDRAM_BASE;
+
+	/* we go up to relocation plus a 1 MB margin */
+	*size = CONFIG_SYS_TEXT_BASE - (1<<20);
+
+	return 0;
+}
+#endif
+
 #if defined(CONFIG_SYS_EEPROM_WREN)
 int eeprom_write_enable(unsigned dev_addr, int state)
 {
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 54c13ce..82275a6 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -271,4 +271,10 @@ int get_scl(void);
 /* address for the bootcount (taken from end of RAM) */
 #define BOOTCOUNT_ADDR          (CONFIG_KM_RESERVED_PRAM)
 
+/* enable POST tests with log */
+#define CONFIG_POST	(CONFIG_SYS_POST_MEM_REGIONS)
+#define CONFIG_POST_SKIP_ENV_FLAGS
+#define CONFIG_POST_EXTERNAL_WORD_FUNCS
+#define CONFIG_CMD_DIAG
+
 #endif /* _CONFIG_KM_ARM_H */
-- 
1.7.1

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

* [U-Boot] [PATCH v3 6/8] POST: add new memory regions test
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 6/8] POST: add new memory regions test Valentin Longchamp
@ 2011-09-02 15:49   ` Mike Frysinger
  2011-10-06 21:42   ` Wolfgang Denk
  1 sibling, 0 replies; 20+ messages in thread
From: Mike Frysinger @ 2011-09-02 15:49 UTC (permalink / raw)
  To: u-boot

Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110902/a62737c9/attachment.pgp 

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

* [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work Valentin Longchamp
@ 2011-09-02 15:49   ` Mike Frysinger
  0 siblings, 0 replies; 20+ messages in thread
From: Mike Frysinger @ 2011-09-02 15:49 UTC (permalink / raw)
  To: u-boot

Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110902/89d18a62/attachment.pgp 

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

* [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM Valentin Longchamp
@ 2011-09-05  6:35   ` Heiko Schocher
  2011-09-12 12:21     ` [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to endof RAM Valentin Longchamp
  0 siblings, 1 reply; 20+ messages in thread
From: Heiko Schocher @ 2011-09-05  6:35 UTC (permalink / raw)
  To: u-boot

Hello Valentin,

Valentin Longchamp wrote:
> This allows to test a larger part of the RAM in the memory tests.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> ---
>  include/configs/km/km_arm.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
> index b1243ad..54c13ce 100644
> --- a/include/configs/km/km_arm.h
> +++ b/include/configs/km/km_arm.h
> @@ -54,7 +54,7 @@
>  
>  #include "asm/arch/config.h"
>  
> -#define CONFIG_SYS_TEXT_BASE	0x04000000	/* code address after reloc */
> +#define CONFIG_SYS_TEXT_BASE	0x07d00000	/* code address after reloc */

Hmm... are you really sure, this address is after relocation? I think
this comment is a hangover and should be deleted (or fixed to "code
address before relocation")

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

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

* [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to endof RAM
  2011-09-05  6:35   ` Heiko Schocher
@ 2011-09-12 12:21     ` Valentin Longchamp
  0 siblings, 0 replies; 20+ messages in thread
From: Valentin Longchamp @ 2011-09-12 12:21 UTC (permalink / raw)
  To: u-boot

Hello Heiko,

On 09/05/2011 08:35 AM, Heiko Schocher wrote:
> Hello Valentin,
> 
> Valentin Longchamp wrote:
>> This allows to test a larger part of the RAM in the memory tests.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
>> Cc: Prafulla Wadaskar <prafulla@marvell.com>
>> ---
>>  include/configs/km/km_arm.h |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
>> index b1243ad..54c13ce 100644
>> --- a/include/configs/km/km_arm.h
>> +++ b/include/configs/km/km_arm.h
>> @@ -54,7 +54,7 @@
>>  
>>  #include "asm/arch/config.h"
>>  
>> -#define CONFIG_SYS_TEXT_BASE	0x04000000	/* code address after reloc */
>> +#define CONFIG_SYS_TEXT_BASE	0x07d00000	/* code address after reloc */
> 
> Hmm... are you really sure, this address is after relocation? I think
> this comment is a hangover and should be deleted (or fixed to "code
> address before relocation")

Yes, you are right, this is the code address before relocation. Will fix the
comment.

-- 
Valentin Longchamp
Embedded Software Engineer
Hardware and Chip Integration
______________________________________
KEYMILE AG
Schwarzenburgstr. 73
CH-3097 Liebefeld
Phone +41 31 377 1318
Fax   +41 31 377 1212
valentin.longchamp at keymile.com
www.keymile.com
______________________________________
KEYMILE: A Specialist as a Partner

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

* [U-Boot] [PATCH v3 6/8] POST: add new memory regions test
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 6/8] POST: add new memory regions test Valentin Longchamp
  2011-09-02 15:49   ` Mike Frysinger
@ 2011-10-06 21:42   ` Wolfgang Denk
  1 sibling, 0 replies; 20+ messages in thread
From: Wolfgang Denk @ 2011-10-06 21:42 UTC (permalink / raw)
  To: u-boot

Dear Valentin Longchamp,

In message <1314975550-15766-7-git-send-email-valentin.longchamp@keymile.com> you wrote:
> This test is similar to the actual POST memory test but quicker and
> far less complete. It checks the address and data lines and then only
> tests some regularly placed sub regions of the RAM.
> This can be useful when we want to test the RAM but we do not have enough
> time to run the full memory test.
> 
> The POST memory test code was rearranged in order to avoid code duplication
> between the two tests but the memory test functionnality remains the same.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> Cc: Mike Frysinger <vapier@gentoo.org>
> ---
> Changes for v3:
>  - cosmetic changes in the test list
> ---
>  include/post.h        |    2 +
>  post/drivers/memory.c |   81 +++++++++++++++++++++++++++++++++++++-----------
>  post/tests.c          |   15 ++++++++-
>  3 files changed, 78 insertions(+), 20 deletions(-)

Checkpatch says:

total: 0 errors, 4 warnings, 158 lines checked

Please clean up and resubmit.  Thanks.

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
The evolution of the human race will not be accomplished in  the  ten
thousand  years  of  tame  animals,  but in the million years of wild
animals, because man is and will always be a wild animal.
                                              - Charles Galton Darwin

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

* [U-Boot] [PATCH v3 5/8] POST: drivers/memory.c coding style cleanup
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 5/8] POST: drivers/memory.c coding style cleanup Valentin Longchamp
@ 2011-10-06 21:43   ` Wolfgang Denk
  0 siblings, 0 replies; 20+ messages in thread
From: Wolfgang Denk @ 2011-10-06 21:43 UTC (permalink / raw)
  To: u-boot

Dear Valentin Longchamp,

In message <1314975550-15766-6-git-send-email-valentin.longchamp@keymile.com> you wrote:
> This is needed for a further patch adding a new memory test.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> ---
>  post/drivers/memory.c |  118 +++++++++++++++++++++++++------------------------
>  1 files changed, 60 insertions(+), 58 deletions(-)

Checkpatch says:

total: 3 errors, 5 warnings, 230 lines checked

Please clean up and resubmit.  Thanks.

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
How does a project get to be a year late?      ... One day at a time.

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

* [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data Valentin Longchamp
@ 2011-10-06 21:44   ` Wolfgang Denk
  2011-10-07  6:48     ` Valentin Longchamp
  0 siblings, 1 reply; 20+ messages in thread
From: Wolfgang Denk @ 2011-10-06 21:44 UTC (permalink / raw)
  To: u-boot

Dear Valentin Longchamp,

In message <1314975550-15766-4-git-send-email-valentin.longchamp@keymile.com> you wrote:
> The current post_log_word in global data is currently split into 2x
> 16 bits: half for the test start, half for the test success.
> Since we alredy have more than 16 POST tests defined and more could
> be defined, this may result in an overflow and the post_output_backlog
> would not work for the tests defined further of these 16 positions.
> 
> An additional field is added to global data so that we can now support up
> to 32 (depending of architecture) tests. The post_log_word is only used
> to record the start of the test and the new field post_log_res for the
> test success (or failure). The post_output_backlog is for this change
> also adapted.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> ---
>  arch/arm/include/asm/global_data.h      |    1 +
>  arch/blackfin/include/asm/global_data.h |    1 +
>  arch/nios2/include/asm/global_data.h    |    1 +
>  arch/powerpc/include/asm/global_data.h  |    1 +
>  arch/sparc/include/asm/global_data.h    |    1 +
>  post/post.c                             |    9 +++++----
>  6 files changed, 10 insertions(+), 4 deletions(-)

Checkpatch says:

total: 0 errors, 1 warnings, 67 lines checked

Please clean up and resubmit.  Thanks.

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
When choosing between two evils, I always like to take the  one  I've
never tried before.                     -- Mae West, "Klondike Annie"

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

* [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data
  2011-10-06 21:44   ` Wolfgang Denk
@ 2011-10-07  6:48     ` Valentin Longchamp
  0 siblings, 0 replies; 20+ messages in thread
From: Valentin Longchamp @ 2011-10-07  6:48 UTC (permalink / raw)
  To: u-boot

Hello Wolfgang,

On 10/06/2011 11:44 PM, Wolfgang Denk wrote:
> Dear Valentin Longchamp,
> 
> In message <1314975550-15766-4-git-send-email-valentin.longchamp@keymile.com> you wrote:
>> The current post_log_word in global data is currently split into 2x
>> 16 bits: half for the test start, half for the test success.
>> Since we alredy have more than 16 POST tests defined and more could
>> be defined, this may result in an overflow and the post_output_backlog
>> would not work for the tests defined further of these 16 positions.
>>
>> An additional field is added to global data so that we can now support up
>> to 32 (depending of architecture) tests. The post_log_word is only used
>> to record the start of the test and the new field post_log_res for the
>> test success (or failure). The post_output_backlog is for this change
>> also adapted.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
>> Acked-by: Mike Frysinger <vapier@gentoo.org>
>> ---
>>  arch/arm/include/asm/global_data.h      |    1 +
>>  arch/blackfin/include/asm/global_data.h |    1 +
>>  arch/nios2/include/asm/global_data.h    |    1 +
>>  arch/powerpc/include/asm/global_data.h  |    1 +
>>  arch/sparc/include/asm/global_data.h    |    1 +
>>  post/post.c                             |    9 +++++----
>>  6 files changed, 10 insertions(+), 4 deletions(-)
> 
> Checkpatch says:
> 
> total: 0 errors, 1 warnings, 67 lines checked
> 
> Please clean up and resubmit.  Thanks.
> 
> Best regards,
> 
> Wolfgang Denk
> 

I have a question here:

There was a v4 version of these patches for which messages were sent yesterday
that they were applied. And now I receive these checkpatch warnings/errors
asking for resubmitting but for the v3 patches.

Could you please tell me what the exact status is ?

Then what exact checkpatch.pl version are you (or your script) using ? Because I
don't get the same output as you.

Best Regards

-- 
Valentin Longchamp
Embedded Software Engineer
Hardware and Chip Integration
______________________________________
KEYMILE AG
Schwarzenburgstr. 73
CH-3097 Liebefeld
Phone +41 31 377 1318
Fax   +41 31 377 1212
valentin.longchamp at keymile.com
www.keymile.com
______________________________________
KEYMILE: A Specialist as a Partner

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

* [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards
  2011-09-02 14:59 ` [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards Valentin Longchamp
@ 2011-10-21 22:15   ` Wolfgang Denk
  2011-10-24  7:12     ` Holger Brunck
  0 siblings, 1 reply; 20+ messages in thread
From: Wolfgang Denk @ 2011-10-21 22:15 UTC (permalink / raw)
  To: u-boot

Dear Valentin Longchamp,

In message <1314975550-15766-9-git-send-email-valentin.longchamp@keymile.com> you wrote:
> The current km_arm boards have a Power-On test jumper. When this
> jumper is set, this triggers some Power-On tests on the board.
> 
> This patch enables the support of this jumper for starting the
> memory_regions test when the jumper is set.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> Cc: Prafulla Wadaskar <prafulla@marvell.com>
> ---
> Changes for v2:
>  - adapted to CONFIG_POST_EXTERNAL_WORD_FUNCS
>  - implemented suggestion from Sergei
> Changes for v3:
>  - moved arch_memory_test_prepare from post/board/km_arm to
>    board/keymile/km_arm/km_arm.c
> ---
>  board/keymile/km_arm/km_arm.c |   32 ++++++++++++++++++++++++++++++++
>  include/configs/km/km_arm.h   |    6 ++++++
>  2 files changed, 38 insertions(+), 0 deletions(-)

Applied, thanks.

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
You young'uns. That was *long* before AltaVista,  DejaNews,  or  even
(gasp) the *Web*! In fact, we typed that thread on steam-powered card
punchers, and shipped it around via Pony Express.
            -- Randal Schwartz in <8cwww1cd0d.fsf@gadget.cscaper.com>

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

* [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards
  2011-10-21 22:15   ` Wolfgang Denk
@ 2011-10-24  7:12     ` Holger Brunck
  2011-10-24 19:16       ` Wolfgang Denk
  0 siblings, 1 reply; 20+ messages in thread
From: Holger Brunck @ 2011-10-24  7:12 UTC (permalink / raw)
  To: u-boot

Hi Wolfgang,

On 10/22/2011 12:15 AM, Wolfgang Denk wrote:
> Dear Valentin Longchamp,
> 
> In message <1314975550-15766-9-git-send-email-valentin.longchamp@keymile.com> you wrote:
>> The current km_arm boards have a Power-On test jumper. When this
>> jumper is set, this triggers some Power-On tests on the board.
>>
>> This patch enables the support of this jumper for starting the
>> memory_regions test when the jumper is set.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
>> Cc: Prafulla Wadaskar <prafulla@marvell.com>
>> ---
>> Changes for v2:
>>  - adapted to CONFIG_POST_EXTERNAL_WORD_FUNCS
>>  - implemented suggestion from Sergei
>> Changes for v3:
>>  - moved arch_memory_test_prepare from post/board/km_arm to
>>    board/keymile/km_arm/km_arm.c
>> ---
>>  board/keymile/km_arm/km_arm.c |   32 ++++++++++++++++++++++++++++++++
>>  include/configs/km/km_arm.h   |    6 ++++++
>>  2 files changed, 38 insertions(+), 0 deletions(-)
> 
> Applied, thanks.
> 

you already committed a v4 of this patch together with the patch serie. See:
http://lists.denx.de/pipermail/u-boot/2011-October/104061.html

So could you please revert this one? Because this breaks the board support for
all our arm based boards.

Best regards
Holger

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

* [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards
  2011-10-24  7:12     ` Holger Brunck
@ 2011-10-24 19:16       ` Wolfgang Denk
  0 siblings, 0 replies; 20+ messages in thread
From: Wolfgang Denk @ 2011-10-24 19:16 UTC (permalink / raw)
  To: u-boot

Dear Holger Brunck,

In message <4EA50FF4.5030105@keymile.com> you wrote:
> 
> you already committed a v4 of this patch together with the patch serie. See:
> http://lists.denx.de/pipermail/u-boot/2011-October/104061.html

Oops.  Sorry...

> So could you please revert this one? Because this breaks the board support for
> all our arm based boards.

Done.

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
Respect is a rational process
	-- McCoy, "The Galileo Seven", stardate 2822.3

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

end of thread, other threads:[~2011-10-24 19:16 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-02 14:59 [U-Boot] [PATCH v3 0/8] POST: support for km_arm and mem_regions test definition Valentin Longchamp
2011-09-02 14:59 ` [U-Boot] [PATCH v3 1/8] POST/arm: adaptations needed for POST on ARM to work Valentin Longchamp
2011-09-02 15:49   ` Mike Frysinger
2011-09-02 14:59 ` [U-Boot] [PATCH v3 2/8] POST: allow redefinition of post_word_load/store Valentin Longchamp
2011-09-02 14:59 ` [U-Boot] [PATCH v3 3/8] POST: add post_log_res field for post results in global data Valentin Longchamp
2011-10-06 21:44   ` Wolfgang Denk
2011-10-07  6:48     ` Valentin Longchamp
2011-09-02 14:59 ` [U-Boot] [PATCH v3 4/8] POST: make env test flags fetching optional Valentin Longchamp
2011-09-02 14:59 ` [U-Boot] [PATCH v3 5/8] POST: drivers/memory.c coding style cleanup Valentin Longchamp
2011-10-06 21:43   ` Wolfgang Denk
2011-09-02 14:59 ` [U-Boot] [PATCH v3 6/8] POST: add new memory regions test Valentin Longchamp
2011-09-02 15:49   ` Mike Frysinger
2011-10-06 21:42   ` Wolfgang Denk
2011-09-02 14:59 ` [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to end of RAM Valentin Longchamp
2011-09-05  6:35   ` Heiko Schocher
2011-09-12 12:21     ` [U-Boot] [PATCH v3 7/8] km_arm: change CONFIG_SYS_TEXT_BASE to endof RAM Valentin Longchamp
2011-09-02 14:59 ` [U-Boot] [PATCH v3 8/8] km_arm: enable POST for these boards Valentin Longchamp
2011-10-21 22:15   ` Wolfgang Denk
2011-10-24  7:12     ` Holger Brunck
2011-10-24 19:16       ` Wolfgang Denk

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