1 # Intel ixp4xx access library software. Note that this has an Intel
2 # license which restricts its use.
3 HOMEPAGE
= "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
4 LICENSE
= "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
5 LICENSE_HOMEPAGE
= "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
6 # You must download the following software
to your OpenEmbedded downloads
7 # directory
before using this package
:
9 # IPL_ixp400AccessLibrary
-2_1.zip
10 # IPL_ixp400NpeLibrary
-2_1.zip
12 #
To do this go
to the LICENSE_HOMEPAGE above
, register
/login
(using a
13 # web browser which is supported by the login page
), this will give you
14 # access
to the web page from which you can download the software
- you
15 # need the
: "IntelĀ® IXP400 Software and RedBoot* Boot Loader" and, from
16 # this the
"Intel Hardware Access Software" and "NPE Microcode" (both
17 # versions
2.1, encryption is
not required.
)
19 # Store the files with the names given below in your downloads directory
20 #
and store the
32 character md5sum of the file in a file of the same
21 # name with the additional extension .md5
:
23 # IPL_ixp400AccessLibrary
-2_1.zip.md5
24 # IPL_ixp400NpeLibrary
-2_1.zip.md5
26 SRC_URI
= "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_1.zip"
27 SRC_URI
+= "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_1.zip"
28 SRC_URI
+= "file://Makefile.patch;patch=1"
29 SRC_URI
+= "file://ixethdb-header.patch;patch=1"
30 SRC_URI
+= "file://bit-macro.patch;patch=1"
31 SRC_URI
+= "file://ixnpemhconfigisr-is-private.patch;patch=1"
32 SRC_URI
+= "file://le.patch;patch=1"
33 SRC_URI
+= "file://mii-debug.patch;patch=1"
34 SRC_URI
+= "file://rtl8201-support.patch;patch=1"
35 SRC_URI
+= "file://gcc4.patch;patch=1"
36 SRC_URI
+= "file://oe-makefile.patch;patch=1"
37 SRC_URI
+= "file://livelock.patch;patch=1"
38 SRC_URI
+= "file://module-param.patch;patch=1"
41 S
= "${WORKDIR}/ixp400_xscale_sw"
44 COMPATIBLE_HOST
= "^arm.*-linux.*"
45 COMPATIBLE_MACHINE
= "(nslu2|ixp4xx)"
49 IX_TARGET
= "linux${SITEINFO_ENDIANESS}"
51 #IX_ENSURE
= "IX_OSAL_ENSURE_ON=1"
53 OSAL_PATH
= "lib/ixp425/linux/${IX_TARGET}"
54 # This is a somewhat arbitrary choice
:
55 OSAL_DIR
= "${STAGING_KERNEL_DIR}/ixp_osal"
57 # COMPONENTS
: do
not build all the components
, this just creates a
58 # ridiculously large module which duplicates functionality in the
59 # available Linux drivers.
60 COMPONENTS
= "qmgr npeMh npeDl ethAcc ethDB ethMii featureCtrl osServices oslinux"
61 CODELETS_COMPONENTS
= ""
63 # NOTE
: IX_INCLUDE_MICROCODE causes the microcode
to be included in
64 # the ixp4xx
-csr module
, this
*requires
* the IPL_ixp400NpeLibrary
-2_1.zip
65 #
to be added
to the SRC_URI
- see above.
66 EXTRA_OEMAKE
= "'AR=${AR}' \
68 'IX_TARGET=${IX_TARGET}' \
69 '${IX_TARGET}_COMPONENTS=${COMPONENTS}' \
70 '${IX_TARGET}_CODELETS_COMPONENTS=${CODELETS_COMPONENTS}' \
72 'IX_INCLUDE_MICROCODE=1' \
74 'IX_MPHYSINGLEPORT=1' \
76 'LINUX_SRC=${STAGING_KERNEL_DIR}' \
77 'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
78 'OSAL_DIR=${OSAL_DIR}' \
79 'OSAL_IMAGE=${OSAL_DIR}/${OSAL_PATH}/libosal.a' \
80 'OSAL_MODULE=${OSAL_DIR}/${OSAL_PATH}/ixp_osal.o' \
83 MAKE_TARGETS
= "lib/${IX_TARGET}/ixp400.o"
85 KCONFIG_FILE
= "${STAGING_KERNEL_DIR}/kernel-config"
87 install
-d $
{STAGING_INCDIR
}/linux
/ixp4xx
-csr
88 install
-m
0644 src
/include/*.h $
{STAGING_INCDIR
}/linux
/ixp4xx
-csr
/
89 # Since Module.symvers in the kernel staging directory doesn't
include
90 # the symbols from ixp400.o we need
to add them
to another file
for
91 # the ixp400
-eth build
92 rm
-f '$
{STAGING_KERNEL_DIR
}/ixp400
-csr.symvers'
94 if '$
{STAGING_KERNEL_DIR
}/scripts
/mod/modpost' \
95 $
{CONFIG_MODVERSIONS
:+-m
} \
96 $
{CONFIG_MODULE_SRCVERSION_ALL
:+-a
} \
97 -i '$
{STAGING_KERNEL_DIR
}/Module.symvers' \
98 -o '$
{STAGING_KERNEL_DIR
}/ixp400
-csr.symvers' \
99 $
{MAKE_TARGETS
} 2>&1 | egrep .
101 echo
"MODPOST errors - see above"
110 install
-d $
{D
}$
{base_libdir
}/modules
/$
{KERNEL_VERSION
}/kernel
/drivers
/ixp400
111 install
-m
0644 lib
/$
{IX_TARGET
}/ixp400.ko $
{D
}$
{base_libdir
}/modules
/$
{KERNEL_VERSION
}/kernel
/drivers
/ixp400
/