#
-# Copyright (C) 2010-2012 OpenWrt.org
+# Copyright (C) 2010-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
-PKG_NAME:=u-boot
-PKG_VERSION:=2012.10
+PKG_VERSION:=2016.09.01
PKG_RELEASE:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
-PKG_MD5SUM:=8655f63b1e5c4647295ac9ce44660be3
-PKG_TARGETS:=bin
+PKG_HASH:=95728e89dd476d17428f94080752ab48884be477b6a678941582aeef618b70bb
+include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
-define uboot/Default
- TITLE:=
- CONFIG:=
- IMAGE:=
+define U-Boot/Default
+ BUILD_TARGET:=kirkwood
+ BUILD_DEVICES:=$(patsubst %_second_stage,%,$(1))
endef
-define uboot/sheevaplug
- TITLE:=U-Boot for the SheevaPlug
+define U-Boot/dockstar
+ NAME:=Seagate DockStar
endef
-define uboot/dockstar
- TITLE:=U-Boot for the Seagate DockStar
+define U-Boot/dockstar_second_stage
+ NAME:=Seagate DockStar (second stage)
endef
-define uboot/iconnect
- TITLE:=U-Boot for the Iomega iConnect Wireless
+define U-Boot/goflexhome
+ NAME:=the Seagate GoFlexHome/GoFlexNet
endef
-define uboot/ib62x0
- TITLE:=U-Boot for the RaidSonic ICY BOX NAS6210 and NAS6220
+define U-Boot/ib62x0
+ NAME:=RaidSonic ICY BOX NAS6210 and NAS6220
endef
-UBOOTS:=sheevaplug dockstar iconnect ib62x0
+define U-Boot/ib62x0_second_stage
+ NAME:=RaidSonic ICY BOX NAS6210 and NAS6220 (second stage)
+endef
+
+define U-Boot/iconnect
+ NAME:=Iomega iConnect Wireless
+endef
+
+define U-Boot/iconnect_second_stage
+ NAME:=Iomega iConnect Wireless (second stage)
+endef
-define Package/uboot/template
-define Package/uboot-kirkwood-$(1)
- SECTION:=boot
- CATEGORY:=Boot Loaders
- DEPENDS:=@TARGET_kirkwood
- TITLE:=$(2)
- URL:=http://www.denx.de/wiki/U-Boot
- VARIANT:=$(1)
+define U-Boot/nsa310
+ NAME:=Zyxel NSA310
endef
+
+define U-Boot/pogo_e02
+ NAME:=Cloud Engines Pogoplug E02
+endef
+
+define U-Boot/pogo_e02_second_stage
+ NAME:=Cloud Engines Pogoplug E02 (second stage)
endef
-define BuildUBootPackage
- $(eval $(uboot/Default))
- $(eval $(uboot/$(1)))
- $(call Package/uboot/template,$(1),$(TITLE))
+define U-Boot/sheevaplug
+ NAME:=SheevaPlug
endef
-ifdef BUILD_VARIANT
-$(eval $(call uboot/$(BUILD_VARIANT)))
-UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
-UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin)
-endif
+UBOOT_TARGETS := \
+ dockstar dockstar_second_stage \
+ goflexhome \
+ ib62x0 ib62x0_second_stage \
+ iconnect iconnect_second_stage \
+ nsa310 \
+ pogo_e02 pogo_e02_second_stage \
+ sheevaplug
define Build/Configure
- $(MAKE) -C $(PKG_BUILD_DIR) \
- $(UBOOT_CONFIG)_config
+ $(if $(findstring _second_stage,$(BUILD_VARIANT)),
+ $(CP) \
+ $(PKG_BUILD_DIR)/configs/$(subst _second_stage,,$(BUILD_VARIANT))_defconfig \
+ $(PKG_BUILD_DIR)/configs/$(BUILD_VARIANT)_defconfig
+ echo CONFIG_SECOND_STAGE=y >> $(PKG_BUILD_DIR)/configs/$(BUILD_VARIANT)_defconfig
+ )
+ +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+ $(BUILD_VARIANT)_config V=1
endef
define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
+ +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
u-boot.kwb \
CROSS_COMPILE=$(TARGET_CROSS)
+ mkimage -A $(ARCH) -O linux -T kernel -C none \
+ -a 0x600000 -e 0x600000 \
+ -n 'U-Boot uImage' \
+ -d $(PKG_BUILD_DIR)/u-boot.bin $(PKG_BUILD_DIR)/u-boot.img
endef
-define Package/uboot/install/default
- $(INSTALL_DIR) $(BIN_DIR)/uboot-$(BOARD)-$(1)
- $(CP) $(PKG_BUILD_DIR)/u-boot.bin \
- $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.bin
- $(CP) $(PKG_BUILD_DIR)/u-boot.kwb \
- $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.kwb
- $(INSTALL_DIR) $(BIN_DIR)/u-boot-kwboot/
- $(CP) $(PKG_BUILD_DIR)/tools/kwboot \
- $(BIN_DIR)/u-boot-kwboot/
+define Package/u-boot/install
+ $(CP) \
+ $(PKG_BUILD_DIR)/u-boot.bin \
+ $(PKG_BUILD_DIR)/u-boot.kwb \
+ $(PKG_BUILD_DIR)/u-boot.img \
+ $(1)/
endef
-define Package/uboot/install/template
-define Package/uboot-kirkwood-$(1)/install
- $(call Package/uboot/install/default,$(2))
+define Build/InstallDev
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/kwboot $(STAGING_DIR_HOST)/bin/
endef
-endef
-
-$(foreach u,$(UBOOTS), \
- $(eval $(call Package/uboot/install/template,$(u),$(u))) \
-)
-$(foreach u,$(UBOOTS), \
- $(eval $(call BuildUBootPackage,$(u))) \
- $(eval $(call BuildPackage,uboot-kirkwood-$(u))) \
-)
+$(eval $(call BuildPackage/U-Boot))