treewide: package: update missed hashes after switch to ZSTD
[openwrt/staging/stintel.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:=22579fae08de942e0d5a420cfaa0b1d310dc9431e85b7e28a3c3ef08331a199d
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 HIDDEN:=y
30 BOOT_DEVICE:=
31 DDR3_FLYBY:=
32 DDR_TYPE:=
33 NAND_TYPE:=
34 BOARD_QFN:=
35 DRAM_USE_COMB:=
36 USE_UBI:=
37 endef
38
39 define Trusted-Firmware-A/mt7622-nor-1ddr
40 NAME:=MediaTek MT7622 (SPI-NOR, 1x DDR3)
41 BUILD_SUBTARGET:=mt7622
42 PLAT:=mt7622
43 BOOT_DEVICE:=nor
44 endef
45
46 define Trusted-Firmware-A/mt7622-nor-2ddr
47 NAME:=MediaTek MT7622 (SPI-NOR, 2x DDR3)
48 BUILD_SUBTARGET:=mt7622
49 PLAT:=mt7622
50 BOOT_DEVICE:=nor
51 DDR3_FLYBY:=1
52 endef
53
54 define Trusted-Firmware-A/mt7622-snand-1ddr
55 NAME:=MediaTek MT7622 (SPI-NAND, 1x DDR3)
56 BUILD_SUBTARGET:=mt7622
57 PLAT:=mt7622
58 BOOT_DEVICE:=snand
59 endef
60
61 define Trusted-Firmware-A/mt7622-snand-ubi-1ddr
62 NAME:=MediaTek MT7622 (SPI-NAND using UBI, 1x DDR3)
63 BUILD_SUBTARGET:=mt7622
64 PLAT:=mt7622
65 BOOT_DEVICE:=snand
66 USE_UBI:=1
67 endef
68
69 define Trusted-Firmware-A/mt7622-snand-2ddr
70 NAME:=MediaTek MT7622 (SPI-NAND, 2x DDR3)
71 BUILD_SUBTARGET:=mt7622
72 PLAT:=mt7622
73 BOOT_DEVICE:=snand
74 DDR3_FLYBY:=1
75 endef
76
77 define Trusted-Firmware-A/mt7622-snand-ubi-2ddr
78 NAME:=MediaTek MT7622 (SPI-NAND using UBI, 2x DDR3)
79 BUILD_SUBTARGET:=mt7622
80 PLAT:=mt7622
81 BOOT_DEVICE:=snand
82 DDR3_FLYBY:=1
83 USE_UBI:=1
84 endef
85
86 define Trusted-Firmware-A/mt7622-emmc-1ddr
87 NAME:=MediaTek MT7622 (eMMC, 1x DDR3)
88 BUILD_SUBTARGET:=mt7622
89 PLAT:=mt7622
90 BOOT_DEVICE:=emmc
91 endef
92
93 define Trusted-Firmware-A/mt7622-emmc-2ddr
94 NAME:=MediaTek MT7622 (eMMC, 2x DDR3)
95 BUILD_SUBTARGET:=mt7622
96 PLAT:=mt7622
97 BOOT_DEVICE:=emmc
98 DDR3_FLYBY:=1
99 endef
100
101 define Trusted-Firmware-A/mt7622-sdmmc-1ddr
102 NAME:=MediaTek MT7622 (SD card, 1x DDR3)
103 BUILD_SUBTARGET:=mt7622
104 PLAT:=mt7622
105 BOOT_DEVICE:=sdmmc
106 endef
107
108 define Trusted-Firmware-A/mt7622-sdmmc-2ddr
109 NAME:=MediaTek MT7622 (SD card, 2x DDR3)
110 BUILD_SUBTARGET:=mt7622
111 PLAT:=mt7622
112 BOOT_DEVICE:=sdmmc
113 DDR3_FLYBY:=1
114 endef
115
116 define Trusted-Firmware-A/mt7981-emmc-ddr4
117 NAME:=MediaTek MT7981 (eMMC, DDR4)
118 BOOT_DEVICE:=emmc
119 BUILD_SUBTARGET:=filogic
120 PLAT:=mt7981
121 DDR_TYPE:=ddr4
122 endef
123
124 define Trusted-Firmware-A/mt7981-spim-nand-ddr4
125 NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR4)
126 BOOT_DEVICE:=spim-nand
127 BUILD_SUBTARGET:=filogic
128 PLAT:=mt7981
129 DDR_TYPE:=ddr4
130 endef
131
132 define Trusted-Firmware-A/mt7981-nor-ddr3
133 NAME:=MediaTek MT7981 (SPI-NOR, DDR3)
134 BOOT_DEVICE:=nor
135 BUILD_SUBTARGET:=filogic
136 PLAT:=mt7981
137 DDR_TYPE:=ddr3
138 endef
139
140 define Trusted-Firmware-A/mt7981-emmc-ddr3
141 NAME:=MediaTek MT7981 (eMMC, DDR3)
142 BOOT_DEVICE:=emmc
143 BUILD_SUBTARGET:=filogic
144 PLAT:=mt7981
145 DDR_TYPE:=ddr3
146 endef
147
148 define Trusted-Firmware-A/mt7981-sdmmc-ddr3
149 NAME:=MediaTek MT7981 (SD card, DDR3)
150 BOOT_DEVICE:=sdmmc
151 BUILD_SUBTARGET:=filogic
152 PLAT:=mt7981
153 DDR_TYPE:=ddr3
154 endef
155
156 define Trusted-Firmware-A/mt7981-snand-ddr3
157 NAME:=MediaTek MT7981 (SPI-NAND via SNFI, DDR3)
158 BOOT_DEVICE:=snand
159 BUILD_SUBTARGET:=filogic
160 PLAT:=mt7981
161 DDR_TYPE:=ddr3
162 endef
163
164 define Trusted-Firmware-A/mt7981-spim-nand-ddr3
165 NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR3)
166 BOOT_DEVICE:=spim-nand
167 BUILD_SUBTARGET:=filogic
168 PLAT:=mt7981
169 DDR_TYPE:=ddr3
170 endef
171
172 define Trusted-Firmware-A/mt7986-nor-ddr4
173 NAME:=MediaTek MT7986 (SPI-NOR, DDR4)
174 BOOT_DEVICE:=nor
175 BUILD_SUBTARGET:=filogic
176 PLAT:=mt7986
177 DDR_TYPE:=ddr4
178 endef
179
180 define Trusted-Firmware-A/mt7986-emmc-ddr4
181 NAME:=MediaTek MT7986 (eMMC, DDR4)
182 BOOT_DEVICE:=emmc
183 BUILD_SUBTARGET:=filogic
184 PLAT:=mt7986
185 DDR_TYPE:=ddr4
186 endef
187
188 define Trusted-Firmware-A/mt7986-sdmmc-ddr4
189 NAME:=MediaTek MT7986 (SD card, DDR4)
190 BOOT_DEVICE:=sdmmc
191 BUILD_SUBTARGET:=filogic
192 PLAT:=mt7986
193 DDR_TYPE:=ddr4
194 endef
195
196 define Trusted-Firmware-A/mt7986-snand-ddr4
197 NAME:=MediaTek MT7986 (SPI-NAND via SNFI, DDR4)
198 BOOT_DEVICE:=snand
199 BUILD_SUBTARGET:=filogic
200 PLAT:=mt7986
201 DDR_TYPE:=ddr4
202 endef
203
204 define Trusted-Firmware-A/mt7986-spim-nand-ddr4
205 NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR4)
206 BOOT_DEVICE:=spim-nand
207 BUILD_SUBTARGET:=filogic
208 PLAT:=mt7986
209 DDR_TYPE:=ddr4
210 NAND_TYPE:=spim:2k+64
211 endef
212
213 define Trusted-Firmware-A/mt7986-spim-nand-ubi-ddr4
214 NAME:=MediaTek MT7986 (SPI-NAND via SPIM using UBI, DDR4)
215 BOOT_DEVICE:=spim-nand
216 BUILD_SUBTARGET:=filogic
217 PLAT:=mt7986
218 DDR_TYPE:=ddr4
219 NAND_TYPE:=spim:2k+64
220 USE_UBI:=1
221 endef
222
223 define Trusted-Firmware-A/mt7986-spim-nand-4k-ddr4
224 NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR4)
225 BOOT_DEVICE:=spim-nand
226 BUILD_SUBTARGET:=filogic
227 PLAT:=mt7986
228 DDR_TYPE:=ddr4
229 NAND_TYPE:=spim:4k+256
230 endef
231
232 define Trusted-Firmware-A/mt7986-nor-ddr3
233 NAME:=MediaTek MT7986 (SPI-NOR, DDR3)
234 BOOT_DEVICE:=nor
235 BUILD_SUBTARGET:=filogic
236 PLAT:=mt7986
237 DDR_TYPE:=ddr3
238 endef
239
240 define Trusted-Firmware-A/mt7986-emmc-ddr3
241 NAME:=MediaTek MT7986 (eMMC, DDR3)
242 BOOT_DEVICE:=emmc
243 BUILD_SUBTARGET:=filogic
244 PLAT:=mt7986
245 DDR_TYPE:=ddr3
246 endef
247
248 define Trusted-Firmware-A/mt7986-sdmmc-ddr3
249 NAME:=MediaTek MT7986 (SD card, DDR3)
250 BOOT_DEVICE:=sdmmc
251 BUILD_SUBTARGET:=filogic
252 PLAT:=mt7986
253 DDR_TYPE:=ddr3
254 endef
255
256 define Trusted-Firmware-A/mt7986-snand-ddr3
257 NAME:=MediaTek MT7986 (SPI-NAND via SNFI, DDR3)
258 BOOT_DEVICE:=snand
259 BUILD_SUBTARGET:=filogic
260 PLAT:=mt7986
261 DDR_TYPE:=ddr3
262 endef
263
264 define Trusted-Firmware-A/mt7986-spim-nand-ddr3
265 NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR3)
266 BOOT_DEVICE:=spim-nand
267 BUILD_SUBTARGET:=filogic
268 PLAT:=mt7986
269 DDR_TYPE:=ddr3
270 endef
271
272 define Trusted-Firmware-A/mt7988-nor-ddr3
273 NAME:=MediaTek MT7988 (SPI-NOR, DDR3)
274 BOOT_DEVICE:=nor
275 BUILD_SUBTARGET:=filogic
276 PLAT:=mt7988
277 DDR_TYPE:=ddr3
278 endef
279
280 define Trusted-Firmware-A/mt7988-emmc-ddr3
281 NAME:=MediaTek MT7988 (eMMC, DDR3)
282 BOOT_DEVICE:=emmc
283 BUILD_SUBTARGET:=filogic
284 PLAT:=mt7988
285 DDR_TYPE:=ddr3
286 endef
287
288 define Trusted-Firmware-A/mt7988-sdmmc-ddr3
289 NAME:=MediaTek MT7988 (SD card, DDR3)
290 BOOT_DEVICE:=sdmmc
291 BUILD_SUBTARGET:=filogic
292 PLAT:=mt7988
293 DDR_TYPE:=ddr3
294 endef
295
296 define Trusted-Firmware-A/mt7988-snand-ddr3
297 NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR3)
298 BOOT_DEVICE:=snand
299 BUILD_SUBTARGET:=filogic
300 PLAT:=mt7988
301 DDR_TYPE:=ddr3
302 endef
303
304 define Trusted-Firmware-A/mt7988-spim-nand-ddr3
305 NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR3)
306 BOOT_DEVICE:=spim-nand
307 BUILD_SUBTARGET:=filogic
308 PLAT:=mt7988
309 DDR_TYPE:=ddr3
310 endef
311
312 define Trusted-Firmware-A/mt7988-nor-ddr4
313 NAME:=MediaTek MT7988 (SPI-NOR, DDR4)
314 BOOT_DEVICE:=nor
315 BUILD_SUBTARGET:=filogic
316 PLAT:=mt7988
317 DDR_TYPE:=ddr4
318 endef
319
320 define Trusted-Firmware-A/mt7988-emmc-ddr4
321 NAME:=MediaTek MT7988 (eMMC, DDR4)
322 BOOT_DEVICE:=emmc
323 BUILD_SUBTARGET:=filogic
324 PLAT:=mt7988
325 DDR_TYPE:=ddr4
326 endef
327
328 define Trusted-Firmware-A/mt7988-sdmmc-ddr4
329 NAME:=MediaTek MT7988 (SD card, DDR4)
330 BOOT_DEVICE:=sdmmc
331 BUILD_SUBTARGET:=filogic
332 PLAT:=mt7988
333 DDR_TYPE:=ddr4
334 endef
335
336 define Trusted-Firmware-A/mt7988-snand-ddr4
337 NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR4)
338 BOOT_DEVICE:=snand
339 BUILD_SUBTARGET:=filogic
340 PLAT:=mt7988
341 DDR_TYPE:=ddr4
342 endef
343
344 define Trusted-Firmware-A/mt7988-spim-nand-ddr4
345 NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR4)
346 BOOT_DEVICE:=spim-nand
347 BUILD_SUBTARGET:=filogic
348 PLAT:=mt7988
349 DDR_TYPE:=ddr4
350 endef
351
352 define Trusted-Firmware-A/mt7988-nor-comb
353 NAME:=MediaTek MT7988 (SPI-NOR)
354 BOOT_DEVICE:=nor
355 BUILD_SUBTARGET:=filogic
356 PLAT:=mt7988
357 DRAM_USE_COMB:=1
358 endef
359
360 define Trusted-Firmware-A/mt7988-emmc-comb
361 NAME:=MediaTek MT7988 (eMMC)
362 BOOT_DEVICE:=emmc
363 BUILD_SUBTARGET:=filogic
364 PLAT:=mt7988
365 DRAM_USE_COMB:=1
366 endef
367
368 define Trusted-Firmware-A/mt7988-sdmmc-comb
369 NAME:=MediaTek MT7988 (SD card)
370 BOOT_DEVICE:=sdmmc
371 BUILD_SUBTARGET:=filogic
372 PLAT:=mt7988
373 DRAM_USE_COMB:=1
374 endef
375
376 define Trusted-Firmware-A/mt7988-snand-comb
377 NAME:=MediaTek MT7988 (SPI-NAND via SNFI)
378 BOOT_DEVICE:=snand
379 BUILD_SUBTARGET:=filogic
380 PLAT:=mt7988
381 DRAM_USE_COMB:=1
382 endef
383
384 define Trusted-Firmware-A/mt7988-snand-ubi-comb
385 NAME:=MediaTek MT7988 (SPI-NAND via SNFI, UBI)
386 BOOT_DEVICE:=snand
387 BUILD_SUBTARGET:=filogic
388 PLAT:=mt7988
389 DRAM_USE_COMB:=1
390 USE_UBI:=1
391 endef
392
393 define Trusted-Firmware-A/mt7988-spim-nand-comb
394 NAME:=MediaTek MT7988 (SPI-NAND via SPIM)
395 BOOT_DEVICE:=spim-nand
396 BUILD_SUBTARGET:=filogic
397 PLAT:=mt7988
398 DRAM_USE_COMB:=1
399 endef
400
401 define Trusted-Firmware-A/mt7988-spim-nand-ubi-comb
402 NAME:=MediaTek MT7988 (SPI-NAND via SPIM, UBI)
403 BOOT_DEVICE:=spim-nand
404 BUILD_SUBTARGET:=filogic
405 PLAT:=mt7988
406 DRAM_USE_COMB:=1
407 USE_UBI:=1
408 endef
409
410 TFA_TARGETS:= \
411 mt7622-nor-1ddr \
412 mt7622-nor-2ddr \
413 mt7622-snand-1ddr \
414 mt7622-snand-ubi-1ddr \
415 mt7622-snand-2ddr \
416 mt7622-snand-ubi-2ddr \
417 mt7622-emmc-1ddr \
418 mt7622-emmc-2ddr \
419 mt7622-sdmmc-1ddr \
420 mt7622-sdmmc-2ddr \
421 mt7981-emmc-ddr3 \
422 mt7981-nor-ddr3 \
423 mt7981-sdmmc-ddr3 \
424 mt7981-snand-ddr3 \
425 mt7981-spim-nand-ddr3 \
426 mt7981-emmc-ddr4 \
427 mt7981-spim-nand-ddr4 \
428 mt7986-emmc-ddr3 \
429 mt7986-nor-ddr3 \
430 mt7986-sdmmc-ddr3 \
431 mt7986-snand-ddr3 \
432 mt7986-spim-nand-ddr3 \
433 mt7986-emmc-ddr4 \
434 mt7986-nor-ddr4 \
435 mt7986-sdmmc-ddr4 \
436 mt7986-snand-ddr4 \
437 mt7986-spim-nand-ddr4 \
438 mt7986-spim-nand-ubi-ddr4 \
439 mt7986-spim-nand-4k-ddr4 \
440 mt7988-emmc-ddr3 \
441 mt7988-nor-ddr3 \
442 mt7988-sdmmc-ddr3 \
443 mt7988-snand-ddr3 \
444 mt7988-spim-nand-ddr3 \
445 mt7988-emmc-ddr4 \
446 mt7988-nor-ddr4 \
447 mt7988-sdmmc-ddr4 \
448 mt7988-snand-ddr4 \
449 mt7988-spim-nand-ddr4 \
450 mt7988-emmc-comb \
451 mt7988-nor-comb \
452 mt7988-sdmmc-comb \
453 mt7988-snand-comb \
454 mt7988-snand-ubi-comb \
455 mt7988-spim-nand-comb \
456 mt7988-spim-nand-ubi-comb
457
458 TFA_MAKE_FLAGS += \
459 BOOT_DEVICE=$(BOOT_DEVICE) \
460 USE_MKIMAGE=1 MKIMAGE=$(STAGING_DIR_HOST)/bin/mkimage \
461 $(if $(findstring ddr4,$(DDR_TYPE)),DRAM_USE_DDR4=1) \
462 $(if $(BOARD_QFN),BOARD_QFN=1,BOARD_BGA=1) \
463 $(if $(NAND_TYPE),NAND_TYPE=$(NAND_TYPE)) \
464 HAVE_DRAM_OBJ_FILE=yes \
465 $(if $(DDR3_FLYBY),DDR3_FLYBY=1) \
466 $(if $(DRAM_USE_COMB),DRAM_USE_COMB=1) \
467 $(if $(USE_UBI),UBI=1 $(if $(findstring mt7622,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x80000)) \
468 all
469
470 define Package/trusted-firmware-a/install
471 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
472 $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl2.img
473 $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl31.bin
474 endef
475
476 $(eval $(call BuildPackage/Trusted-Firmware-A))