xilinx-embeddedsw.mk 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ################################################################################
  2. #
  3. # xilinx-embeddedsw
  4. #
  5. ################################################################################
  6. XILINX_EMBEDDEDSW_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_VERSION))
  7. XILINX_EMBEDDEDSW_SITE = $(call github,Xilinx,embeddedsw,$(XILINX_EMBEDDEDSW_VERSION))
  8. XILINX_EMBEDDEDSW_LICENSE = MIT
  9. XILINX_EMBEDDEDSW_LICENSE_FILES = license.txt
  10. XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
  11. XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
  12. XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
  13. # ZYNQMP_PMUFW application allows users to add cflags
  14. XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS = \
  15. $(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS))
  16. XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS = \
  17. "-Os -flto -ffat-lto-objects $(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS)"
  18. XILINX_EMBEDDEDSW_CFLAGS = "-Os -flto -ffat-lto-objects"
  19. ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM),y)
  20. define XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM
  21. $(MAKE) -C $(@D)/lib/sw_apps/versal_plm/src/versal \
  22. COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
  23. ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
  24. CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
  25. CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS)
  26. endef
  27. define XILINX_EMBEDDEDSW_INSTALL_VERSAL_PLM
  28. $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/versal_plm/src/versal/plm.elf \
  29. $(BINARIES_DIR)/plm.elf
  30. endef
  31. endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM
  32. ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW),y)
  33. define XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW
  34. $(MAKE) -C $(@D)/lib/sw_apps/versal_psmfw/src/versal \
  35. COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
  36. ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
  37. CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
  38. CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS)
  39. endef
  40. define XILINX_EMBEDDEDSW_INSTALL_VERSAL_PSMFW
  41. $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/versal_psmfw/src/versal/psmfw.elf \
  42. $(BINARIES_DIR)/psmfw.elf
  43. endef
  44. endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW
  45. ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y)
  46. define XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW
  47. $(MAKE) -C $(@D)/lib/sw_apps/zynqmp_pmufw/src \
  48. COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
  49. ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
  50. CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
  51. CFLAGS=$(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS)
  52. endef
  53. define XILINX_EMBEDDEDSW_INSTALL_ZYNQMP_PMUFW
  54. $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/zynqmp_pmufw/src/executable.elf \
  55. $(BINARIES_DIR)/pmufw.elf
  56. endef
  57. endif # BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
  58. define XILINX_EMBEDDEDSW_BUILD_CMDS
  59. $(XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM)
  60. $(XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW)
  61. $(XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW)
  62. endef
  63. define XILINX_EMBEDDEDSW_INSTALL_IMAGES_CMDS
  64. $(XILINX_EMBEDDEDSW_INSTALL_VERSAL_PLM)
  65. $(XILINX_EMBEDDEDSW_INSTALL_VERSAL_PSMFW)
  66. $(XILINX_EMBEDDEDSW_INSTALL_ZYNQMP_PMUFW)
  67. endef
  68. $(eval $(generic-package))