b3e947f3b202611f7e27b3d9fa8e6e2d45b5168c
[openwrt/openwrt.git] / package / boot / tfa-layerscape / Makefile
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
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=tfa-layerscape
11 PKG_VERSION:=LSDK-20.04
12 PKG_RELEASE:=2
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf
16 PKG_SOURCE_VERSION:=4a82c939a0211196e2b80a495f966383803753bb
17 PKG_MIRROR_HASH:=31c264551ce800b646d7dcc5baa62cfbb4c8fa3299a93931c7ef71dc3e88380d
18 PKG_BUILD_DEPENDS:=tfa-layerscape/host
19
20 include $(INCLUDE_DIR)/host-build.mk
21 include $(INCLUDE_DIR)/package.mk
22
23 HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
24 define Host/Compile
25 $(MAKE) -C \
26 $(HOST_BUILD_DIR)/tools/fiptool \
27 CFLAGS="$(HOST_CFLAGS)" \
28 LDFLAGS="$(HOST_LDFLAGS)"
29 $(MAKE) -C \
30 $(HOST_BUILD_DIR)/plat/nxp/tools \
31 CFLAGS="$(HOST_CFLAGS)"
32 endef
33
34 define Host/Install
35 $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/tfa-fiptool
36 $(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl
37 $(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap
38 endef
39
40 define Package/tfa-generic
41 SECTION:=boot
42 CATEGORY:=Boot Loaders
43 DEPENDS:=@TARGET_layerscape_armv8_64b +layerscape-rcw +u-boot-fsl_$(subst tfa-,,$(1))
44 VARIANT:=$(subst tfa-,,$(1))
45 endef
46
47 define Package/tfa-ls1012a-frdm
48 $(Package/tfa-generic)
49 TITLE:=NXP LS1012AFRDM Trusted Firmware
50 PLAT:=ls1012afrdm
51 BOOT_MODE:=qspi
52 endef
53
54 define Package/tfa-ls1012a-rdb
55 $(Package/tfa-generic)
56 TITLE:=NXP LS1012ARDB Trusted Firmware
57 PLAT:=ls1012ardb
58 BOOT_MODE:=qspi
59 endef
60
61 define Package/tfa-ls1012a-frwy-sdboot
62 $(Package/tfa-generic)
63 TITLE:=NXP LS1012AFRWY Trusted Firmware
64 PLAT:=ls1012afrwy
65 BOOT_MODE:=qspi
66 endef
67
68 define Package/tfa-ls1043a-rdb
69 $(Package/tfa-generic)
70 TITLE:=NXP LS1043ARDB Trusted Firmware
71 PLAT:=ls1043ardb
72 BOOT_MODE:=nor
73 endef
74
75 define Package/tfa-ls1043a-rdb-sdboot
76 $(Package/tfa-generic)
77 TITLE:=NXP LS1043ARDB SD Boot Trusted Firmware
78 PLAT:=ls1043ardb
79 BOOT_MODE:=sd
80 endef
81
82 define Package/tfa-ls1046a-rdb
83 $(Package/tfa-generic)
84 TITLE:=NXP LS1046ARDB Trusted Firmware
85 PLAT:=ls1046ardb
86 BOOT_MODE:=qspi
87 endef
88
89 define Package/tfa-ls1046a-rdb-sdboot
90 $(Package/tfa-generic)
91 TITLE:=NXP LS1046ARDB SD Boot Trusted Firmware
92 PLAT:=ls1046ardb
93 BOOT_MODE:=sd
94 endef
95
96 define Package/tfa-ls1088a-rdb
97 $(Package/tfa-generic)
98 TITLE:=NXP LS1088ARDB Trusted Firmware
99 PLAT:=ls1088ardb
100 BOOT_MODE:=qspi
101 endef
102
103 define Package/tfa-ls1088a-rdb-sdboot
104 $(Package/tfa-generic)
105 TITLE:=NXP LS1088ARDB SD Boot Trusted Firmware
106 PLAT:=ls1088ardb
107 BOOT_MODE:=sd
108 endef
109
110 define Package/tfa-ls2088a-rdb
111 $(Package/tfa-generic)
112 TITLE:=NXP LS2088ARDB Trusted Firmware
113 PLAT:=ls2088ardb
114 BOOT_MODE:=nor
115 endef
116
117 define Build/InstallDev
118 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
119 $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
120 $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-bl2.pbl
121 $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
122 $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-fip.bin
123 endef
124
125 define Build/Compile
126 $(eval $(Package/tfa-$(BUILD_VARIANT))) \
127 $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
128 fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
129 RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \
130 BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \
131 FIPTOOL=$(STAGING_DIR_HOST)/bin/tfa-fiptool \
132 CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \
133 BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap
134 endef
135
136 TFAS := \
137 ls1012a-frdm \
138 ls1012a-rdb \
139 ls1012a-frwy-sdboot \
140 ls1043a-rdb \
141 ls1043a-rdb-sdboot \
142 ls1046a-rdb \
143 ls1046a-rdb-sdboot \
144 ls1088a-rdb \
145 ls1088a-rdb-sdboot \
146 ls2088a-rdb
147
148 $(eval $(call HostBuild))
149 $(foreach tfa,$(TFAS), \
150 $(eval $(call BuildPackage,tfa-$(tfa))) \
151 )