[openwrt/openwrt] mvebu: Add subtarget for Cortex A9 build

LEDE Commits lede-commits at lists.infradead.org
Fri Mar 9 16:17:13 PST 2018


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/be3da900cdac3640398ed60f62bb445269aa8b50

commit be3da900cdac3640398ed60f62bb445269aa8b50
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Wed Mar 7 22:10:01 2018 +0100

    mvebu: Add subtarget for Cortex A9 build
    
    This is in preparation for adding a subtarget for the Cortex A53 later.
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 package/boot/uboot-mvebu/Makefile                  |   1 +
 target/linux/mvebu/Makefile                        |   6 +-
 target/linux/mvebu/cortexa9/target.mk              |  14 ++
 target/linux/mvebu/image/Makefile                  | 154 +--------------------
 .../linux/mvebu/image/{Makefile => cortex-a9.mk}   |  96 +------------
 5 files changed, 19 insertions(+), 252 deletions(-)

diff --git a/package/boot/uboot-mvebu/Makefile b/package/boot/uboot-mvebu/Makefile
index 2c280fa..53abcaf 100644
--- a/package/boot/uboot-mvebu/Makefile
+++ b/package/boot/uboot-mvebu/Makefile
@@ -24,6 +24,7 @@ endef
 define U-Boot/clearfog
   NAME:=SolidRun ClearFog A1
   BUILD_DEVICES:=armada-388-clearfog-base armada-388-clearfog-pro
+  BUILD_SUBTARGET:=cortexa9
   UBOOT_IMAGE:=u-boot-spl.kwb
 endef
 
diff --git a/target/linux/mvebu/Makefile b/target/linux/mvebu/Makefile
index eb12de0..9349195 100644
--- a/target/linux/mvebu/Makefile
+++ b/target/linux/mvebu/Makefile
@@ -6,20 +6,16 @@
 #
 include $(TOPDIR)/rules.mk
 
-ARCH:=arm
 BOARD:=mvebu
 BOARDNAME:=Marvell Armada 37x/38x/XP
 FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk
-CPU_TYPE:=cortex-a9
-CPU_SUBTYPE:=vfpv3
+SUBTARGETS:=cortexa9
 MAINTAINER:=Imre Kaloz <kaloz at openwrt.org>
 
 KERNEL_PATCHVER:=4.14
 
 include $(INCLUDE_DIR)/target.mk
 
-KERNELNAME:=zImage dtbs
-
 DEFAULT_PACKAGES += uboot-envtools kmod-gpio-button-hotplug
 
 $(eval $(call BuildTarget))
diff --git a/target/linux/mvebu/cortexa9/target.mk b/target/linux/mvebu/cortexa9/target.mk
new file mode 100644
index 0000000..2a75599
--- /dev/null
+++ b/target/linux/mvebu/cortexa9/target.mk
@@ -0,0 +1,14 @@
+#
+# Copyright (C) 2017 Hauke Mehrtens
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+ARCH:=arm
+BOARDNAME:=Marvell Armada 37x/38x/XP
+CPU_TYPE:=cortex-a9
+CPU_SUBTYPE:=vfpv3
+KERNELNAME:=zImage dtbs
diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile
index 823552d..6e012a6 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/Makefile
@@ -100,158 +100,6 @@ define Device/NAND-512K
   PAGESIZE := 4096
 endef
 
-define Device/linksys
-  DEVICE_TITLE := Linksys $(1)
-  DEVICE_PACKAGES := kmod-mwlwifi wpad-mini swconfig
-endef
-
-define Device/armada-385-linksys
-  $(Device/NAND-128K)
-  $(Device/UBI-factory)
-  KERNEL_SIZE := 6144k
-endef
-
-define Device/linksys-wrt1200ac
-  $(call Device/linksys,WRT1200AC (Caiman))
-  $(Device/armada-385-linksys)
-  DEVICE_DTS := armada-385-linksys-caiman
-  DEVICE_PACKAGES += mwlwifi-firmware-88w8864
-endef
-TARGET_DEVICES += linksys-wrt1200ac
-
-define Device/linksys-wrt1900acv2
-  $(call Device/linksys,WRT1900ACv2 (Cobra))
-  $(Device/armada-385-linksys)
-  DEVICE_DTS := armada-385-linksys-cobra
-  DEVICE_PACKAGES += mwlwifi-firmware-88w8864
-endef
-TARGET_DEVICES += linksys-wrt1900acv2
-
-define Device/linksys-wrt3200acm
-  $(call Device/linksys,WRT3200ACM (Rango))
-  $(Device/armada-385-linksys)
-  DEVICE_DTS := armada-385-linksys-rango
-  DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
-endef
-TARGET_DEVICES += linksys-wrt3200acm
-
-define Device/linksys-wrt1900acs
-  $(call Device/linksys,WRT1900ACS (Shelby))
-  $(Device/armada-385-linksys)
-  DEVICE_DTS := armada-385-linksys-shelby
-  DEVICE_PACKAGES += mwlwifi-firmware-88w8864
-endef
-TARGET_DEVICES += linksys-wrt1900acs
-
-define Device/linksys-wrt1900ac
-  $(call Device/linksys,WRT1900AC (Mamba))
-  DEVICE_DTS := armada-xp-linksys-mamba
-  DEVICE_PACKAGES += mwlwifi-firmware-88w8864
-  $(Device/NAND-128K)
-  $(Device/UBI-factory)
-  KERNEL_SIZE := 3072k
-endef
-TARGET_DEVICES += linksys-wrt1900ac
-
-define Device/openblocks-ax3-4
-  $(Device/UBI-factory)
-  DEVICE_DTS := armada-xp-openblocks-ax3-4
-  SUPPORTED_DEVICES := $(1)
-  BLOCKSIZE := 128k
-  PAGESIZE := 1
-  IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi
-  DEVICE_TITLE := Plat'Home OpenBlocks AX3
-endef
-TARGET_DEVICES += openblocks-ax3-4
-
-define Device/armada-385-db-ap
-  $(Device/NAND-256K)
-  $(Device/UBI-factory)
-  KERNEL_SIZE := 8192k
-  DEVICE_TITLE := Marvell Armada 385 DB AP (DB-88F6820-AP)
-endef
-TARGET_DEVICES += armada-385-db-ap
-
-define Device/marvell-nand
-  $(Device/NAND-512K)
-  DEVICE_TITLE := Marvell Armada $(1)
-endef
-
-define Device/armada-370-db
-	$(call Device/marvell-nand,370 DB (DB-88F6710-BP-DDR3))
-endef
-TARGET_DEVICES += armada-370-db
-
-define Device/armada-370-rd
-	$(call Device/marvell-nand,370 RD (RD-88F6710-A1))
-endef
-TARGET_DEVICES += armada-370-rd
-
-define Device/armada-xp-db
-	$(call Device/marvell-nand,XP DB (DB-78460-BP))
-endef
-TARGET_DEVICES += armada-xp-db
-
-define Device/armada-xp-gp
-	$(call Device/marvell-nand,XP GP (DB-MV784MP-GP))
-endef
-TARGET_DEVICES += armada-xp-gp
-
-define Device/armada-388-rd
-  DEVICE_TITLE := Marvell Armada 388 RD (RD-88F6820-AP)
-  IMAGES := firmware.bin
-  IMAGE/firmware.bin := append-kernel | pad-to 256k | append-rootfs | pad-rootfs
-endef
-TARGET_DEVICES += armada-388-rd
-
-define Device/armada-388-clearfog-pro
-  KERNEL_INSTALL := 1
-  KERNEL := kernel-bin
-  DEVICE_TITLE := SolidRun ClearFog Pro
-  DEVICE_PACKAGES := mkf2fs e2fsprogs swconfig kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
-  IMAGES := sdcard.img.gz
-  IMAGE/sdcard.img.gz := boot-scr | boot-img | sdcard-img | gzip | append-metadata
-  DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
-  SUPPORTED_DEVICES := armada-388-clearfog-pro armada-388-clearfog
-  UBOOT := clearfog-u-boot-spl.kwb
-endef
-TARGET_DEVICES += armada-388-clearfog-pro
-
-define Device/armada-388-clearfog-base
-  KERNEL_INSTALL := 1
-  KERNEL := kernel-bin
-  DEVICE_TITLE := SolidRun ClearFog Base
-  DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
-  IMAGES := sdcard.img.gz
-  IMAGE/sdcard.img.gz := boot-scr | boot-img | sdcard-img | gzip | append-metadata
-  DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
-  UBOOT := clearfog-u-boot-spl.kwb
-endef
-TARGET_DEVICES += armada-388-clearfog-base
-
-define Device/globalscale-mirabox
-  $(Device/NAND-512K)
-  DEVICE_DTS := armada-370-mirabox
-  SUPPORTED_DEVICES := mirabox
-  DEVICE_TITLE := Globalscale Mirabox
-endef
-TARGET_DEVICES += globalscale-mirabox
-
-define Device/turris-omnia
-  KERNEL_INSTALL := 1
-  KERNEL := kernel-bin
-  KERNEL_INITRAMFS := kernel-bin
-  DEVICE_TITLE := Turris Omnia
-  DEVICE_PACKAGES :=  \
-    mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \
-    wpad-mini kmod-ath9k kmod-ath10k ath10k-firmware-qca988x
-  IMAGES := $$(IMAGE_PREFIX)-sysupgrade.img.gz omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz
-  IMAGE/$$(IMAGE_PREFIX)-sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata
-  IMAGE/omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz := omnia-medkit-initramfs | gzip
-  IMAGE_NAME = $$(2)
-  DEVICE_DTS := armada-385-turris-omnia
-  UBOOT :=
-endef
-TARGET_DEVICES += turris-omnia
+include cortex-a9.mk
 
 $(eval $(call BuildImage))
diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/cortex-a9.mk
similarity index 66%
copy from target/linux/mvebu/image/Makefile
copy to target/linux/mvebu/image/cortex-a9.mk
index 823552d..aa56a72 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/cortex-a9.mk
@@ -6,99 +6,7 @@
 # See /LICENSE for more information.
 #
 
-JFFS2_BLOCKSIZE = 128k
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/image.mk
-
-KERNEL_LOADADDR := 0x00008000
-
-SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))
-
-define Build/dtb
-	$(call Image/BuildDTB,$(DTS_DIR)/$(DEVICE_DTS).dts,$@.dtb)
-endef
-
-# SD-Card Images:
-# these values are optimized for a 4GB labeled sdcard that actually holds 7744512 sectors of 512 byte
-# MBR:            2048 sectors
-# Partition 1:   32768 sectors
-# Partition 2:   98304 sectors (configurable)
-
-define Build/boot-scr
-	rm -f $@-boot.scr
-	mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $(DEVICE_NAME).bootscript $@-boot.scr
-endef
-
-define Build/boot-img
-	rm -f $@.boot
-	mkfs.fat -C $@.boot 16384
-	$(foreach dts,$(DEVICE_DTS), mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::$(dts).dtb;)
-	mcopy -i $@.boot $(IMAGE_KERNEL) ::zImage
-	-mcopy -i $@.boot $@-boot.scr ::boot.scr
-endef
-
-define Build/sdcard-img
-	if [ -n "$(UBOOT)" ]; then UBOOT="$(STAGING_DIR_IMAGE)/$(UBOOT)"; fi; \
-	ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \
-	SIGNATURE="$(SIGNATURE)" \
-	./gen_mvebu_sdcard_img.sh $@ \
-		$$UBOOT \
-		c 32768 $@.boot \
-		83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
-endef
-
-define Build/omnia-medkit-initramfs
-	$(TAR) -c -T /dev/null -f $@
-	rm -rf $(dir $(IMAGE_KERNEL))boot
-	mkdir -p $(dir $(IMAGE_KERNEL))boot/boot/
-	cp $(KDIR)/zImage-initramfs $(dir $(IMAGE_KERNEL))boot/boot/zImage
-	cp $(DTS_DIR)/$(DEVICE_DTS).dtb $(dir $(IMAGE_KERNEL))boot/boot/dtb
-	$(TAR) -rp --numeric-owner --owner=0 --group=0 --sort=name \
-		$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
-		--file=$@ -C $(dir $(IMAGE_KERNEL))boot/ .
-endef
-
-define Device/Default
-  PROFILES := Default
-  DEVICE_DTS := $(1)
-  BOARD_NAME = $$(DEVICE_DTS)
-  KERNEL_NAME := zImage
-  KERNEL := kernel-bin | append-dtb | uImage none
-  SUPPORTED_DEVICES = $$(DEVICE_DTS)
-endef
-
-define Device/UBI
-  IMAGES := sysupgrade.bin
-  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
-endef
-
-define Device/UBI-factory
-  $(Device/UBI)
-  UBINIZE_OPTS := -E 5
-  IMAGES += factory.img
-  IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to $$$$(PAGESIZE)
-endef
-
-define Device/NAND-128K
-  $(Device/UBI)
-  BLOCKSIZE := 128k
-  PAGESIZE := 2048
-  SUBPAGESIZE := 512
-  VID_HDR_OFFSET := 2048
-endef
-
-define Device/NAND-256K
-  $(Device/UBI)
-  BLOCKSIZE := 256k
-  PAGESIZE := 4096
-endef
-
-define Device/NAND-512K
-  $(Device/UBI)
-  BLOCKSIZE := 512k
-  PAGESIZE := 4096
-endef
+ifeq ($(SUBTARGET),cortexa9)
 
 define Device/linksys
   DEVICE_TITLE := Linksys $(1)
@@ -254,4 +162,4 @@ define Device/turris-omnia
 endef
 TARGET_DEVICES += turris-omnia
 
-$(eval $(call BuildImage))
+endif



More information about the lede-commits mailing list