uboot-sunxi: clean up, switch to u-boot.mk
authorFelix Fietkau <nbd@nbd.name>
Mon, 23 Jan 2017 12:41:49 +0000 (13:41 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 24 Jan 2017 15:21:25 +0000 (16:21 +0100)
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>
package/boot/uboot-sunxi/Makefile
package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch [deleted file]
target/linux/sunxi/image/Makefile
target/linux/sunxi/profiles/00-default.mk

index bc80dcf..311437a 100644 (file)
 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))
diff --git a/package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch b/package/boot/uboot-sunxi/patches/001-use-dtc-in-kernel.patch
deleted file mode 100644 (file)
index 6471e78..0000000
+++ /dev/null
@@ -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__ \
index bc696cf..bfb8e4e 100644 (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
index b7ecfb0..ee0bc6b 100644 (file)
@@ -17,7 +17,6 @@ define Profile/Default
        kmod-sun4i-emac \
        rtl8188eu-firmware \
        swconfig \
-       uboot-sunxi-all \
        wpad-mini
   PRIORITY := 1
 endef