Makefile 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #
  2. # Copyright 2019 NXP
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=tfa-layerscape
  9. PKG_VERSION:=6.12.20.2.0.0
  10. PKG_RELEASE:=1
  11. PKG_SOURCE_PROTO:=git
  12. PKG_SOURCE_URL:=https://github.com/nxp-qoriq/atf
  13. PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0
  14. PKG_MIRROR_HASH:=1e1c74900113a8d4354c06fdcedfff2cd6b0899b4a063d393de98f8ca358dfd2
  15. PKG_BUILD_DEPENDS:=tfa-layerscape/host
  16. include $(INCLUDE_DIR)/host-build.mk
  17. include $(INCLUDE_DIR)/trusted-firmware-a.mk
  18. include $(INCLUDE_DIR)/package.mk
  19. HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
  20. define Host/Compile
  21. $(MAKE) -C \
  22. $(HOST_BUILD_DIR)/tools/fiptool \
  23. PLAT_FIPTOOL_HELPER_MK="$(HOST_BUILD_DIR)/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk" \
  24. CFLAGS="$(HOST_CFLAGS)" \
  25. LDFLAGS="$(HOST_LDFLAGS)" \
  26. HOSTCCFLAGS="$(HOST_CFLAGS)"
  27. $(MAKE) -C \
  28. $(HOST_BUILD_DIR)/tools/nxp/create_pbl \
  29. CFLAGS="$(HOST_CFLAGS)"
  30. endef
  31. define Host/Install
  32. $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/fiptool-layerscape
  33. $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/nxp/create_pbl/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl
  34. $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/nxp/create_pbl/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap
  35. endef
  36. define Trusted-Firmware-A/Default
  37. BUILD_TARGET:=layerscape
  38. BUILD_SUBTARGET:=armv8_64b
  39. BUILD_DEVICES:=fsl_$(1)
  40. DEPENDS:=+layerscape-rcw +u-boot-fsl_$(1)
  41. endef
  42. define Trusted-Firmware-A/ls1012a-frdm
  43. NAME:=NXP LS1012AFRDM
  44. PLAT:=ls1012afrdm
  45. BOOT_MODE:=qspi
  46. endef
  47. define Trusted-Firmware-A/ls1012a-rdb
  48. NAME:=NXP LS1012ARDB
  49. PLAT:=ls1012ardb
  50. BOOT_MODE:=qspi
  51. endef
  52. define Trusted-Firmware-A/ls1012a-frwy-sdboot
  53. NAME:=NXP LS1012AFRWY
  54. PLAT:=ls1012afrwy
  55. BOOT_MODE:=qspi
  56. endef
  57. define Trusted-Firmware-A/ls1028a-rdb
  58. TITLE:=NXP LS1028ARDB
  59. PLAT:=ls1028ardb
  60. BOOT_MODE:=flexspi_nor
  61. endef
  62. define Trusted-Firmware-A/ls1028a-rdb-sdboot
  63. TITLE:=NXP LS1028ARDB SD Boot
  64. PLAT:=ls1028ardb
  65. BOOT_MODE:=sd
  66. endef
  67. define Trusted-Firmware-A/ls1043a-rdb
  68. NAME:=NXP LS1043ARDB
  69. PLAT:=ls1043ardb
  70. BOOT_MODE:=nor
  71. endef
  72. define Trusted-Firmware-A/ls1043a-rdb-sdboot
  73. NAME:=NXP LS1043ARDB SD Boot
  74. PLAT:=ls1043ardb
  75. BOOT_MODE:=sd
  76. endef
  77. define Trusted-Firmware-A/ls1046a-frwy
  78. NAME:=NXP LS1046AFRWY
  79. PLAT:=ls1046afrwy
  80. BOOT_MODE:=qspi
  81. endef
  82. define Trusted-Firmware-A/ls1046a-frwy-sdboot
  83. NAME:=NXP LS1046AFRWY SD Boot
  84. PLAT:=ls1046afrwy
  85. BOOT_MODE:=sd
  86. endef
  87. define Trusted-Firmware-A/ls1046a-rdb
  88. NAME:=NXP LS1046ARDB
  89. PLAT:=ls1046ardb
  90. BOOT_MODE:=qspi
  91. endef
  92. define Trusted-Firmware-A/ls1046a-rdb-sdboot
  93. NAME:=NXP LS1046ARDB SD Boot
  94. PLAT:=ls1046ardb
  95. BOOT_MODE:=sd
  96. endef
  97. define Trusted-Firmware-A/ls1088a-rdb
  98. NAME:=NXP LS1088ARDB
  99. PLAT:=ls1088ardb
  100. BOOT_MODE:=qspi
  101. endef
  102. define Trusted-Firmware-A/ls1088a-rdb-sdboot
  103. NAME:=NXP LS1088ARDB SD Boot
  104. PLAT:=ls1088ardb
  105. BOOT_MODE:=sd
  106. endef
  107. define Trusted-Firmware-A/ls2088a-rdb
  108. NAME:=NXP LS2088ARDB
  109. PLAT:=ls2088ardb
  110. BOOT_MODE:=nor
  111. endef
  112. define Trusted-Firmware-A/lx2160a-rdb
  113. NAME:=NXP LX2160ARDB
  114. PLAT:=lx2160ardb
  115. BOOT_MODE:=flexspi_nor
  116. endef
  117. define Trusted-Firmware-A/lx2160a-rdb-sdboot
  118. NAME:=NXP LX2160ARDB SD Boot
  119. PLAT:=lx2160ardb
  120. BOOT_MODE:=sd
  121. endef
  122. TFA_TARGETS := \
  123. ls1012a-frdm \
  124. ls1012a-rdb \
  125. ls1012a-frwy-sdboot \
  126. ls1028a-rdb \
  127. ls1028a-rdb-sdboot \
  128. ls1043a-rdb \
  129. ls1043a-rdb-sdboot \
  130. ls1046a-frwy \
  131. ls1046a-frwy-sdboot \
  132. ls1046a-rdb \
  133. ls1046a-rdb-sdboot \
  134. ls1088a-rdb \
  135. ls1088a-rdb-sdboot \
  136. ls2088a-rdb \
  137. lx2160a-rdb \
  138. lx2160a-rdb-sdboot
  139. TFA_MAKE_FLAGS += \
  140. $(if $(CONFIG_BINUTILS_VERSION_2_37)$(CONFIG_BINUTILS_VERSION_2_38),,LDFLAGS="-Wl,--no-warn-rwx-segments") \
  141. fip pbl \
  142. BOOT_MODE=$(BOOT_MODE) \
  143. RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \
  144. BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \
  145. FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool-layerscape \
  146. CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \
  147. BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap
  148. define Build/InstallDev
  149. $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
  150. $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
  151. $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-bl2.pbl
  152. $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
  153. $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-fip.bin
  154. endef
  155. define Package/trusted-firmware-a/install/default
  156. endef
  157. $(eval $(call HostBuild))
  158. $(eval $(call BuildPackage/Trusted-Firmware-A))