[LEDE-DEV] [PATCH 1/2] mvebu: add subtarget for cortex A9 build

Tomasz Maciej Nowak tomek_n at o2.pl
Wed Mar 7 13:10:01 PST 2018


From: Hauke Mehrtens <hauke at hauke-m.de>

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     | 137 +------------------------------
 target/linux/mvebu/image/cortex-a9.mk | 148 ++++++++++++++++++++++++++++++++++
 5 files changed, 165 insertions(+), 141 deletions(-)
 create mode 100644 target/linux/mvebu/cortexa9/target.mk
 create mode 100644 target/linux/mvebu/image/cortex-a9.mk

diff --git a/package/boot/uboot-mvebu/Makefile b/package/boot/uboot-mvebu/Makefile
index 2c280faa21..53abcafda0 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 6f0c1925c2..490583fb39 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
-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 0000000000..2a75599bc9
--- /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 68adfc3ddd..1ed9c39f00 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/Makefile
@@ -89,141 +89,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
+include cortex-a9.mk
 
 $(eval $(call BuildImage))
diff --git a/target/linux/mvebu/image/cortex-a9.mk b/target/linux/mvebu/image/cortex-a9.mk
new file mode 100644
index 0000000000..30e3ad0a0e
--- /dev/null
+++ b/target/linux/mvebu/image/cortex-a9.mk
@@ -0,0 +1,148 @@
+#
+# Copyright (C) 2012-2016 OpenWrt.org
+# Copyright (C) 2016 LEDE-project.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+ifeq ($(SUBTARGET),cortexa9)
+
+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
+
+endif
-- 
2.16.2




More information about the Lede-dev mailing list