uboot-sunxi: clean up, switch to u-boot.mk

Instead of referencing u-boot packages from device profiles and having a
-all metapackage, make the u-boot packages hidden (they don't install to
bin/ anyway), and name the files in KERNEL_BUILD_DIR appropriately

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2017-01-23 13:41:49 +01:00
parent 9913c4eae4
commit e018c4d7ab
4 changed files with 130 additions and 113 deletions

View file

@ -9,90 +9,134 @@
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
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
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/Default
BUILD_TARGET:=sunxi
UBOOT_IMAGE:=u-boot-sunxi-with-spl.bin
UENV:=default
HIDDEN:=1
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/A10-OLinuXino-Lime
NAME:=A10 OLinuXino LIME
BUILD_DEVICES:=sun4i-a10-olinuxino-lime
endef
UBOOT_SUNXI_PACKAGES += uboot-sunxi-$(1)
define U-Boot/A13-OLinuXino
NAME:=A13 OlinuXino
BUILD_DEVICES:=sun5i-a13-olinuxino
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 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/A20-OLinuXino-Lime
NAME:=A20 OLinuXino LIME
BUILD_DEVICES:=sun7i-a20-olinuxino-lime
endef
ifdef BUILD_VARIANT
define Build/Configure
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
USE_PRIVATE_LIBGCC=yes $(BUILD_VARIANT)_defconfig
define U-Boot/A20-OLinuXino_MICRO
NAME:=A20 OLinuXino MICRO
BUILD_DEVICES:=sun7i-a20-olinuxino-micro
endef
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS) \
DTCDIR=$(LINUX_DIR)/scripts/dtc/
define U-Boot/Bananapi
NAME:=Bananapi
BUILD_DEVICES:=sun7i-a20-bananapi
endef
else # BUILD_VARIANT
define Build/Prepare
endef
define Build/Configure
endef
define Build/Compile
endef
endif # BUILD_VARIANT
$(foreach pkg,$(UBOOT_SUNXI_PACKAGES), \
$(eval $(call BuildPackage,$(pkg))) \
)
$(eval $(call BuildPackage,uboot-sunxi-all))
define U-Boot/Bananapro
NAME:=Bananapro
BUILD_DEVICES:=sun7i-a20-bananapro
endef
define U-Boot/Cubieboard
NAME:=Cubieboard
BUILD_DEVICES:=sun4i-a10-cubieboard
endef
define U-Boot/Cubieboard2
NAME:=Cubieboard2
BUILD_DEVICES:=sun7i-a20-cubieboard2
endef
define U-Boot/Cubietruck
NAME:=Cubietruck
BUILD_DEVICES:=sun7i-a20-cubietruck
endef
define U-Boot/Hummingbird_A31
NAME:=Hummingbird A31 board
endef
define U-Boot/Mele_M9
NAME:=Mele M9 (A31)
BUILD_DEVICES:=sun6i-a31-m9
endef
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 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
$(eval $(call BuildPackage/U-Boot))

View file

@ -1,11 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -348,7 +348,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump
AWK = awk
PERL = perl
PYTHON = python
-DTC = dtc
+DTC = $(DTCDIR)dtc
CHECK = sparse
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \

View file

@ -18,7 +18,7 @@ define Build/sunxi-sdcard
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 $@ \
@ -26,7 +26,7 @@ define Build/sunxi-sdcard
$(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
@ -42,10 +42,9 @@ 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
@ -53,10 +52,9 @@ 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
@ -64,10 +62,9 @@ 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
@ -75,10 +72,9 @@ 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
@ -86,10 +82,9 @@ 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
@ -97,10 +92,9 @@ 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
@ -108,10 +102,9 @@ 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
@ -119,10 +112,9 @@ 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
@ -130,10 +122,9 @@ 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
@ -141,10 +132,9 @@ 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
@ -152,10 +142,9 @@ 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
@ -163,10 +152,9 @@ 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
@ -174,10 +162,9 @@ 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
@ -185,10 +172,9 @@ 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
@ -196,10 +182,9 @@ 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

View file

@ -17,7 +17,6 @@ define Profile/Default
kmod-sun4i-emac \
rtl8188eu-firmware \
swconfig \
uboot-sunxi-all \
wpad-mini
PRIORITY := 1
endef