ixp: remove the option to include the Microcode
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Sat, 31 Jan 2009 08:53:39 +0000 (09:53 +0100)
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Sat, 31 Jan 2009 08:53:39 +0000 (09:53 +0100)
instead the board will have to load it from flash or ram
which will be specified by npe_ucode env var

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
README
cpu/ixp/npe/IxNpeDlImageMgr.c
cpu/ixp/npe/Makefile
include/configs/actux1.h
include/configs/actux2.h
include/configs/actux3.h
include/configs/actux4.h

diff --git a/README b/README
index 86c1304..522471c 100644 (file)
--- a/README
+++ b/README
@@ -3021,8 +3021,7 @@ Some configuration options can be set using Environment Variables:
                  Useful on scripts which control the retry operation
                  themselves.
 
-  npe_ucode    - see CONFIG_IXP4XX_NPE_EXT_UCOD
-                 if set load address for the NPE microcode
+  npe_ucode    - set load address for the NPE microcode
 
   tftpsrcport  - If this is set, the value is used for TFTP's
                  UDP source port.
index ccc0da7..9bcdc9c 100644 (file)
@@ -133,20 +133,14 @@ typedef struct
  */
 static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;
 
-/* default image */
-#ifdef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
-static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)CONFIG_IXP4XX_NPE_EXT_UCODE_BASE;
-#else
-static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)IxNpeMicrocode_array;
-#endif
-
 static UINT32* getIxNpeMicroCodeImageLibrary(void)
 {
        char *s;
+
        if ((s = getenv("npe_ucode")) != NULL)
                return (UINT32*) simple_strtoul(s, NULL, 16);
        else
-               return IxNpeMicroCodeImageLibrary;
+               return NULL;
 }
 
 /*
@@ -422,7 +416,7 @@ ixNpeDlImageMgrSignatureCheck (UINT32 *microCodeImageLibrary)
        (IxNpeDlImageMgrImageLibraryHeader *) microCodeImageLibrary;
     BOOL result = TRUE;
 
-    if (header->signature != IX_NPEDL_IMAGEMGR_SIGNATURE)
+    if (!header || header->signature != IX_NPEDL_IMAGEMGR_SIGNATURE)
     {
        result = FALSE;
        ixNpeDlImageMgrStats.invalidSignature++;
@@ -643,6 +637,11 @@ ixNpeDlImageMgrImageFind (
        }
 #else
        imageLibrary = getIxNpeMicroCodeImageLibrary();
+       if (imageLibrary == NULL)
+        {
+           printf ("npe:  ERROR, no Microcode found in memory\n");
+           return IX_FAIL;
+       }
 #endif /* IX_NPEDL_READ_MICROCODE_FROM_FILE */
     }
 
index aa664a1..9309f37 100644 (file)
@@ -79,10 +79,6 @@ COBJS-$(CONFIG_IXP4XX_NPE) := npe.o \
        IxNpeMhSolicitedCbMgr.o \
        IxNpeMhUnsolicitedCbMgr.o
 
-ifndef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
-COBJS-$(CONFIG_IXP4XX_NPE) += IxNpeMicrocode.o
-endif
-
 SRCS   := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS-y))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
index a3b04b1..58d56ee 100644 (file)
 
 /* include IXP4xx NPE support */
 #define CONFIG_IXP4XX_NPE              1
-/* use separate flash sector with ucode images */
-#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE       0x50040000
 #define CONFIG_NET_MULTI               1
 /* NPE0 PHY address */
 #define        CONFIG_PHY_ADDR                 0
 #define CONFIG_SYS_USE_PPCENV                  1
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
+       "npe_ucode=50040000\0"                                          \
        "mtd=IXP4XX-Flash.0:256k(uboot),64k(ucode),1152k(linux),-(root)\0" \
        "kerneladdr=50050000\0"                                         \
        "rootaddr=50170000\0"                                           \
index 7e6e8f2..6f59a51 100644 (file)
 
 /* include IXP4xx NPE support */
 #define CONFIG_IXP4XX_NPE              1
-/* use separate flash sector with ucode images */
-#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE       0x50040000
 #define CONFIG_NET_MULTI               1
 /* NPE0 PHY address */
 #define        CONFIG_PHY_ADDR                 0x00
 #define CONFIG_SYS_USE_PPCENV                  1
 
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
+       "npe_ucode=50040000\0"                                          \
        "mtd=IXP4XX-Flash.0:256k(uboot),64k(ucode),1152k(linux),-(root)\0" \
        "kerneladdr=50050000\0"                                         \
        "rootaddr=50170000\0"                                           \
index 3f42ed4..a7bb38c 100644 (file)
 
 /* include IXP4xx NPE support */
 #define CONFIG_IXP4XX_NPE              1
-/* use separate flash sector with ucode images */
-#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE       0x50040000
 
 #define CONFIG_NET_MULTI               1
 /* NPE0 PHY address */
 #define CONFIG_SYS_USE_PPCENV                  1
 
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
+       "npe_ucode=50040000\0"                                          \
        "mtd=IXP4XX-Flash.0:256k(uboot),64k(ucode),1152k(linux),-(root)\0" \
        "kerneladdr=50050000\0"                                         \
        "rootaddr=50170000\0"                                           \
index 3cf1b20..f2b701f 100644 (file)
 
 /* include IXP4xx NPE support */
 #define CONFIG_IXP4XX_NPE              1
-/* use separate flash sector with ucode images */
-#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE       0x51000000
 
 #define CONFIG_NET_MULTI               1
 /* NPE0 PHY address */
 #define CONFIG_ENV_ADDR                        (PHYS_FLASH_1 + 0x3f000)
 
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
+       "npe_ucode=51000000\0"                                          \
        "mtd=IXP4XX-Flash.0:252k(uboot),4k(uboot_env);"                 \
        "IXP4XX-Flash.1:128k(ucode),1280k(linux),-(root)\0"             \
        "kerneladdr=51020000\0"                                         \