diff options
author | Andre Heider <a.heider@gmail.com> | 2019-11-02 13:14:08 +0100 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2020-09-18 21:42:06 +0200 |
commit | 8cfb839907ad3b18decc053771d619a7fff9f99b (patch) | |
tree | 4d9f91522b0b45d23bc1b9988b31913f00e25f50 | |
parent | f6378b9e5394dd8723eaa2f30f35c2e72b024c46 (diff) | |
download | upstream-8cfb839907ad3b18decc053771d619a7fff9f99b.tar.gz upstream-8cfb839907ad3b18decc053771d619a7fff9f99b.tar.bz2 upstream-8cfb839907ad3b18decc053771d619a7fff9f99b.zip |
arm-trusted-firmware-mvebu: add support for espressobin
Use build variants to cover all 11 hardware options [0]:
espressobin-512mb
espressobin-v3-v5-1gb-1cs
espressobin-v3-v5-1gb-1cs-emmc
espressobin-v3-v5-1gb-2cs
espressobin-v3-v5-1gb-2cs-emmc
espressobin-v3-v5-2gb
espressobin-v3-v5-2gb-emmc
espressobin-v7-1gb
espressobin-v7-1gb-emmc
espressobin-v7-2gb
espressobin-v7-2gb-emmc
CLOCKSPRESET is set to CPU_800_DDR_800 for all builds, which is the only
stable configuration. That actually matches what Globalscale shipped as
CPU_1000_DDR_800 combined with kernel versions < v4.19.42. [1][2].
[0] https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/plat/marvell/armada/build.rst
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8db82563451f976597ab7b282ec655e4390a4088
[2] https://forum.armbian.com/topic/10335-espressobin-update-to-585-results-in-kernel-panic/?tab=comments#comment-79916
Signed-off-by: Andre Heider <a.heider@gmail.com>
-rw-r--r-- | package/boot/arm-trusted-firmware-mvebu/Makefile | 166 |
1 files changed, 145 insertions, 21 deletions
diff --git a/package/boot/arm-trusted-firmware-mvebu/Makefile b/package/boot/arm-trusted-firmware-mvebu/Makefile index 1071cf35ba..9e917545a7 100644 --- a/package/boot/arm-trusted-firmware-mvebu/Makefile +++ b/package/boot/arm-trusted-firmware-mvebu/Makefile @@ -26,15 +26,126 @@ include $(INCLUDE_DIR)/package.mk define Package/arm-trusted-firmware-mvebu SECTION:=boot CATEGORY:=Boot Loaders - TITLE:=ARM Trusted Firmware for mvebu devices + DEPENDS:=@TARGET_mvebu_cortexa53 + VARIANT:=$(subst arm-trusted-firmware-mvebu-,,$(1)) endef -define Package/arm-trusted-firmware-mvebu/uDPU -$(call Package/arm-trusted-firmware-mvebu) - BOARDNAME:=uDPU +define Package/arm-trusted-firmware-mvebu-espressobin-512mb + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin (512MB) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin + DDR_TOPOLOGY:=0 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 1CS) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin + DDR_TOPOLOGY:=2 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs-emmc + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 1CS, eMMC) + DEPENDS:=+u-boot-espressobin-emmc + UBOOT:=espressobin-emmc + DDR_TOPOLOGY:=4 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB, 2CS) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin + DDR_TOPOLOGY:=2 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs-emmc + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 2CS, eMMC) + DEPENDS:=+u-boot-espressobin-emmc + UBOOT:=espressobin-emmc + DDR_TOPOLOGY:=2 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (2GB) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin + DDR_TOPOLOGY:=7 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb-emmc + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (2GB, eMMC) + DEPENDS:=+u-boot-espressobin-emmc + UBOOT:=espressobin-emmc + DDR_TOPOLOGY:=7 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v7-1gb + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (1GB) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin + DDR_TOPOLOGY:=5 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v7-1gb-emmc + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (1GB, eMMC) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin-emmc + DDR_TOPOLOGY:=5 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v7-2gb + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (2GB) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin + DDR_TOPOLOGY:=6 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-espressobin-v7-2gb-emmc + $(Package/arm-trusted-firmware-mvebu) + TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (2GB, eMMC) + DEPENDS:=+u-boot-espressobin + UBOOT:=espressobin-emmc + DDR_TOPOLOGY:=6 + CLOCKSPRESET:=CPU_800_DDR_800 + PLAT:=a3700 +endef + +define Package/arm-trusted-firmware-mvebu-udpu + $(Package/arm-trusted-firmware-mvebu) TITLE:=ARM Trusted Firmware for Methode uDPU DEPENDS:=+u-boot-uDPU UBOOT:=uDPU + DDR_TOPOLOGY:=0 CLOCKSPRESET:=CPU_1000_DDR_800 PLAT:=a3700 endef @@ -94,24 +205,37 @@ export GCC_HONOUR_COPTS=s TARGET_CFLAGS = "" -MAKE_VARS= \ - CROSS_COMPILE="$(TARGET_CROSS)" - -MAKE_FLAGS = \ - OPENSSL_DIR=$(STAGING_DIR_HOST) \ - CROSS_CM3=$(STAGING_DIR_IMAGE)/$(LINARO_NAME)-$(LINARO_RELEASE).$(LINARO_VERSION)/bin/arm-linux-gnueabi- \ - BL33=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.bin \ - MV_DDR_PATH=$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME) \ - WTP=$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME) \ - CLOCKSPRESET=$(CLOCKSPRESET) \ - PLAT=$(PLAT) \ - all \ - fip +define Build/Compile + $(eval $(Package/arm-trusted-firmware-mvebu-$(BUILD_VARIANT))) \ + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + OPENSSL_DIR=$(STAGING_DIR_HOST) \ + CROSS_CM3=$(STAGING_DIR_IMAGE)/$(LINARO_NAME)-$(LINARO_RELEASE).$(LINARO_VERSION)/bin/arm-linux-gnueabi- \ + BL33=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.bin \ + MV_DDR_PATH=$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME) \ + WTP=$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME) \ + DDR_TOPOLOGY=$(DDR_TOPOLOGY) \ + CLOCKSPRESET=$(CLOCKSPRESET) \ + PLAT=$(PLAT) \ + all \ + fip +endef define Build/InstallDev - $(INSTALL_DIR) $(BIN_DIR)/flash-image-$(BOARDNAME) - $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/flash-image.bin $(BIN_DIR)/flash-image-$(BOARDNAME)/ - $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/uart-images.tgz $(BIN_DIR)/flash-image-$(BOARDNAME)/ + $(INSTALL_DIR) $(BIN_DIR)/flash-image-$(BUILD_VARIANT) + $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/flash-image.bin $(BIN_DIR)/flash-image-$(BUILD_VARIANT)/ + $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/uart-images.tgz $(BIN_DIR)/flash-image-$(BUILD_VARIANT)/ endef -$(eval $(call BuildPackage,arm-trusted-firmware-mvebu/uDPU)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-512mb)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs-emmc)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs-emmc)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb-emmc)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-1gb)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-1gb-emmc)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-2gb)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-2gb-emmc)) +$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-udpu)) |