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