From be3da900cdac3640398ed60f62bb445269aa8b50 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Wed, 7 Mar 2018 22:10:01 +0100 Subject: [PATCH] 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 --- package/boot/uboot-mvebu/Makefile | 1 + target/linux/mvebu/Makefile | 6 +- target/linux/mvebu/cortexa9/target.mk | 14 +++ target/linux/mvebu/image/Makefile | 154 +----------------------- target/linux/mvebu/image/cortex-a9.mk | 165 ++++++++++++++++++++++++++ 5 files changed, 182 insertions(+), 158 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 eb12de0ff3..93491954ab 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 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 823552d4f8..6e012a61e1 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/cortex-a9.mk b/target/linux/mvebu/image/cortex-a9.mk new file mode 100644 index 0000000000..aa56a721a8 --- /dev/null +++ b/target/linux/mvebu/image/cortex-a9.mk @@ -0,0 +1,165 @@ +# +# 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 + +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 + +endif