include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
-PKG_NAME:=u-boot
PKG_VERSION:=2016.03
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
+
PKG_HASH:=e49337262ecac44dbdeac140f2c6ebd1eba345e0162b0464172e7f05583ed7bb
+
PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
-PKG_LICENSE:=GPL-2.0 GPL-2.0+
-PKG_LICENSE_FILES:=Licenses/README
-PKG_BUILD_PARALLEL:=1
+include $(INCLUDE_DIR)/u-boot.mk
+include $(INCLUDE_DIR)/package.mk
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+define U-Boot/Default
+ BUILD_TARGET:=sunxi
+ UBOOT_IMAGE:=u-boot-sunxi-with-spl.bin
+ UENV:=default
+ HIDDEN:=1
+endef
-include $(INCLUDE_DIR)/package.mk
+define U-Boot/A10-OLinuXino-Lime
+ NAME:=A10 OLinuXino LIME
+ BUILD_DEVICES:=sun4i-a10-olinuxino-lime
+endef
+
+define U-Boot/A13-OLinuXino
+ NAME:=A13 OlinuXino
+ BUILD_DEVICES:=sun5i-a13-olinuxino
+endef
-define Package/uboot/template
-define Package/uboot-sunxi-$(1)
- SECTION:=boot
- CATEGORY:=Boot Loaders
- DEPENDS:=@TARGET_sunxi
- TITLE:=U-Boot for $(2)
- URL:=http://www.denx.de/wiki/U-Boot
- VARIANT:=$(1)
+define U-Boot/A20-OLinuXino-Lime
+ NAME:=A20 OLinuXino LIME
+ BUILD_DEVICES:=sun7i-a20-olinuxino-lime
endef
-define Package/uboot-sunxi-$(1)/install
- $(CP) $(PKG_BUILD_DIR)/u-boot-sunxi-with-spl.bin \
- $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-u-boot-with-spl.bin
- mkimage -C none -A arm -T script -d uEnv-$(if $(3),$(3),default).txt \
- $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-boot.scr
+define U-Boot/A20-OLinuXino_MICRO
+ NAME:=A20 OLinuXino MICRO
+ BUILD_DEVICES:=sun7i-a20-olinuxino-micro
endef
-UBOOT_SUNXI_PACKAGES += uboot-sunxi-$(1)
+define U-Boot/Bananapi
+ NAME:=Bananapi
+ BUILD_DEVICES:=sun7i-a20-bananapi
+endef
+define U-Boot/Bananapro
+ NAME:=Bananapro
+ BUILD_DEVICES:=sun7i-a20-bananapro
endef
-$(eval $(call Package/uboot/template,A10-OLinuXino-Lime,the A10 OLinuXino LIME))
-$(eval $(call Package/uboot/template,A13-OLinuXino,the A13 OlinuXino))
-$(eval $(call Package/uboot/template,A20-OLinuXino-Lime,the A20 OLinuXino LIME))
-$(eval $(call Package/uboot/template,A20-OLinuXino_MICRO,A20 OLinuXino MICRO))
-$(eval $(call Package/uboot/template,Bananapi,Bananapi))
-$(eval $(call Package/uboot/template,Bananapro,Bananapro))
-$(eval $(call Package/uboot/template,Cubieboard,Cubieboard))
-$(eval $(call Package/uboot/template,Cubieboard2,Cubieboard2))
-$(eval $(call Package/uboot/template,Cubietruck,Cubietruck))
-$(eval $(call Package/uboot/template,Hummingbird_A31,the Hummingbird A31 board))
-$(eval $(call Package/uboot/template,Mele_M9,the Mele M9 (A31)))
-$(eval $(call Package/uboot/template,OLIMEX_A13_SOM,the Olimex A13 SOM))
-$(eval $(call Package/uboot/template,Linksprite_pcDuino,Linksprite pcDuino))
-$(eval $(call Package/uboot/template,Linksprite_pcDuino3,Linksprite pcDuino3))
-$(eval $(call Package/uboot/template,Lamobo_R1,Lamobo R1))
-$(eval $(call Package/uboot/template,orangepi_plus,Orange Pi Plus (H3)))
-$(eval $(call Package/uboot/template,pangolin,Theobroma A31-yQ7 devboard,pangolin))
+define U-Boot/Cubieboard
+ NAME:=Cubieboard
+ BUILD_DEVICES:=sun4i-a10-cubieboard
+endef
-define Package/uboot-sunxi-all
- SECTION:=boot
- CATEGORY:=Boot Loaders
- DEPENDS:=@TARGET_sunxi
- TITLE:=Meta package for selecting all variants of uboot-sunxi
- URL:=http://www.denx.de/wiki/U-Boot
- DEPENDS:=$(patsubst %,+%,$(UBOOT_SUNXI_PACKAGES))
+define U-Boot/Cubieboard2
+ NAME:=Cubieboard2
+ BUILD_DEVICES:=sun7i-a20-cubieboard2
endef
-ifdef BUILD_VARIANT
-define Build/Configure
- +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
- USE_PRIVATE_LIBGCC=yes $(BUILD_VARIANT)_defconfig
+define U-Boot/Cubietruck
+ NAME:=Cubietruck
+ BUILD_DEVICES:=sun7i-a20-cubietruck
endef
-define Build/Compile
- +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
- CROSS_COMPILE=$(TARGET_CROSS) \
- DTCDIR=$(LINUX_DIR)/scripts/dtc/
+define U-Boot/Hummingbird_A31
+ NAME:=Hummingbird A31 board
endef
-else # BUILD_VARIANT
-define Build/Prepare
+
+define U-Boot/Mele_M9
+ NAME:=Mele M9 (A31)
+ BUILD_DEVICES:=sun6i-a31-m9
endef
-define Build/Configure
+
+define U-Boot/OLIMEX_A13_SOM
+ NAME:=Olimex A13 SOM
+ BUILD_DEVICES:=sun5i-a13-olimex-som
+endef
+
+define U-Boot/Linksprite_pcDuino
+ NAME:=Linksprite pcDuino
+ BUILD_DEVICES:=sun4i-a10-pcduino
endef
-define Build/Compile
+
+define U-Boot/Linksprite_pcDuino3
+ NAME:=Linksprite pcDuino3
+ BUILD_DEVICES:=sun7i-a20-pcduino3
+endef
+
+define U-Boot/Lamobo_R1
+ NAME:=Lamobo R1
+ BUILD_DEVICES:=sun7i-a20-lamobo-r1
+endef
+
+define U-Boot/orangepi_plus
+ NAME:=Orange Pi Plus (H3)
+ BUILD_DEVICES:=sun8i-h3-orangepi-plus
+endef
+
+define U-Boot/pangolin
+ NAME:=Theobroma A31-yQ7 devboard
+ UENV:=pangolin
+endef
+
+UBOOT_TARGETS := \
+ A10-OLinuXino-Lime \
+ A13-OLinuXino \
+ A20-OLinuXino-Lime \
+ A20-OLinuXino_MICRO \
+ Bananapi \
+ Bananapro \
+ Cubieboard \
+ Cubieboard2 \
+ Cubietruck \
+ Hummingbird_A31 \
+ Mele_M9 \
+ OLIMEX_A13_SOM \
+ Linksprite_pcDuino \
+ Linksprite_pcDuino3 \
+ Lamobo_R1 \
+ orangepi_plus \
+ pangolin
+
+UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
+
+define Build/InstallDev
+ $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(KERNEL_BUILD_DIR)/$(BUILD_DEVICES)-u-boot-with-spl.bin
+ mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
+ $(KERNEL_BUILD_DIR)/$(BUILD_DEVICES)-boot.scr
+endef
+
+define Package/u-boot/install/default
endef
-endif # BUILD_VARIANT
-$(foreach pkg,$(UBOOT_SUNXI_PACKAGES), \
- $(eval $(call BuildPackage,$(pkg))) \
-)
-$(eval $(call BuildPackage,uboot-sunxi-all))
+$(eval $(call BuildPackage/U-Boot))
rm -f $@.boot
mkfs.fat $@.boot -C $(FAT32_BLOCKS)
- mcopy -i $@.boot $(KDIR)/uboot-sunxi-$(SUNXI_UBOOT)-boot.scr ::boot.scr
+ mcopy -i $@.boot $(KDIR)/$(DEVICE_NAME)-boot.scr ::boot.scr
mcopy -i $@.boot $(DTS_DIR)/$(SUNXI_DTS).dtb ::dtb
mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage
./gen_sunxi_sdcard_img.sh $@ \
$(IMAGE_ROOTFS) \
$(CONFIG_SUNXI_SD_BOOT_PARTSIZE) \
$(CONFIG_TARGET_ROOTFS_PARTSIZE) \
- $(KDIR)/uboot-sunxi-$(SUNXI_UBOOT)-u-boot-with-spl.bin
+ $(KDIR)/$(DEVICE_NAME)-u-boot-with-spl.bin
rm -f $@.boot
endef
define Device/sun4i-a10-olinuxino-lime
DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
- DEVICE_PACKAGES:=uboot-sunxi-A10-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime
SUNXI_DTS:=sun4i-a10-olinuxino-lime
- SUNXI_UBOOT:=A10-OLinuXino-Lime
endef
TARGET_DEVICES += sun4i-a10-olinuxino-lime
define Device/sun5i-a13-olimex-som
DEVICE_TITLE:=Olimex A13 SOM
- DEVICE_PACKAGES:=uboot-sunxi-OLIMEX_A13_SOM kmod-rtl8192cu
+ DEVICE_PACKAGES:=kmod-rtl8192cu
SUPPORTED_DEVICES:=olimex,a13-olinuxino
SUNXI_DTS:=sun5i-a13-olinuxino
- SUNXI_UBOOT:=OLIMEX_A13_SOM
endef
TARGET_DEVICES += sun5i-a13-olimex-som
define Device/sun5i-a13-olinuxino
DEVICE_TITLE:=Olimex A13-Olinuxino
- DEVICE_PACKAGES:=uboot-sunxi-A13-OLinuXino kmod-rtl8192cu
+ DEVICE_PACKAGES:=kmod-rtl8192cu
SUPPORTED_DEVICES:=olimex,a13-olinuxino
SUNXI_DTS:=sun5i-a13-olinuxino
- SUNXI_UBOOT:=A13-OLinuXino
endef
TARGET_DEVICES += sun5i-a13-olinuxino
define Device/sun7i-a20-olinuxino-lime
DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
- DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime
SUNXI_DTS:=sun7i-a20-olinuxino-lime
- SUNXI_UBOOT:=A20-OLinuXino-Lime
endef
TARGET_DEVICES += sun7i-a20-olinuxino-lime
define Device/sun7i-a20-olinuxino-micro
DEVICE_TITLE:=Olimex A20-Olinuxino Micro
- DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino_MICRO kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro
SUNXI_DTS:=sun7i-a20-olinuxino-micro
- SUNXI_UBOOT:=A20-OLinuXino_MICRO
endef
TARGET_DEVICES += sun7i-a20-olinuxino-micro
define Device/sun7i-a20-bananapi
DEVICE_TITLE:=LeMaker Banana Pi
- DEVICE_PACKAGES:=uboot-sunxi-Bananapi kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
+ DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
SUPPORTED_DEVICES:=lemaker,bananapi
SUNXI_DTS:=sun7i-a20-bananapi
- SUNXI_UBOOT:=Bananapi
endef
TARGET_DEVICES += sun7i-a20-bananapi
define Device/sun7i-a20-bananapro
DEVICE_TITLE:=LeMaker Banana Pro
- DEVICE_PACKAGES:=uboot-sunxi-Bananapro kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
+ DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
SUPPORTED_DEVICES:=lemaker,bananapro
SUNXI_DTS:=sun7i-a20-bananapro
- SUNXI_UBOOT:=Bananapro
endef
TARGET_DEVICES += sun7i-a20-bananapro
define Device/sun7i-a20-cubieboard2
DEVICE_TITLE:=Cubietech Cubieboard2
- DEVICE_PACKAGES:=uboot-sunxi-Cubieboard2 kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=cubietech,cubieboard2
SUNXI_DTS:=sun7i-a20-cubieboard2
- SUNXI_UBOOT:=Cubieboard2
endef
TARGET_DEVICES += sun7i-a20-cubieboard2
define Device/sun4i-a10-cubieboard
DEVICE_TITLE:=Cubietech Cubieboard
- DEVICE_PACKAGES:=uboot-sunxi-Cubieboard kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=cubietech,a10-cubieboard
SUNXI_DTS:=sun4i-a10-cubieboard
- SUNXI_UBOOT:=Cubieboard
endef
TARGET_DEVICES += sun4i-a10-cubieboard
define Device/sun7i-a20-cubietruck
DEVICE_TITLE:=Cubietech Cubietruck
- DEVICE_PACKAGES:=uboot-sunxi-Cubietruck kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
+ DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
SUPPORTED_DEVICES:=cubietech,cubietruck
SUNXI_DTS:=sun7i-a20-cubietruck
- SUNXI_UBOOT:=Cubietruck
endef
TARGET_DEVICES += sun7i-a20-cubietruck
define Device/sun7i-a20-lamobo-r1
DEVICE_TITLE:=Lamobo R1
- DEVICE_PACKAGES:=uboot-sunxi-Lamobo_R1 kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
+ DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
SUPPORTED_DEVICES:=lamobo,lamobo-r1
SUNXI_DTS:=sun7i-a20-lamobo-r1
- SUNXI_UBOOT:=Lamobo_R1
endef
TARGET_DEVICES += sun7i-a20-lamobo-r1
define Device/sun6i-a31-m9
DEVICE_TITLE:=Mele M9 top set box
- DEVICE_PACKAGES:=uboot-sunxi-Mele_M9 kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
+ DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUPPORTED_DEVICES:=mele,m9
SUNXI_DTS:=sun6i-a31-m9
- SUNXI_UBOOT:=Mele_M9
endef
TARGET_DEVICES += sun6i-a31-m9
define Device/sun8i-h3-orangepi-plus
DEVICE_TITLE:=Xunlong Orange Pi Plus
- DEVICE_PACKAGES:=kmod-rtc-sunxi uboot-sunxi-orangepi_plus
+ DEVICE_PACKAGES:=kmod-rtc-sunxi
SUPPORTED_DEVICES:=xunlong,orangepi-plus
SUNXI_DTS:=sun8i-h3-orangepi-plus
- SUNXI_UBOOT:=orangepi_plus
endef
TARGET_DEVICES += sun8i-h3-orangepi-plus
define Device/sun7i-a20-pcduino3
DEVICE_TITLE:=LinkSprite pcDuino3
- DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
+ DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
SUPPORTED_DEVICES:=linksprite,pcduino3
SUNXI_DTS:=sun7i-a20-pcduino3
- SUNXI_UBOOT:=Linksprite_pcDuino3
endef
TARGET_DEVICES += sun7i-a20-pcduino3
define Device/sun4i-a10-pcduino
DEVICE_TITLE:=LinkSprite pcDuino
- DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
+ DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUPPORTED_DEVICES:=linksprite,a10-pcduino
SUNXI_DTS:=sun4i-a10-pcduino
- SUNXI_UBOOT:=Linksprite_pcDuino
endef
TARGET_DEVICES += sun4i-a10-pcduino