1#
2# Copyright (C) 2007 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=ixp4xx-microcode
11PKG_VERSION:=2.4
12PKG_RELEASE:=2
13
14PKG_SOURCE:=IPL_ixp400NpeLibraryWithCrypto-2_4.zip
15PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
16PKG_MD5SUM:=dd5f6482e625ecb334469958bcd54b37
17
18PKG_FLAGS:=nonshared
19
20include $(INCLUDE_DIR)/package.mk
21
22define Package/ixp4xx-microcode
23  SECTION:=net
24  CATEGORY:=Network
25  TITLE:=Microcode for the IXP4xx network engines
26  DEPENDS:=@TARGET_ixp4xx
27endef
28
29define Package/ixp4xx-microcode/description
30 This package contains the microcode needed to use the network engines in IXP4xx CPUs
31endef
32
33define Build/Prepare
34	rm -rf $(PKG_BUILD_DIR)
35	mkdir -p $(PKG_BUILD_DIR)
36	unzip -d $(PKG_BUILD_DIR)/ $(DL_DIR)/$(PKG_SOURCE)
37	mv $(PKG_BUILD_DIR)/ixp400_xscale_sw/src/npeDl/IxNpeMicrocode.c $(PKG_BUILD_DIR)/
38	rm -rf $(PKG_BUILD_DIR)/ixp400_xscale_sw
39	$(CP) ./src/* $(PKG_BUILD_DIR)/
40endef
41
42define Build/Compile
43	(cd $(PKG_BUILD_DIR); \
44		$(HOSTCC) -Wall -I$(STAGING_DIR_HOST)/include IxNpeMicrocode.c -o IxNpeMicrocode; \
45		./IxNpeMicrocode -be \
46	)
47endef
48
49define Package/ixp4xx-microcode/install
50	$(INSTALL_DIR) $(1)/lib/firmware
51	$(INSTALL_DIR) $(1)/usr/share/doc
52	$(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-A $(1)/lib/firmware/
53	$(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-A-HSS $(1)/lib/firmware/
54	$(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-B $(1)/lib/firmware/
55	$(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-C $(1)/lib/firmware/
56	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE.IPL $(1)/usr/share/doc/
57endef
58
59$(eval $(call BuildPackage,ixp4xx-microcode))
60