1# 2# Copyright (C) 2013-2016 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 9include $(INCLUDE_DIR)/kernel.mk 10 11PKG_NAME:=u-boot 12PKG_VERSION:=2016.11 13PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 14PKG_SOURCE_URL:= \ 15 http://mirror2.openwrt.org/sources \ 16 ftp://ftp.denx.de/pub/u-boot 17 18PKG_MD5SUM:=ca1f6e019d08aff8d0ca1beb2e66737d 19 20PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 21 22PKG_LICENSE:=GPL-2.0 GPL-2.0+ 23PKG_LICENSE_FILES:=Licenses/README 24 25include $(INCLUDE_DIR)/package.mk 26 27define uboot/Default 28 TITLE:= 29 CONFIG:= 30 IMAGE:= 31endef 32 33define uboot/A10-OLinuXino-Lime 34 TITLE:=U-Boot for the A10 OLinuXino LIME 35endef 36 37define uboot/A13-OLinuXino 38 TITLE:=U-Boot for the A13 OlinuXino 39endef 40 41define uboot/A20-OLinuXino-Lime 42 TITLE:=U-Boot for the A20 OLinuXino LIME 43endef 44 45define uboot/A20-OLinuXino_MICRO 46 TITLE:=U-Boot for A20 OLinuXino MICRO 47endef 48 49define uboot/Bananapi 50 TITLE:=U-Boot for Bananapi 51endef 52 53define uboot/Bananapro 54 TITLE:=U-Boot for Bananapro 55endef 56 57define uboot/Cubieboard 58 TITLE:=U-Boot for Cubieboard 59endef 60 61define uboot/Cubieboard2 62 TITLE:=U-Boot for Cubieboard2 63endef 64 65define uboot/Cubietruck 66 TITLE:=U-Boot for Cubietruck 67endef 68 69define uboot/Hummingbird_A31 70 TITLE:=U-Boot for the Hummingbird A31 board 71endef 72 73define uboot/Mele_M9 74 TITLE:=U-Boot for the Mele M9 (A31) 75endef 76 77define uboot/OLIMEX_A13_SOM 78 TITLE:=U-Boot for the Olimex A13 SOM 79endef 80 81define uboot/Linksprite_pcDuino 82 TITLE:=U-Boot for Linksprite pcDuino 83endef 84 85define uboot/Linksprite_pcDuino3 86 TITLE:=U-Boot for Linksprite pcDuino3 87endef 88 89define uboot/Lamobo_R1 90 TITLE:=U-Boot for Lamobo R1 91endef 92 93define uboot/pangolin 94 TITLE:=U-Boot for Theobroma A31-yQ7 devboard 95endef 96 97define uboot/orangepi_plus 98 TITLE:=U-Boot for Orange Pi Plus (H3) 99endef 100 101define uboot/orangepi_2 102 TITLE:=U-Boot for Orange Pi 2 (H3) 103endef 104 105define uboot/Merrii_A80_Optimus 106 TITLE:=U-Boot for Merrii_A80_Optimus (A80) 107endef 108 109define uboot/Marsboard_A10 110 TITLE:=U-Boot for MarsBoard A10 111endef 112 113UBOOTS:= \ 114 A10-OLinuXino-Lime \ 115 A13-OLinuXino \ 116 A20-OLinuXino-Lime \ 117 A20-OLinuXino_MICRO \ 118 Bananapi \ 119 Bananapro \ 120 Cubieboard \ 121 Cubieboard2 \ 122 Cubietruck \ 123 Hummingbird_A31 \ 124 Mele_M9 \ 125 OLIMEX_A13_SOM \ 126 Linksprite_pcDuino \ 127 Linksprite_pcDuino3 \ 128 Lamobo_R1 \ 129 Merrii_A80_Optimus \ 130 orangepi_plus \ 131 orangepi_2 \ 132 pangolin \ 133 Marsboard_A10 134 135define Package/uboot/template 136define Package/uboot-sunxi-$(1) 137 SECTION:=boot 138 CATEGORY:=Boot Loaders 139 DEPENDS:=@TARGET_sunxi 140 TITLE:=$(2) 141 URL:=http://www.denx.de/wiki/U-Boot 142 VARIANT:=$(1) 143 MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu> 144endef 145endef 146 147define BuildUBootPackage 148 $(eval $(uboot/Default)) 149 $(eval $(uboot/$(1))) 150 $(call Package/uboot/template,$(1),$(TITLE)) 151endef 152 153ifdef BUILD_VARIANT 154$(eval $(call uboot/$(BUILD_VARIANT))) 155UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT)) 156UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin) 157endif 158 159# check if any specialized uEnv bootconfig is required 160ifeq ($(UBOOT_CONFIG),pangolin) 161 UENV:=pangolin 162else 163 UENV:=default 164endif 165 166define Build/Configure 167 $(MAKE) -C $(PKG_BUILD_DIR) \ 168 USE_PRIVATE_LIBGCC=yes $(UBOOT_CONFIG)_defconfig 169endef 170 171define Build/Compile 172 $(MAKE) -C $(PKG_BUILD_DIR) \ 173 CROSS_COMPILE=$(TARGET_CROSS) \ 174 DTCDIR=$(LINUX_DIR)/scripts/dtc/ 175endef 176 177define Package/uboot/install/default 178 $(CP) $(PKG_BUILD_DIR)/u-boot.bin \ 179 $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-u-boot.bin 180 $(CP) $(PKG_BUILD_DIR)/spl/sunxi-spl.bin \ 181 $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-spl.bin 182 $(CP) $(PKG_BUILD_DIR)/u-boot-sunxi-with-spl.bin \ 183 $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-u-boot-with-spl.bin 184 $(CP) uEnv-$(UENV).txt \ 185 $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-uEnv.txt 186 mkimage -C none -A arm -T script -d $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-uEnv.txt \ 187 $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-boot.scr 188endef 189 190define Package/uboot/install/template 191define Package/uboot-sunxi-$(1)/install 192 $(call Package/uboot/install/default,$(2)) 193endef 194endef 195 196$(foreach u,$(UBOOTS), \ 197 $(eval $(call Package/uboot/install/template,$(u),$(u))) \ 198) 199 200$(foreach u,$(UBOOTS), \ 201 $(eval $(call BuildUBootPackage,$(u))) \ 202 $(eval $(call BuildPackage,uboot-sunxi-$(u))) \ 203) 204