arm-trusted-firmware-mediatek: update to release 2023-10-13
[openwrt/staging/jow.git] / package / boot / arm-trusted-firmware-mediatek / Makefile
1 #
2 # Copyright (C) 2017 Hauke Mehrtens
3 # Copyright (C) 2021-2023 Daniel Golle
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=arm-trusted-firmware-mediatek
12 PKG_RELEASE:=1
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git
16 PKG_SOURCE_DATE:=2023-10-13
17 PKG_SOURCE_VERSION:=0ea67d76ae8be127c91caa3fcdf449b1fe533175
18 PKG_MIRROR_HASH:=b102f6ffaa7cd2202161c44cab4d27f426d9d74c311ea9eb4d2f371ea2af4a2e
19
20 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
21
22 include $(INCLUDE_DIR)/kernel.mk
23 include $(INCLUDE_DIR)/trusted-firmware-a.mk
24 include $(INCLUDE_DIR)/package.mk
25
26 define Trusted-Firmware-A/Default
27 BUILD_TARGET:=mediatek
28 TFA_IMAGE:=bl2.img bl31.bin
29 BOOT_DEVICE:=
30 DDR3_FLYBY:=
31 DDR_TYPE:=
32 NAND_TYPE:=
33 BOARD_QFN:=
34 DRAM_USE_COMB:=
35 endef
36
37 define Trusted-Firmware-A/mt7622-nor-1ddr
38 NAME:=MediaTek MT7622 (SPI-NOR, 1x DDR3)
39 BUILD_SUBTARGET:=mt7622
40 PLAT:=mt7622
41 BOOT_DEVICE:=nor
42 endef
43
44 define Trusted-Firmware-A/mt7622-nor-2ddr
45 NAME:=MediaTek MT7622 (SPI-NOR, 2x DDR3)
46 BUILD_SUBTARGET:=mt7622
47 PLAT:=mt7622
48 BOOT_DEVICE:=nor
49 DDR3_FLYBY:=1
50 endef
51
52 define Trusted-Firmware-A/mt7622-snand-1ddr
53 NAME:=MediaTek MT7622 (SPI-NAND, 1x DDR3)
54 BUILD_SUBTARGET:=mt7622
55 PLAT:=mt7622
56 BOOT_DEVICE:=snand
57 endef
58
59 define Trusted-Firmware-A/mt7622-snand-2ddr
60 NAME:=MediaTek MT7622 (SPI-NAND, 2x DDR3)
61 BUILD_SUBTARGET:=mt7622
62 PLAT:=mt7622
63 BOOT_DEVICE:=snand
64 DDR3_FLYBY:=1
65 endef
66
67 define Trusted-Firmware-A/mt7622-emmc-1ddr
68 NAME:=MediaTek MT7622 (eMMC, 1x DDR3)
69 BUILD_SUBTARGET:=mt7622
70 PLAT:=mt7622
71 BOOT_DEVICE:=emmc
72 endef
73
74 define Trusted-Firmware-A/mt7622-emmc-2ddr
75 NAME:=MediaTek MT7622 (eMMC, 2x DDR3)
76 BUILD_SUBTARGET:=mt7622
77 PLAT:=mt7622
78 BOOT_DEVICE:=emmc
79 DDR3_FLYBY:=1
80 endef
81
82 define Trusted-Firmware-A/mt7622-sdmmc-1ddr
83 NAME:=MediaTek MT7622 (SD card, 1x DDR3)
84 BUILD_SUBTARGET:=mt7622
85 PLAT:=mt7622
86 BOOT_DEVICE:=sdmmc
87 endef
88
89 define Trusted-Firmware-A/mt7622-sdmmc-2ddr
90 NAME:=MediaTek MT7622 (SD card, 2x DDR3)
91 BUILD_SUBTARGET:=mt7622
92 PLAT:=mt7622
93 BOOT_DEVICE:=sdmmc
94 DDR3_FLYBY:=1
95 endef
96
97 define Trusted-Firmware-A/mt7981-emmc-ddr4
98 NAME:=MediaTek MT7981 (eMMC, DDR4)
99 BOOT_DEVICE:=emmc
100 BUILD_SUBTARGET:=filogic
101 PLAT:=mt7981
102 DDR_TYPE:=ddr4
103 endef
104
105 define Trusted-Firmware-A/mt7981-spim-nand-ddr4
106 NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR4)
107 BOOT_DEVICE:=spim-nand
108 BUILD_SUBTARGET:=filogic
109 PLAT:=mt7981
110 DDR_TYPE:=ddr4
111 endef
112
113 define Trusted-Firmware-A/mt7981-nor-ddr3
114 NAME:=MediaTek MT7981 (SPI-NOR, DDR3)
115 BOOT_DEVICE:=nor
116 BUILD_SUBTARGET:=filogic
117 PLAT:=mt7981
118 DDR_TYPE:=ddr3
119 endef
120
121 define Trusted-Firmware-A/mt7981-emmc-ddr3
122 NAME:=MediaTek MT7981 (eMMC, DDR3)
123 BOOT_DEVICE:=emmc
124 BUILD_SUBTARGET:=filogic
125 PLAT:=mt7981
126 DDR_TYPE:=ddr3
127 endef
128
129 define Trusted-Firmware-A/mt7981-sdmmc-ddr3
130 NAME:=MediaTek MT7981 (SD card, DDR3)
131 BOOT_DEVICE:=sdmmc
132 BUILD_SUBTARGET:=filogic
133 PLAT:=mt7981
134 DDR_TYPE:=ddr3
135 endef
136
137 define Trusted-Firmware-A/mt7981-snand-ddr3
138 NAME:=MediaTek MT7981 (SPI-NAND via SNFI, DDR3)
139 BOOT_DEVICE:=snand
140 BUILD_SUBTARGET:=filogic
141 PLAT:=mt7981
142 DDR_TYPE:=ddr3
143 endef
144
145 define Trusted-Firmware-A/mt7981-spim-nand-ddr3
146 NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR3)
147 BOOT_DEVICE:=spim-nand
148 BUILD_SUBTARGET:=filogic
149 PLAT:=mt7981
150 DDR_TYPE:=ddr3
151 endef
152
153 define Trusted-Firmware-A/mt7986-nor-ddr4
154 NAME:=MediaTek MT7986 (SPI-NOR, DDR4)
155 BOOT_DEVICE:=nor
156 BUILD_SUBTARGET:=filogic
157 PLAT:=mt7986
158 DDR_TYPE:=ddr4
159 endef
160
161 define Trusted-Firmware-A/mt7986-emmc-ddr4
162 NAME:=MediaTek MT7986 (eMMC, DDR4)
163 BOOT_DEVICE:=emmc
164 BUILD_SUBTARGET:=filogic
165 PLAT:=mt7986
166 DDR_TYPE:=ddr4
167 endef
168
169 define Trusted-Firmware-A/mt7986-sdmmc-ddr4
170 NAME:=MediaTek MT7986 (SD card, DDR4)
171 BOOT_DEVICE:=sdmmc
172 BUILD_SUBTARGET:=filogic
173 PLAT:=mt7986
174 DDR_TYPE:=ddr4
175 endef
176
177 define Trusted-Firmware-A/mt7986-snand-ddr4
178 NAME:=MediaTek MT7986 (SPI-NAND via SNFI, DDR4)
179 BOOT_DEVICE:=snand
180 BUILD_SUBTARGET:=filogic
181 PLAT:=mt7986
182 DDR_TYPE:=ddr4
183 endef
184
185 define Trusted-Firmware-A/mt7986-spim-nand-ddr4
186 NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR4)
187 BOOT_DEVICE:=spim-nand
188 BUILD_SUBTARGET:=filogic
189 PLAT:=mt7986
190 DDR_TYPE:=ddr4
191 NAND_TYPE:=spim:2k+64
192 endef
193
194 define Trusted-Firmware-A/mt7986-nor-ddr3
195 NAME:=MediaTek MT7986 (SPI-NOR, DDR3)
196 BOOT_DEVICE:=nor
197 BUILD_SUBTARGET:=filogic
198 PLAT:=mt7986
199 DDR_TYPE:=ddr3
200 endef
201
202 define Trusted-Firmware-A/mt7986-emmc-ddr3
203 NAME:=MediaTek MT7986 (eMMC, DDR3)
204 BOOT_DEVICE:=emmc
205 BUILD_SUBTARGET:=filogic
206 PLAT:=mt7986
207 DDR_TYPE:=ddr3
208 endef
209
210 define Trusted-Firmware-A/mt7986-sdmmc-ddr3
211 NAME:=MediaTek MT7986 (SD card, DDR3)
212 BOOT_DEVICE:=sdmmc
213 BUILD_SUBTARGET:=filogic
214 PLAT:=mt7986
215 DDR_TYPE:=ddr3
216 endef
217
218 define Trusted-Firmware-A/mt7986-snand-ddr3
219 NAME:=MediaTek MT7986 (SPI-NAND via SNFI, DDR3)
220 BOOT_DEVICE:=snand
221 BUILD_SUBTARGET:=filogic
222 PLAT:=mt7986
223 DDR_TYPE:=ddr3
224 endef
225
226 define Trusted-Firmware-A/mt7986-spim-nand-ddr3
227 NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR3)
228 BOOT_DEVICE:=spim-nand
229 BUILD_SUBTARGET:=filogic
230 PLAT:=mt7986
231 DDR_TYPE:=ddr3
232 endef
233
234 define Trusted-Firmware-A/mt7988-nor-ddr3
235 NAME:=MediaTek MT7988 (SPI-NOR, DDR3)
236 BOOT_DEVICE:=nor
237 BUILD_SUBTARGET:=filogic
238 PLAT:=mt7988
239 DDR_TYPE:=ddr3
240 endef
241
242 define Trusted-Firmware-A/mt7988-emmc-ddr3
243 NAME:=MediaTek MT7988 (eMMC, DDR3)
244 BOOT_DEVICE:=emmc
245 BUILD_SUBTARGET:=filogic
246 PLAT:=mt7988
247 DDR_TYPE:=ddr3
248 endef
249
250 define Trusted-Firmware-A/mt7988-sdmmc-ddr3
251 NAME:=MediaTek MT7988 (SD card, DDR3)
252 BOOT_DEVICE:=sdmmc
253 BUILD_SUBTARGET:=filogic
254 PLAT:=mt7988
255 DDR_TYPE:=ddr3
256 endef
257
258 define Trusted-Firmware-A/mt7988-snand-ddr3
259 NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR3)
260 BOOT_DEVICE:=snand
261 BUILD_SUBTARGET:=filogic
262 PLAT:=mt7988
263 DDR_TYPE:=ddr3
264 endef
265
266 define Trusted-Firmware-A/mt7988-spim-nand-ddr3
267 NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR3)
268 BOOT_DEVICE:=spim-nand
269 BUILD_SUBTARGET:=filogic
270 PLAT:=mt7988
271 DDR_TYPE:=ddr3
272 endef
273
274 define Trusted-Firmware-A/mt7988-nor-ddr4
275 NAME:=MediaTek MT7988 (SPI-NOR, DDR4)
276 BOOT_DEVICE:=nor
277 BUILD_SUBTARGET:=filogic
278 PLAT:=mt7988
279 DDR_TYPE:=ddr4
280 endef
281
282 define Trusted-Firmware-A/mt7988-emmc-ddr4
283 NAME:=MediaTek MT7988 (eMMC, DDR4)
284 BOOT_DEVICE:=emmc
285 BUILD_SUBTARGET:=filogic
286 PLAT:=mt7988
287 DDR_TYPE:=ddr4
288 endef
289
290 define Trusted-Firmware-A/mt7988-sdmmc-ddr4
291 NAME:=MediaTek MT7988 (SD card, DDR4)
292 BOOT_DEVICE:=sdmmc
293 BUILD_SUBTARGET:=filogic
294 PLAT:=mt7988
295 DDR_TYPE:=ddr4
296 endef
297
298 define Trusted-Firmware-A/mt7988-snand-ddr4
299 NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR4)
300 BOOT_DEVICE:=snand
301 BUILD_SUBTARGET:=filogic
302 PLAT:=mt7988
303 DDR_TYPE:=ddr4
304 endef
305
306 define Trusted-Firmware-A/mt7988-spim-nand-ddr4
307 NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR4)
308 BOOT_DEVICE:=spim-nand
309 BUILD_SUBTARGET:=filogic
310 PLAT:=mt7988
311 DDR_TYPE:=ddr4
312 endef
313
314 define Trusted-Firmware-A/mt7988-nor-comb
315 NAME:=MediaTek MT7988 (SPI-NOR)
316 BOOT_DEVICE:=nor
317 BUILD_SUBTARGET:=filogic
318 PLAT:=mt7988
319 DRAM_USE_COMB:=1
320 endef
321
322 define Trusted-Firmware-A/mt7988-emmc-comb
323 NAME:=MediaTek MT7988 (eMMC)
324 BOOT_DEVICE:=emmc
325 BUILD_SUBTARGET:=filogic
326 PLAT:=mt7988
327 DRAM_USE_COMB:=1
328 endef
329
330 define Trusted-Firmware-A/mt7988-sdmmc-comb
331 NAME:=MediaTek MT7988 (SD card)
332 BOOT_DEVICE:=sdmmc
333 BUILD_SUBTARGET:=filogic
334 PLAT:=mt7988
335 DRAM_USE_COMB:=1
336 endef
337
338 define Trusted-Firmware-A/mt7988-snand-comb
339 NAME:=MediaTek MT7988 (SPI-NAND via SNFI)
340 BOOT_DEVICE:=snand
341 BUILD_SUBTARGET:=filogic
342 PLAT:=mt7988
343 DRAM_USE_COMB:=1
344 endef
345
346 define Trusted-Firmware-A/mt7988-spim-nand-comb
347 NAME:=MediaTek MT7988 (SPI-NAND via SPIM)
348 BOOT_DEVICE:=spim-nand
349 BUILD_SUBTARGET:=filogic
350 PLAT:=mt7988
351 DRAM_USE_COMB:=1
352 endef
353
354 TFA_TARGETS:= \
355 mt7622-nor-1ddr \
356 mt7622-nor-2ddr \
357 mt7622-snand-1ddr \
358 mt7622-snand-2ddr \
359 mt7622-emmc-1ddr \
360 mt7622-emmc-2ddr \
361 mt7622-sdmmc-1ddr \
362 mt7622-sdmmc-2ddr \
363 mt7981-emmc-ddr3 \
364 mt7981-nor-ddr3 \
365 mt7981-sdmmc-ddr3 \
366 mt7981-snand-ddr3 \
367 mt7981-spim-nand-ddr3 \
368 mt7981-emmc-ddr4 \
369 mt7981-spim-nand-ddr4 \
370 mt7986-emmc-ddr3 \
371 mt7986-nor-ddr3 \
372 mt7986-sdmmc-ddr3 \
373 mt7986-snand-ddr3 \
374 mt7986-spim-nand-ddr3 \
375 mt7986-emmc-ddr4 \
376 mt7986-nor-ddr4 \
377 mt7986-sdmmc-ddr4 \
378 mt7986-snand-ddr4 \
379 mt7986-spim-nand-ddr4 \
380 mt7988-emmc-ddr3 \
381 mt7988-nor-ddr3 \
382 mt7988-sdmmc-ddr3 \
383 mt7988-snand-ddr3 \
384 mt7988-spim-nand-ddr3 \
385 mt7988-emmc-ddr4 \
386 mt7988-nor-ddr4 \
387 mt7988-sdmmc-ddr4 \
388 mt7988-snand-ddr4 \
389 mt7988-spim-nand-ddr4 \
390 mt7988-emmc-comb \
391 mt7988-nor-comb \
392 mt7988-sdmmc-comb \
393 mt7988-snand-comb \
394 mt7988-spim-nand-comb
395
396 TFA_MAKE_FLAGS += \
397 BOOT_DEVICE=$(BOOT_DEVICE) \
398 USE_MKIMAGE=1 MKIMAGE=$(STAGING_DIR_HOST)/bin/mkimage \
399 $(if $(findstring ddr4,$(DDR_TYPE)),DRAM_USE_DDR4=1) \
400 $(if $(BOARD_QFN),BOARD_QFN=1,BOARD_BGA=1) \
401 $(if $(NAND_TYPE),NAND_TYPE=$(NAND_TYPE)) \
402 HAVE_DRAM_OBJ_FILE=yes \
403 $(if $(DDR3_FLYBY),DDR3_FLYBY=1) \
404 $(if $(DRAM_USE_COMB),DRAM_USE_COMB=1) \
405 all
406
407 define Package/trusted-firmware-a/install
408 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
409 $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl2.img
410 $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl31.bin
411 endef
412
413 $(eval $(call BuildPackage/Trusted-Firmware-A))