* Extend burst mode RAM test program to take a loop count
authorwdenk <wdenk>
Mon, 23 May 2005 10:49:50 +0000 (10:49 +0000)
committerwdenk <wdenk>
Mon, 23 May 2005 10:49:50 +0000 (10:49 +0000)
  (0 = infinite)

* Use CONFIG_DRIVER_KS8695ETH to enable KS8695 ethernet driver on
  those boards that use it.

CHANGELOG
drivers/ks8695eth.c
examples/test_burst.c
include/configs/cm4008.h
include/configs/cm41xx.h

index 9aa5a1b03e5f793eeb338aba5f37227c6e3e943c..cb4e1a3704a8b11e3a1c9b42092ee407e71cdb21 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,12 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Extend burst mode RAM test program to take a loop count
+  (0 = infinite)
+
+* Use CONFIG_DRIVER_KS8695ETH to enable KS8695 ethernet driver on
+  those boards that use it.
+
 * Patches by Greg Ungerer, 19 May 2005:
   - add support for the KS8695P (ARM 922 based) CPU
   - add support for the OpenGear CM4008, CM4116 and CM4148 boards
index 89c766bf126065004ad72a1968102d3c3d78457e..a4b03aee8c7ca0df0ccd92c4313ddb6357bf11e1 100644 (file)
@@ -18,6 +18,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#ifdef CONFIG_DRIVER_KS8695ETH
+
 /****************************************************************************/
 
 #include <common.h>
@@ -233,4 +235,4 @@ int eth_send(volatile void *packet, int len)
        return len;
 }
 
-/****************************************************************************/
+#endif /* CONFIG_DRIVER_KS8695ETH */
index ba23f146676140c29c563e06f28fc6f84ccf35f6..f09707ff907b6b2cdcc0119f7ce383ba10906e49 100644 (file)
@@ -88,10 +88,11 @@ static unsigned long test_pattern [] = {
 int test_burst (int argc, char *argv[])
 {
        unsigned long size = CACHE_LINE_SIZE;
-       int res;
-       int i;
+       unsigned int pass = 0;
+       int res = 0;
+       int i, j;
 
-       if (argc == 2) {
+       if (argc == 3) {
                char * d;
                for (size = 0, d = argv[1]; *d >= '0' && *d <= '9'; d++) {
                        size *= 10;
@@ -101,7 +102,15 @@ int test_burst (int argc, char *argv[])
                        test_usage();
                        return 1;
                }
-       } else if (argc > 2) {
+               for (d = argv[2]; *d >= '0' && *d <= '9'; d++) {
+                       pass *= 10;
+                       pass += *d - '0';
+               }
+               if (*d) {
+                       test_usage();
+                       return 1;
+               }
+       } else if (argc > 3) {
                test_usage();
                return 1;
        }
@@ -115,11 +124,19 @@ int test_burst (int argc, char *argv[])
 
        test_desc(size);
 
-       for (i = 0; i < sizeof(test_pattern) / sizeof(test_pattern[0]); i++) {
-               res = test_burst_start(size, test_pattern[i]);
-               if (res != 0) {
-                       goto Done;
+       for (j = 0; !pass || j < pass; j++) {
+               for (i = 0; i < sizeof(test_pattern) / sizeof(test_pattern[0]);
+                    i++) {
+                       res = test_burst_start(size, test_pattern[i]);
+                       if (res != 0) {
+                               goto Done;
+                       }
                }
+
+               printf ("Iteration #%d passed\n", j + 1);
+
+               if (tstc() && 0x03 == getc())
+                       break;
        }
 Done:
        return res;
@@ -298,5 +315,5 @@ static void signal_error(void)
 
 static void test_usage(void)
 {
-       printf("Usage: go 0x40004 [size]\n");
+       printf("Usage: go 0x40004 [size] [count]\n");
 }
index 6f875de9c319d226a0727aa00e6e4bd0a3c1f981..5947c2a3193e128753def69c8fde5f8d37fe5d89 100644 (file)
 #define CONFIG_KS8695  1               /* it is a KS8695 CPU */
 #define CONFIG_CM4008  1               /* it is an OpenGear CM4008 boad */
 
-#undef CONFIG_USE_IRQ                  /* we don't need IRQ/FIQ stuff */
+#undef CONFIG_USE_IRQ                  /* we don't need IRQ/FIQ stuff  */
 
 #define CONFIG_CMDLINE_TAG      1      /* enable passing of ATAGs      */
 #define CONFIG_SETUP_MEMORY_TAGS 1
 #define CONFIG_INITRD_TAG       1
 
+#define CONFIG_DRIVER_KS8695ETH                /* use KS8695 ethernet driver   */
+
 /*
  * Size of malloc() pool
  */
index ec114cbdc60918cba29a34b827e6b18b8bfbb88e..e62fc06337b242c24b991a786ead0ce489840acc 100644 (file)
 #define CONFIG_KS8695  1               /* it is a KS8695 CPU */
 #define CONFIG_CM41xx  1               /* it is an OpenGear CM41xx boad */
 
-#undef CONFIG_USE_IRQ                  /* we don't need IRQ/FIQ stuff */
+#undef CONFIG_USE_IRQ                  /* we don't need IRQ/FIQ stuff  */
 
 #define CONFIG_CMDLINE_TAG      1      /* enable passing of ATAGs      */
 #define CONFIG_SETUP_MEMORY_TAGS 1
 #define CONFIG_INITRD_TAG       1
 
+#define CONFIG_DRIVER_KS8695ETH                /* use KS8695 ethernet driver   */
+
 /*
  * Size of malloc() pool
  */