summaryrefslogtreecommitdiff
path: root/recipes/ixp4xx/ixp4xx-csr-2.1.1
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/ixp4xx/ixp4xx-csr-2.1.1
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/ixp4xx/ixp4xx-csr-2.1.1')
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch26
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch14
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch23
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch11
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch18
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch13
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch19
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch26
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch19
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch24
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch61
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch30
-rw-r--r--recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch16
13 files changed, 300 insertions, 0 deletions
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch
new file mode 100644
index 0000000000..f082b713f0
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch
@@ -0,0 +1,26 @@
+--- ixp400_xscale_sw/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/Makefile 1970-01-01 00:00:00.000000000 +0000
+@@ -297,9 +297,9 @@ endif
+ else # IX_TARGET_OS == vxworks
+ # linux compiler flags
+ MAKE_DEP_FLAG := -M
+-LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
++LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
+
+-CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
++CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
+ ifndef IX_INCLUDE_MICROCODE
+ CFLAGS += -DIX_NPEDL_READ_MICROCODE_FROM_FILE
+ endif
+@@ -867,9 +867,11 @@ $(NPE_DAT) : $(NPE_CONVERTER)
+
+ ifeq ($(IX_HOST_OS),linux)
+ ifndef IX_INCLUDE_MICROCODE
++ifdef IX_BUILD_MICROCODE
+ Makefile: $(NPE_CONVERTER) $(NPE_DAT)
+ endif
+ endif
++endif
+
+ ################################################################
+ # Rules to check that macros are defined.
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch
new file mode 100644
index 0000000000..6efdba5c1e
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch
@@ -0,0 +1,14 @@
+--- ixp400_xscale_sw/src/include/IxTypes.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/include/IxTypes.h 1970-01-01 00:00:00.000000000 +0000
+@@ -79,6 +79,10 @@
+ #endif
+ #endif
+
++#ifndef BIT
++#define BIT(x) ((1)<<(x))
++#endif
++
+ #include "IxOsalBackward.h"
+
+ #endif /* IxTypes_H */
+
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch
new file mode 100644
index 0000000000..a701328dd1
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch
@@ -0,0 +1,23 @@
+--- ixp400/src/npeMh/IxNpeMhSymbols.c~ 2006-01-08 03:13:28.000000000 +1030
++++ ixp400/src/npeMh/IxNpeMhSymbols.c 2006-01-09 00:56:57.000000000 +1030
+@@ -52,6 +52,7 @@
+
+ #include <linux/module.h>
+ #include <IxNpeMh.h>
++#include <IxNpeMhConfig_p.h>
+
+ EXPORT_SYMBOL(ixNpeMhInitialize);
+ EXPORT_SYMBOL(ixNpeMhUnload);
+@@ -67,9 +68,9 @@ extern BOOL ixNpeMhConfigInFifoIsFull(Ix
+ extern BOOL ixNpeMhConfigOutFifoIsEmpty (IxNpeMhNpeId npeId);
+ extern void ixNpeMhConfigLockRelease (IxNpeMhNpeId npeId);
+ extern void ixNpeMhConfigLockGet (IxNpeMhNpeId npeId);
+-extern void ixNpeMhConfigOutFifoRead (IxNpeMhNpeId npeId,IxNpeMhMessage *message);
+-extern void ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
+-extern struct ixNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
++extern IX_STATUS ixNpeMhConfigOutFifoRead (IxNpeMhNpeId npeId,IxNpeMhMessage *message);
++extern IX_STATUS ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
++extern IxNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
+
+ EXPORT_SYMBOL(ixNpeMhConfigInFifoIsFull);
+ EXPORT_SYMBOL(ixNpeMhConfigOutFifoIsEmpty);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch
new file mode 100644
index 0000000000..8ab22bee89
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch
@@ -0,0 +1,11 @@
+--- ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h 1970-01-01 00:00:00.000000000 +0000
+@@ -693,7 +693,7 @@ IX_ETH_DB_PUBLIC UINT32 ixEthDBEntryXORH
+ IX_ETH_DB_PUBLIC UINT32 ixEthDBKeyXORHash(void *macAddress);
+
+ /* Port updates */
+-IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBFeature type);
++IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBRecordType type);
+ IX_ETH_DB_PUBLIC void ixEthDBUpdatePortLearningTrees(IxEthDBPortMap triggerPorts);
+ IX_ETH_DB_PUBLIC void ixEthDBNPEAccessRequest(IxEthDBPortId portID);
+ IX_ETH_DB_PUBLIC void ixEthDBUpdateLock(void);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch
new file mode 100644
index 0000000000..54faadf34a
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch
@@ -0,0 +1,18 @@
+--- ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c 1970-01-01 00:00:00.000000000 +0000
+@@ -63,7 +63,6 @@ EXPORT_SYMBOL(ixNpeMhMessagesReceive);
+ EXPORT_SYMBOL(ixNpeMhShow);
+ EXPORT_SYMBOL(ixNpeMhShowReset);
+
+-extern void ixNpeMhConfigIsr (void *parameter);
+ extern BOOL ixNpeMhConfigInFifoIsFull(IxNpeMhNpeId npeId);
+ extern BOOL ixNpeMhConfigOutFifoIsEmpty (IxNpeMhNpeId npeId);
+ extern void ixNpeMhConfigLockRelease (IxNpeMhNpeId npeId);
+@@ -72,7 +71,6 @@ extern void ixNpeMhConfigOutFifoRead (Ix
+ extern void ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
+ extern struct ixNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
+
+-EXPORT_SYMBOL(ixNpeMhConfigIsr);
+ EXPORT_SYMBOL(ixNpeMhConfigInFifoIsFull);
+ EXPORT_SYMBOL(ixNpeMhConfigOutFifoIsEmpty);
+ EXPORT_SYMBOL(ixNpeMhConfigLockRelease);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch
new file mode 100644
index 0000000000..c308493a08
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch
@@ -0,0 +1,13 @@
+--- ixp400_xscale_sw/src/include/IxQMgr.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/include/IxQMgr.h 1970-01-01 00:00:00.000000000 +0000
+@@ -96,8 +98,8 @@
+
+ #else
+
+-#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_DC
+-#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_DC
++#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_AC
++#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_AC
+
+ #endif
+
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch
new file mode 100644
index 0000000000..0b4e4ba026
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch
@@ -0,0 +1,19 @@
+*** ixp400_xscale_sw/src/oslinux/IxLinuxInit.c.orig Sun Sep 25 05:59:03 2005
+--- ixp400_xscale_sw/src/oslinux/IxLinuxInit.c Fri Jun 9 14:07:06 2006
+***************
+*** 91,97 ****
+
+
+ /* Module parameters */
+! static int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
+
+ MODULE_PARM(livelock_dispatcher, "i");
+ MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
+--- 91,97 ----
+
+
+ /* Module parameters */
+! int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
+
+ MODULE_PARM(livelock_dispatcher, "i");
+ MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch
new file mode 100644
index 0000000000..762743cef5
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch
@@ -0,0 +1,26 @@
+debug only patch to add information about MII id problems
+
+--- ixp400_xscale_sw/src/ethMii/IxEthMii.c 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/ethMii/IxEthMii.c 1970-01-01 00:00:00.000000000 +0000
+@@ -122,6 +122,10 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
+ )
+ {
+ /* supported phy */
++ ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,
++ IX_OSAL_LOG_DEV_STDOUT,
++ "ixEthMiiPhyScan, Mii %d: Mii PHY ID %8.8x\n",
++ i, ixEthMiiPhyId[i], 3, 4, 5, 6);
+ phyPresent[i] = TRUE;
+ } /* end of if(ixEthMiiPhyId) */
+ else
+@@ -131,8 +135,8 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
+ /* unsupported phy */
+ ixOsalLog (IX_OSAL_LOG_LVL_ERROR,
+ IX_OSAL_LOG_DEV_STDOUT,
+- "ixEthMiiPhyScan : unexpected Mii PHY ID %8.8x\n",
+- ixEthMiiPhyId[i], 2, 3, 4, 5, 6);
++ "ixEthMiiPhyScan, Mii %d: unexpected Mii PHY ID %8.8x\n",
++ i, ixEthMiiPhyId[i], 3, 4, 5, 6);
+ ixEthMiiPhyId[i] = IX_ETH_MII_UNKNOWN_PHY_ID;
+ phyPresent[i] = TRUE;
+ }
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch
new file mode 100644
index 0000000000..6472ef8b05
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch
@@ -0,0 +1,19 @@
+ src/oslinux/IxLinuxInit.c | 4 ++++
+ 1 files changed, 4 insertions(+)
+
+Index: ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
+===================================================================
+--- ixp400_xscale_sw.orig/src/oslinux/IxLinuxInit.c
++++ ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
+@@ -103,7 +103,11 @@
+ #if KERNEL_VERSION(2,6,0) <= LINUX_VERSION_CODE
+ MODULE_VERSION("2.1.1");
+ #endif
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
+ MODULE_PARM(livelock_dispatcher, "i");
++#else
++module_param(livelock_dispatcher, int, 0644);
++#endif
+ MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
+
+ /* Init and cleanup functions for module */
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch
new file mode 100644
index 0000000000..0fc2c5270e
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch
@@ -0,0 +1,24 @@
+ src/oslinux/IxLinuxInit.c | 3 ---
+ 1 files changed, 3 deletions(-)
+
+Index: ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
+===================================================================
+--- ixp400_xscale_sw.orig/src/oslinux/IxLinuxInit.c
++++ ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
+@@ -164,7 +164,6 @@
+ return -EEXIST;
+ }
+
+- MOD_INC_USE_COUNT; /* Increment use count to prevent premature rmmod-ing */
+ ixNpeDlSegmentedListHead = NULL; /* Reset linked list which keeps track of Microcode fragments */
+ ixNpeDlSegmentedListTail = NULL;
+ ixNpeDlTotalBytesReadIn = 0;
+@@ -229,8 +228,6 @@
+ kfree (temp);
+ }
+
+- MOD_DEC_USE_COUNT;
+-
+ return 0;
+ }
+
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch
new file mode 100644
index 0000000000..9f1d253a93
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch
@@ -0,0 +1,61 @@
+changes to Makefile required only on OE
+
+ Makefile | 11 ++++++++++-
+ Makefile.kmod26 | 11 +++++++++++
+ ixp400.c | 1 +
+ 3 files changed, 22 insertions(+), 1 deletion(-)
+
+Index: ixp400_xscale_sw/Makefile
+===================================================================
+--- ixp400_xscale_sw.orig/Makefile
++++ ixp400_xscale_sw/Makefile
+@@ -1385,9 +1385,10 @@
+
+ ifeq ($(IX_LINUXVER),2.6)
+ ixp400 : $(OBJ_DIR)/ixp400.o
++ cp $(OSAL_MODULE) $(OBJ_DIR)
+ @echo 'EXTRA_LDFLAGS := --whole-archive' > $(OBJ_DIR)/Makefile
+ @echo ' ' >> $(OBJ_DIR)/Makefile
+- @echo 'lib-m := $(COMPONENTS:%=ixp400_%.o) $(OBJ_DIR_EXIT)/$(OSAL_MODULE)'>> $(OBJ_DIR)/Makefile
++ @echo 'lib-m := $(COMPONENTS:%=ixp400_%.o) ixp_osal.o'>> $(OBJ_DIR)/Makefile
+ @echo ' ' >> $(OBJ_DIR)/Makefile
+ @echo 'obj-m := ixp400.o' >> $(OBJ_DIR)/Makefile
+ @echo ' ' >> $(OBJ_DIR)/Makefile
+@@ -1403,7 +1404,15 @@
+
+ $(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(OSAL_MODULE)
+ ifneq ($(IX_LINUXVER),2.6)
++ rm -f $(OBJ_DIR)/ixp400.c
++ touch $(OBJ_DIR)/ixp400.c
++ cp Makefile.kmod26 $(OBJ_DIR)/Makefile
++ make -C $(OBJ_DIR)
++ rm -f $(OBJ_DIR)/ixp400.c
++ cp ixp400.c $(OBJ_DIR)/ixp400.c
+ $(LD) $(LDFLAGS) $^ -o $@
++ rm -f $(OBJ_DIR)/ixp400.ko $(OBJ_DIR)/ixp400.mod.o
++ make -C $(OBJ_DIR)
+ endif
+
+
+Index: ixp400_xscale_sw/ixp400.c
+===================================================================
+--- /dev/null
++++ ixp400_xscale_sw/ixp400.c
+@@ -0,0 +1 @@
++#error this file must never be compiled
+Index: ixp400_xscale_sw/Makefile.kmod26
+===================================================================
+--- /dev/null
++++ ixp400_xscale_sw/Makefile.kmod26
+@@ -0,0 +1,11 @@
++obj-m := ixp400.o
++
++PWD := $(shell pwd)
++
++LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
++
++default:
++ $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) $(KERNEL_VERBOSE) -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
++
++clean:
++ rm -f ixp400.ko
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch
new file mode 100644
index 0000000000..150dc27016
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch
@@ -0,0 +1,30 @@
+this patch adds support for the RTL8201CP PHY
+
+--- ixp400_xscale_sw/src/ethMii/IxEthMii.c 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/ethMii/IxEthMii.c 1970-01-01 00:00:00.000000000 +0000
+@@ -119,6 +119,7 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
+ || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973_PHY_ID)
+ || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973A3_PHY_ID)
+ || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT9785_PHY_ID)
++ || (ixEthMiiPhyId[i] == IX_ETH_MII_RTL8201_PHY_ID)
+ )
+ {
+ /* supported phy */
+@@ -287,6 +288,7 @@ ixEthMiiPhyReset(UINT32 phyAddr)
+ (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT972_PHY_ID) ||
+ (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973_PHY_ID) ||
+ (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973A3_PHY_ID) ||
++ (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_RTL8201_PHY_ID) ||
+ (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT9785_PHY_ID)
+ )
+ {
+--- ixp400_xscale_sw/src/ethMii/IxEthMii_p.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp400_xscale_sw/src/ethMii/IxEthMii_p.h 1970-01-01 00:00:00.000000000 +0000
+@@ -179,6 +179,7 @@
+ #define IX_ETH_MII_LXT973A3_PHY_ID 0x00137A11
+ #define IX_ETH_MII_KS8995_PHY_ID 0x00221450
+ #define IX_ETH_MII_LXT9785_PHY_ID 0x001378FF
++#define IX_ETH_MII_RTL8201_PHY_ID 0x00008201
+ #define IX_ETH_MII_RTL8305_FAKE_PHY_ID 0x83058305
+
+ #define IX_ETH_MII_INVALID_PHY_ID 0x00000000
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch
new file mode 100644
index 0000000000..8a08f862f6
--- /dev/null
+++ b/recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch
@@ -0,0 +1,16 @@
+ src/include/IxEthDB.h | 2 +-
+ 1 files changed, 1 insertion(+), 1 deletion(-)
+
+Index: ixp400_xscale_sw/src/include/IxEthDB.h
+===================================================================
+--- ixp400_xscale_sw.orig/src/include/IxEthDB.h
++++ ixp400_xscale_sw/src/include/IxEthDB.h
+@@ -273,7 +273,7 @@
+ typedef struct
+ {
+ UINT8 macAddress[IX_IEEE803_MAC_ADDRESS_SIZE];
+-} IX_OSAL_ATTRIBUTE_PACKED IxEthDBMacAddr;
++} IxEthDBMacAddr;
+
+ /**
+ *