[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