summaryrefslogtreecommitdiff
path: root/packages/ixp4xx/ixp4xx-csr_2.0.bb
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-10-03 06:16:32 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-10-03 06:16:32 +0000
commit3045b0eff6c4690d4a92d84cda6a9ce9dec04e44 (patch)
tree80e9c7d6e332fd3ec1916833386d3120496a6ad4 /packages/ixp4xx/ixp4xx-csr_2.0.bb
parent8ca15982a3387d4fa34e0b78382c8e2f48f3e1e4 (diff)
ixp4xx, ixp425-eth: add Intel Access Library 2.0, ethernet driver 1.4
NOTE: to use these you must pin ixp4xx-csr, ixp-oxal and ixp400-eth. The name of the ethernet driver changes with this commit - it is now ixp400-eth, not ixp425-eth - changes are required in systems which need to use the ethernet driver and these changes are *not* in this commit. The things to change are the image (which must now depend on ixp400-eth) and any modprobe.conf (which, at least in NSLU2 - openslug-init - aliases eth0 as ixp4??-eth).
Diffstat (limited to 'packages/ixp4xx/ixp4xx-csr_2.0.bb')
-rw-r--r--packages/ixp4xx/ixp4xx-csr_2.0.bb78
1 files changed, 78 insertions, 0 deletions
diff --git a/packages/ixp4xx/ixp4xx-csr_2.0.bb b/packages/ixp4xx/ixp4xx-csr_2.0.bb
new file mode 100644
index 0000000000..290bbeb897
--- /dev/null
+++ b/packages/ixp4xx/ixp4xx-csr_2.0.bb
@@ -0,0 +1,78 @@
+# Intel ixp4xx access library software. Note that this has an Intel
+# license which restricts its use.
+MAINTAINER = "NSLU2 Linux <nslu2-linux@yahoogroups.com>"
+HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
+LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
+LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
+# You must download the following software to your OpenEmbedded downloads
+# directory before using this package:
+#
+# IPL_ixp400AccessLibrary-2_0.zip
+# IPL_ixp400NpeLibrary-2_0.zip
+#
+# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
+# web browser which is supported by the login page), this will give you
+# access to the web page from which you can download the software - you
+# need the: "IntelĀ® IXP400 Software and RedBoot* Boot Loader" and, from
+# this the "Intel Hardware Access Software" and "NPE Microcode" (both
+# versions 1.5, encryption is not required.)
+#
+# Store the files with the names given below in your downloads directory
+#
+SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_0.zip"
+SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_0.zip"
+SRC_URI += "file://Makefile.patch;patch=1"
+SRC_URI += "file://2.6.patch;patch=1"
+SRC_URI += "file://2.6.14.patch;patch=1"
+DEPENDS = "ixp-osal"
+S = "${WORKDIR}/ixp400_xscale_sw"
+PR = "r0"
+
+COMPATIBLE_HOST = "^armeb-linux.*"
+
+inherit module
+
+# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
+# required. Notice that this has to be done for each separately built
+# module as well!
+KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
+KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
+
+OSAL_PATH = "lib/ixp425/linux/linuxbe"
+# This is a somewhat arbitrary choice:
+OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
+
+# NOTE: IX_INCLUDE_MICROCODE causes the microcode to be included in
+# the ixp4xx-csr module, this *requires* the IPL_ixp400NpeLibrary-2_0.zip
+# to be added to the SRC_URI - see above.
+EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}' \
+ 'AR=${AR}' \
+ 'IX_XSCALE_SW=${S}' \
+ 'IX_TARGET=linuxbe' \
+ 'IX_DEVICE=ixp42X' \
+ 'IX_MPHY=1' \
+ 'IX_MPHYSINGLEPORT=1' \
+ 'IX_INCLUDE_MICROCODE=1' \
+ 'LINUX_SRC=${STAGING_KERNEL_DIR}' \
+ 'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
+ 'OSAL_DIR=${OSAL_DIR}' \
+ 'OSAL_IMAGE=${OSAL_DIR}/${OSAL_PATH}/libosal.a' \
+ 'OSAL_MODULE=${OSAL_DIR}/${OSAL_PATH}/ixp_osal.o' \
+ "
+
+do_compile () {
+ # The target makes the .ko as a side effect, as a result of the
+ # Makefile.patch
+ oe_runmake lib/linuxbe/ixp400.o
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
+ install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
+}
+
+do_install () {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400
+ install -m 0644 lib/linuxbe/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400/
+}