load ixp42x NPE firmware from separate flash block, remove dead code
Hi,
the following patch adds support to move the IXP42X NPE firmware to a
separate flash block, whose start address is defined in
CONFIG_IXP4XX_NPE_EXT_UCODE_BASE. Using that, it is possible to build
NPE-enabled u-boot without copyright problems due to the NPE firmware.
I hope the patch applies, I get whitespace-related differences in the NPE
files due to trailing whitespace in the original versions.
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
diff --git a/cpu/ixp/npe/IxNpeDl.c b/cpu/ixp/npe/IxNpeDl.c
index ffe355c..3738337 100644
--- a/cpu/ixp/npe/IxNpeDl.c
+++ b/cpu/ixp/npe/IxNpeDl.c
@@ -109,38 +109,6 @@
ixNpeDlNpeInitAndStartInternal (UINT32 *imageLibrary, UINT32 imageId);
/*
- * Function definition: ixNpeDlMicrocodeImageLibraryOverride
- */
-PUBLIC IX_STATUS
-ixNpeDlMicrocodeImageLibraryOverride (UINT32 *clientImageLibrary)
-{
- IX_STATUS status = IX_SUCCESS;
-
- IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT,
- "Entering ixNpeDlMicrocodeImageLibraryOverride\n");
-
- if (clientImageLibrary == NULL)
- {
- status = IX_NPEDL_PARAM_ERR;
- IX_NPEDL_ERROR_REPORT ("ixNpeDlMicrocodeImageLibraryOverride - "
- "invalid parameter\n");
- }
- else
- {
- status = ixNpeDlImageMgrMicrocodeImageLibraryOverride (clientImageLibrary);
- if (status != IX_SUCCESS)
- {
- status = IX_FAIL;
- }
- } /* end of if-else(clientImageLibrary) */
-
- IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT,
- "Exiting ixNpeDlMicrocodeImageLibraryOverride : "
- "status = %d\n", status);
- return status;
-}
-
-/*
* Function definition: ixNpeDlImageDownload
*/
PUBLIC IX_STATUS
diff --git a/cpu/ixp/npe/IxNpeDlImageMgr.c b/cpu/ixp/npe/IxNpeDlImageMgr.c
index e05c228..c0e7349 100644
--- a/cpu/ixp/npe/IxNpeDlImageMgr.c
+++ b/cpu/ixp/npe/IxNpeDlImageMgr.c
@@ -134,8 +134,8 @@
static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;
/* default image */
-#ifdef IX_NPEDL_READ_MICROCODE_FROM_FILE
-static UINT32 *IxNpeMicroCodeImageLibrary = NULL; /* Gets set to proper value at runtime */
+#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
@@ -158,6 +158,7 @@
ixNpeDlImageMgrNpeFunctionIdCompare (IxNpeDlImageId *imageIdA,
IxNpeDlImageId *imageIdB);
+#if 0
PRIVATE IX_STATUS
ixNpeDlImageMgrImageFind_legacy (UINT32 *imageLibrary,
UINT32 imageId,
@@ -195,7 +196,7 @@
status);
return status;
}
-
+#endif
/*
* Function definition: ixNpeDlImageMgrImageListExtract
@@ -527,6 +528,7 @@
}
+#if 0
/*
* Function definition: ixNpeDlImageMgrImageFind_legacy
*
@@ -600,7 +602,7 @@
"Exiting ixNpeDlImageMgrImageFind: status = %d\n", status);
return status;
}
-
+#endif
/*
* Function definition: ixNpeDlImageMgrImageFind
@@ -635,6 +637,7 @@
#endif /* IX_NPEDL_READ_MICROCODE_FROM_FILE */
}
+#if 0
/* For backward's compatibility with previous image format */
if (ixNpeDlImageMgrSignatureCheck(imageLibrary))
{
@@ -643,6 +646,7 @@
imagePtr,
imageSize);
}
+#endif
while (*(imageLibrary+offset) == NPE_IMAGE_MARKER)
{
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile
index 7f020b5..25117d7 100644
--- a/cpu/ixp/npe/Makefile
+++ b/cpu/ixp/npe/Makefile
@@ -72,7 +72,6 @@
IxNpeDlImageMgr.o \
IxNpeDlNpeMgr.o \
IxNpeDlNpeMgrUtils.o \
- IxNpeMicrocode.o \
IxNpeMh.o \
IxNpeMhConfig.o \
IxNpeMhReceive.o \
@@ -80,6 +79,9 @@
IxNpeMhSolicitedCbMgr.o \
IxNpeMhUnsolicitedCbMgr.o
+ifndef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
+COBJS += IxNpeMicrocode.o
+endif
SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))