|
@@ -0,0 +1,80 @@
|
|
|
|
+################################################################################
|
|
|
|
+#
|
|
|
|
+# xilinx-embeddedsw
|
|
|
|
+#
|
|
|
|
+################################################################################
|
|
|
|
+
|
|
|
|
+XILINX_EMBEDDEDSW_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_VERSION))
|
|
|
|
+XILINX_EMBEDDEDSW_SITE = $(call github,Xilinx,embeddedsw,$(XILINX_EMBEDDEDSW_VERSION))
|
|
|
|
+XILINX_EMBEDDEDSW_LICENSE = MIT
|
|
|
|
+XILINX_EMBEDDEDSW_LICENSE_FILES = license.txt
|
|
|
|
+XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
|
|
|
|
+XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
|
|
|
|
+XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
|
|
|
|
+
|
|
|
|
+# ZYNQMP_PMUFW application allows users to add cflags
|
|
|
|
+XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS = \
|
|
|
|
+ $(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS))
|
|
|
|
+XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS = \
|
|
|
|
+ "-Os -flto -ffat-lto-objects $(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS)"
|
|
|
|
+
|
|
|
|
+XILINX_EMBEDDEDSW_CFLAGS = "-Os -flto -ffat-lto-objects"
|
|
|
|
+
|
|
|
|
+ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM),y)
|
|
|
|
+define XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM
|
|
|
|
+ $(MAKE) -C $(@D)/lib/sw_apps/versal_plm/src/versal \
|
|
|
|
+ COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
|
|
|
|
+ ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
|
|
|
|
+ CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
|
|
|
|
+ CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS)
|
|
|
|
+endef
|
|
|
|
+
|
|
|
|
+define XILINX_EMBEDDEDSW_INSTALL_VERSAL_PLM
|
|
|
|
+ $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/versal_plm/src/versal/plm.elf \
|
|
|
|
+ $(BINARIES_DIR)/plm.elf
|
|
|
|
+endef
|
|
|
|
+endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM
|
|
|
|
+
|
|
|
|
+ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW),y)
|
|
|
|
+define XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW
|
|
|
|
+ $(MAKE) -C $(@D)/lib/sw_apps/versal_psmfw/src/versal \
|
|
|
|
+ COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
|
|
|
|
+ ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
|
|
|
|
+ CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
|
|
|
|
+ CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS)
|
|
|
|
+endef
|
|
|
|
+
|
|
|
|
+define XILINX_EMBEDDEDSW_INSTALL_VERSAL_PSMFW
|
|
|
|
+ $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/versal_psmfw/src/versal/psmfw.elf \
|
|
|
|
+ $(BINARIES_DIR)/psmfw.elf
|
|
|
|
+endef
|
|
|
|
+endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW
|
|
|
|
+
|
|
|
|
+ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y)
|
|
|
|
+define XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW
|
|
|
|
+ $(MAKE) -C $(@D)/lib/sw_apps/zynqmp_pmufw/src \
|
|
|
|
+ COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
|
|
|
|
+ ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
|
|
|
|
+ CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
|
|
|
|
+ CFLAGS=$(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS)
|
|
|
|
+endef
|
|
|
|
+
|
|
|
|
+define XILINX_EMBEDDEDSW_INSTALL_ZYNQMP_PMUFW
|
|
|
|
+ $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/zynqmp_pmufw/src/executable.elf \
|
|
|
|
+ $(BINARIES_DIR)/pmufw.elf
|
|
|
|
+endef
|
|
|
|
+endif # BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
|
|
|
|
+
|
|
|
|
+define XILINX_EMBEDDEDSW_BUILD_CMDS
|
|
|
|
+ $(XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM)
|
|
|
|
+ $(XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW)
|
|
|
|
+ $(XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW)
|
|
|
|
+endef
|
|
|
|
+
|
|
|
|
+define XILINX_EMBEDDEDSW_INSTALL_IMAGES_CMDS
|
|
|
|
+ $(XILINX_EMBEDDEDSW_INSTALL_VERSAL_PLM)
|
|
|
|
+ $(XILINX_EMBEDDEDSW_INSTALL_VERSAL_PSMFW)
|
|
|
|
+ $(XILINX_EMBEDDEDSW_INSTALL_ZYNQMP_PMUFW)
|
|
|
|
+endef
|
|
|
|
+
|
|
|
|
+$(eval $(generic-package))
|