1 include $(TOPDIR
)/rules.mk
2 include $(INCLUDE_DIR
)/kernel.mk
4 PKG_VERSION
:=2023.07.02
5 PKG_HASH
:=6b6a48581c14abb0f95bd87c1af4d740922406d7b801002a9f94727fdde021d5
6 PKG_BUILD_DEPENDS
:=!(TARGET_ramips||TARGET_mediatek_mt7623
):arm-trusted-firmware-tools
/host
8 include $(INCLUDE_DIR
)/u-boot.mk
9 include $(INCLUDE_DIR
)/package.mk
10 include $(INCLUDE_DIR
)/host-build.mk
12 MT7621_LOWLEVEL_PRELOADER_URL
:=https
://raw.githubusercontent.com
/mtk-openwrt
/mt7621-lowlevel-preloader
/a03b07c60bf1ba4add9b671d32caa102fe948180
/
14 define Download
/mt7621-stage-sram
15 FILE
:=mt7621_stage_sram.bin
16 URL
:=$(MT7621_LOWLEVEL_PRELOADER_URL
)
17 HASH
:=1dda68aa089f0ff262e01539b990dea478952e9fb68bcc0a8cd6f76f0135c62e
20 define Download
/mt7621-stage-sram-noprint
21 FILE
:=mt7621_stage_sram_noprint.bin
22 URL
:=$(MT7621_LOWLEVEL_PRELOADER_URL
)
23 HASH
:=8ee419275144fc298e9444d413d98e965a55d283152a74ea6a1f8de79eb516b6
26 ifdef CONFIG_TARGET_ramips_mt7621
28 $(eval
$(call Download
,mt7621-stage-sram
))
30 $(eval
$(call Download
,mt7621-stage-sram-noprint
))
35 BUILD_TARGET
:=mediatek
36 UBOOT_IMAGE
:=u-boot-mtk.bin
40 define U-Boot
/mt7620_rfb
41 NAME
:=MT7620 Reference Board
42 UBOOT_CONFIG
:=mt7620_rfb
43 BUILD_DEVICES
:=ralink_mt7620a-evb
45 BUILD_SUBTARGET
:=mt7620
46 UBOOT_IMAGE
:=u-boot-with-spl.bin
49 define U-Boot
/mt7620_mt7530_rfb
50 NAME
:=MT7620
+MT7530 Reference Board
51 UBOOT_CONFIG
:=mt7620_mt7530_rfb
52 BUILD_DEVICES
:=ralink_mt7620a-mt7530-evb
54 BUILD_SUBTARGET
:=mt7620
55 UBOOT_IMAGE
:=u-boot-with-spl.bin
58 define U-Boot
/mt7621_rfb
59 NAME
:=MT7621 Reference Board
60 UBOOT_CONFIG
:=mt7621_rfb
61 BUILD_DEVICES
:=mediatek_mt7621-eval-board
63 BUILD_SUBTARGET
:=mt7621
64 UBOOT_IMAGE
:=u-boot-mt7621.bin
67 define U-Boot
/mt7621_nand_rfb
68 NAME
:=MT7621 Reference Board
(NAND
)
69 UBOOT_CONFIG
:=mt7621_nand_rfb
70 BUILD_DEVICES
:=mediatek_mt7621-eval-board
72 BUILD_SUBTARGET
:=mt7621
73 UBOOT_IMAGE
:=u-boot-mt7621.bin
76 define U-Boot
/mt7622_rfb1
77 NAME
:=MT7622 Reference Board
1
78 UBOOT_CONFIG
:=mt7622_rfb
79 BUILD_DEVICES
:=mediatek_mt7622-rfb1 mediatek_mt7622-rfb1-ubi
80 BUILD_SUBTARGET
:=mt7622
83 define U-Boot
/mt7622_linksys_e8450
85 UBOOT_CONFIG
:=mt7622_linksys_e8450
86 BUILD_DEVICES
:=linksys_e8450-ubi
87 BUILD_SUBTARGET
:=mt7622
88 UBOOT_IMAGE
:=u-boot.fip
91 DEPENDS
:=+trusted-firmware-a-mt7622-snand-1ddr
94 define U-Boot
/mt7622_bananapi_bpi-r64-emmc
95 NAME
:=BananaPi R64
(eMMC
)
96 UBOOT_CONFIG
:=mt7622_bananapi_bpi-r64-emmc
97 BUILD_DEVICES
:=bananapi_bpi-r64
98 BUILD_SUBTARGET
:=mt7622
99 UBOOT_IMAGE
:=u-boot.fip
102 DEPENDS
:=+trusted-firmware-a-mt7622-emmc-2ddr
105 define U-Boot
/mt7622_bananapi_bpi-r64-sdmmc
106 NAME
:=BananaPi R64
(SDMMC
)
107 UBOOT_CONFIG
:=mt7622_bananapi_bpi-r64-sdmmc
108 BUILD_DEVICES
:=bananapi_bpi-r64
109 BUILD_SUBTARGET
:=mt7622
110 UBOOT_IMAGE
:=u-boot.fip
113 DEPENDS
:=+trusted-firmware-a-mt7622-sdmmc-2ddr
116 define U-Boot
/mt7622_bananapi_bpi-r64-snand
117 NAME
:=BananaPi R64
(SNAND
)
118 UBOOT_CONFIG
:=mt7622_bananapi_bpi-r64-snand
119 BUILD_DEVICES
:=bananapi_bpi-r64
120 BUILD_SUBTARGET
:=mt7622
121 UBOOT_IMAGE
:=u-boot.fip
124 DEPENDS
:=+trusted-firmware-a-mt7622-snand-2ddr
127 define U-Boot
/mt7622_ubnt_unifi-6-lr-v1
128 NAME
:=Ubiquiti UniFi
6 LR
129 UBOOT_CONFIG
:=mt7622_ubnt_unifi-6-lr-v1
130 BUILD_DEVICES
:=ubnt_unifi-6-lr-v1-ubootmod
131 BUILD_SUBTARGET
:=mt7622
132 UBOOT_IMAGE
:=u-boot.fip
135 DEPENDS
:=+trusted-firmware-a-mt7622-nor-2ddr
139 define U-Boot
/mt7622_ubnt_unifi-6-lr-v2
140 NAME
:=Ubiquiti UniFi
6 LR v2
141 UBOOT_CONFIG
:=mt7622_ubnt_unifi-6-lr-v2
142 BUILD_DEVICES
:=ubnt_unifi-6-lr-v2-ubootmod
143 BUILD_SUBTARGET
:=mt7622
144 UBOOT_IMAGE
:=u-boot.fip
147 DEPENDS
:=+trusted-firmware-a-mt7622-nor-2ddr
151 define U-Boot
/mt7622_ubnt_unifi-6-lr-v3
152 NAME
:=Ubiquiti UniFi
6 LR v3
153 UBOOT_CONFIG
:=mt7622_ubnt_unifi-6-lr-v3
154 BUILD_DEVICES
:=ubnt_unifi-6-lr-v3-ubootmod
155 BUILD_SUBTARGET
:=mt7622
156 UBOOT_IMAGE
:=u-boot.fip
159 DEPENDS
:=+trusted-firmware-a-mt7622-nor-2ddr
163 define U-Boot
/mt7623a_unielec_u7623
164 NAME
:=UniElec U7623
(mt7623
)
165 BUILD_DEVICES
:=unielec_u7623-02
166 BUILD_SUBTARGET
:=mt7623
167 UBOOT_CONFIG
:=mt7623a_unielec_u7623_02
170 define U-Boot
/mt7623n_bpir2
171 NAME
:=Banana Pi R2
(mt7623
)
172 BUILD_DEVICES
:=bananapi_bpi-r2
173 BUILD_SUBTARGET
:=mt7623
174 UBOOT_IMAGE
:=u-boot.bin
175 UBOOT_CONFIG
:=mt7623n_bpir2
178 define U-Boot
/mt7628_rfb
179 NAME
:=MT7628 Reference Board
180 BUILD_DEVICES
:=mediatek_mt7628an-eval-board
182 BUILD_SUBTARGET
:=mt76x8
183 UBOOT_CONFIG
:=mt7628_rfb
184 UBOOT_IMAGE
:=u-boot-with-spl.bin
187 define U-Boot
/ravpower_rp-wd009
188 NAME
:=RAVPower RP-WD009
190 BUILD_DEVICES
:=ravpower_rp-wd009
191 BUILD_SUBTARGET
:=mt76x8
192 UBOOT_CONFIG
:=ravpower-rp-wd009-ram
193 UBOOT_IMAGE
:=u-boot.bin
196 define U-Boot
/mt7629_rfb
197 NAME
:=MT7629 Reference Board
198 BUILD_SUBTARGET
:=mt7629
199 BUILD_DEVICES
:=mediatek_mt7629-rfb
200 UBOOT_CONFIG
:=mt7629_rfb
203 define U-Boot
/mt7981_h3c_magic-nx30-pro
204 NAME
:=H3C Magic NX30 Pro
205 BUILD_SUBTARGET
:=filogic
206 BUILD_DEVICES
:=h3c_magic-nx30-pro
207 UBOOT_CONFIG
:=mt7981_h3c_magic-nx30-pro
208 UBOOT_IMAGE
:=u-boot.fip
209 BL2_BOOTDEV
:=spim-nand
212 DEPENDS
:=+trusted-firmware-a-mt7981-spim-nand-ddr3
215 define U-Boot
/mt7981_rfb-spim-nand
216 NAME
:=MT7981 Reference Board
217 BUILD_SUBTARGET
:=filogic
218 BUILD_DEVICES
:=mediatek_mt7981-rfb
219 UBOOT_CONFIG
:=mt7981_rfb
220 UBOOT_IMAGE
:=u-boot.fip
221 BL2_BOOTDEV
:=spim-nand
224 DEPENDS
:=+trusted-firmware-a-mt7981-spim-nand-ddr3
227 define U-Boot
/mt7981_rfb-emmc
228 NAME
:=MT7981 Reference Board
229 BUILD_SUBTARGET
:=filogic
230 BUILD_DEVICES
:=mediatek_mt7981-rfb
231 UBOOT_CONFIG
:=mt7981_emmc_rfb
232 UBOOT_IMAGE
:=u-boot.fip
236 DEPENDS
:=+trusted-firmware-a-mt7981-emmc-ddr3
239 define U-Boot
/mt7981_rfb-nor
240 NAME
:=MT7981 Reference Board
241 BUILD_SUBTARGET
:=filogic
242 BUILD_DEVICES
:=mediatek_mt7981-rfb
243 UBOOT_CONFIG
:=mt7981_nor_rfb
244 UBOOT_IMAGE
:=u-boot.fip
245 BL2_BOOTDEV
:=spim-nand
248 DEPENDS
:=+trusted-firmware-a-mt7981-nor-ddr3
251 define U-Boot
/mt7981_rfb-sd
252 NAME
:=MT7981 Reference Board
253 BUILD_SUBTARGET
:=filogic
254 BUILD_DEVICES
:=mediatek_mt7981-rfb
255 UBOOT_CONFIG
:=mt7981_sd_rfb
256 UBOOT_IMAGE
:=u-boot.fip
260 DEPENDS
:=+trusted-firmware-a-mt7981-sdmmc-ddr3
263 define U-Boot
/mt7981_rfb-snfi
264 NAME
:=MT7981 Reference Board
265 BUILD_SUBTARGET
:=filogic
266 BUILD_DEVICES
:=mediatek_mt7981-rfb
267 UBOOT_CONFIG
:=mt7981_snfi_nand_rfb
268 UBOOT_IMAGE
:=u-boot.fip
272 DEPENDS
:=+trusted-firmware-a-mt7981-snand-ddr3
275 define U-Boot
/mt7981_qihoo_360t7
277 BUILD_SUBTARGET
:=filogic
278 BUILD_DEVICES
:=qihoo_360t7
279 UBOOT_CONFIG
:=mt7981_qihoo-360t7
280 UBOOT_IMAGE
:=u-boot.fip
281 BL2_BOOTDEV
:=spim-nand
284 DEPENDS
:=+trusted-firmware-a-mt7981-spim-nand-ddr3
287 define U-Boot
/mt7981_xiaomi_mi-router-wr30u
288 NAME
:=Xiaomi Router WR30U
289 BUILD_SUBTARGET
:=filogic
290 BUILD_DEVICES
:=xiaomi_mi-router-wr30u-ubootmod
291 UBOOT_CONFIG
:=mt7981_xiaomi_mi-router-wr30u
292 UBOOT_IMAGE
:=u-boot.fip
293 BL2_BOOTDEV
:=spim-nand
296 DEPENDS
:=+trusted-firmware-a-mt7981-spim-nand-ddr3
299 define U-Boot
/mt7986_rfb
300 NAME
:=MT7986 Reference Board
301 BUILD_SUBTARGET
:=filogic
302 BUILD_DEVICES
:=mediatek_mt7986-rfb
303 UBOOT_CONFIG
:=mt7986_rfb
304 UBOOT_IMAGE
:=u-boot.fip
308 DEPENDS
:=+trusted-firmware-a-mt7986-sdmmc-ddr4
311 define U-Boot
/mt7986_bananapi_bpi-r3-emmc
312 NAME
:=BananaPi BPi-R3
313 BUILD_SUBTARGET
:=filogic
314 BUILD_DEVICES
:=bananapi_bpi-r3
315 UBOOT_CONFIG
:=mt7986a_bpi-r3-emmc
316 UBOOT_IMAGE
:=u-boot.fip
320 DEPENDS
:=+trusted-firmware-a-mt7986-emmc-ddr4
323 define U-Boot
/mt7986_bananapi_bpi-r3-sdmmc
324 NAME
:=BananaPi BPi-R3
325 BUILD_SUBTARGET
:=filogic
326 BUILD_DEVICES
:=bananapi_bpi-r3
327 UBOOT_CONFIG
:=mt7986a_bpi-r3-sd
328 UBOOT_IMAGE
:=u-boot.fip
332 DEPENDS
:=+trusted-firmware-a-mt7986-sdmmc-ddr4
335 define U-Boot
/mt7986_bananapi_bpi-r3-snand
336 NAME
:=BananaPi BPi-R3
337 BUILD_SUBTARGET
:=filogic
338 BUILD_DEVICES
:=bananapi_bpi-r3
339 UBOOT_CONFIG
:=mt7986a_bpi-r3-snand
340 UBOOT_IMAGE
:=u-boot.fip
341 BL2_BOOTDEV
:=spim-nand
344 DEPENDS
:=+trusted-firmware-a-mt7986-spim-nand-ddr4
347 define U-Boot
/mt7986_bananapi_bpi-r3-nor
348 NAME
:=BananaPi BPi-R3
349 BUILD_SUBTARGET
:=filogic
350 BUILD_DEVICES
:=bananapi_bpi-r3
351 UBOOT_CONFIG
:=mt7986a_bpi-r3-nor
352 UBOOT_IMAGE
:=u-boot.fip
356 DEPENDS
:=+trusted-firmware-a-mt7986-nor-ddr4
360 define U-Boot
/mt7986_glinet_gl-mt6000
361 NAME
:=GL.iNet GL-MT6000
362 BUILD_SUBTARGET
:=filogic
363 BUILD_DEVICES
:=glinet_gl-mt6000
364 UBOOT_CONFIG
:=mt7986a_glinet_gl-mt6000
365 UBOOT_IMAGE
:=u-boot.fip
369 DEPENDS
:=+trusted-firmware-a-mt7986-emmc-ddr4
372 define U-Boot
/mt7986_tplink_tl-xdr4288
373 NAME
:=TP-LINK TL-XDR4288
374 BUILD_SUBTARGET
:=filogic
375 BUILD_DEVICES
:=tplink_tl-xdr4288
376 UBOOT_CONFIG
:=mt7986_tplink_tl-xdr4288
377 UBOOT_IMAGE
:=u-boot.fip
378 BL2_BOOTDEV
:=spim-nand
381 DEPENDS
:=+trusted-firmware-a-mt7986-spim-nand-ddr3
384 define U-Boot
/mt7986_tplink_tl-xdr6086
385 NAME
:=TP-LINK TL-XDR6086
386 BUILD_SUBTARGET
:=filogic
387 BUILD_DEVICES
:=tplink_tl-xdr6086
388 UBOOT_CONFIG
:=mt7986_tplink_tl-xdr6086
389 UBOOT_IMAGE
:=u-boot.fip
390 BL2_BOOTDEV
:=spim-nand
393 DEPENDS
:=+trusted-firmware-a-mt7986-spim-nand-ddr3
396 define U-Boot
/mt7986_tplink_tl-xdr6088
397 NAME
:=TP-LINK TL-XDR6088
398 BUILD_SUBTARGET
:=filogic
399 BUILD_DEVICES
:=tplink_tl-xdr6088
400 UBOOT_CONFIG
:=mt7986_tplink_tl-xdr6088
401 UBOOT_IMAGE
:=u-boot.fip
402 BL2_BOOTDEV
:=spim-nand
405 DEPENDS
:=+trusted-firmware-a-mt7986-spim-nand-ddr3
408 define U-Boot
/mt7986_xiaomi_redmi-router-ax6000
409 NAME
:=Xiaomi Redmi AX6000
410 BUILD_SUBTARGET
:=filogic
411 BUILD_DEVICES
:=xiaomi_redmi-router-ax6000-ubootmod
412 UBOOT_CONFIG
:=mt7986_xiaomi_redmi-ax6000
413 UBOOT_IMAGE
:=u-boot.fip
414 BL2_BOOTDEV
:=spim-nand
417 DEPENDS
:=+trusted-firmware-a-mt7986-spim-nand-ddr4
420 define U-Boot
/mt7988_rfb-spim-nand
421 NAME
:=MT7988 Reference Board
422 BUILD_SUBTARGET
:=filogic
423 BUILD_DEVICES
:=mediatek_mt7988a-rfb
424 UBOOT_CONFIG
:=mt7988_rfb
425 UBOOT_IMAGE
:=u-boot.fip
426 BL2_BOOTDEV
:=spim-nand
429 DEPENDS
:=+trusted-firmware-a-mt7988-spim-nand-comb
432 define U-Boot
/mt7988_rfb-snand
433 NAME
:=MT7988 Reference Board
434 BUILD_SUBTARGET
:=filogic
435 BUILD_DEVICES
:=mediatek_mt7988a-rfb
436 UBOOT_CONFIG
:=mt7988_rfb
437 UBOOT_IMAGE
:=u-boot.fip
441 DEPENDS
:=+trusted-firmware-a-mt7988-snand-comb
444 define U-Boot
/mt7988_rfb-nor
445 NAME
:=MT7988 Reference Board
446 BUILD_SUBTARGET
:=filogic
447 BUILD_DEVICES
:=mediatek_mt7988a-rfb
448 UBOOT_CONFIG
:=mt7988_rfb
449 UBOOT_IMAGE
:=u-boot.fip
453 DEPENDS
:=+trusted-firmware-a-mt7988-nor-comb
457 define U-Boot
/mt7988_rfb-emmc
458 NAME
:=MT7988 Reference Board
459 BUILD_SUBTARGET
:=filogic
460 BUILD_DEVICES
:=mediatek_mt7988a-rfb
461 UBOOT_CONFIG
:=mt7988_rfb
462 UBOOT_IMAGE
:=u-boot.fip
466 DEPENDS
:=+trusted-firmware-a-mt7988-emmc-comb
469 define U-Boot
/mt7988_rfb-sd
470 NAME
:=MT7988 Reference Board
471 BUILD_SUBTARGET
:=filogic
472 BUILD_DEVICES
:=mediatek_mt7988a-rfb
473 UBOOT_CONFIG
:=mt7988_sd_rfb
474 UBOOT_IMAGE
:=u-boot.fip
478 DEPENDS
:=+trusted-firmware-a-mt7988-sdmmc-comb
486 mt7622_bananapi_bpi-r64-emmc \
487 mt7622_bananapi_bpi-r64-sdmmc \
488 mt7622_bananapi_bpi-r64-snand \
489 mt7622_linksys_e8450 \
491 mt7622_ubnt_unifi-6-lr-v1 \
492 mt7622_ubnt_unifi-6-lr-v2 \
493 mt7622_ubnt_unifi-6-lr-v3 \
495 mt7623a_unielec_u7623 \
499 mt7981_h3c_magic-nx30-pro \
500 mt7981_rfb-spim-nand \
506 mt7981_xiaomi_mi-router-wr30u \
507 mt7986_bananapi_bpi-r3-emmc \
508 mt7986_bananapi_bpi-r3-sdmmc \
509 mt7986_bananapi_bpi-r3-snand \
510 mt7986_bananapi_bpi-r3-nor \
511 mt7986_glinet_gl-mt6000 \
512 mt7986_tplink_tl-xdr4288 \
513 mt7986_tplink_tl-xdr6086 \
514 mt7986_tplink_tl-xdr6088 \
515 mt7986_xiaomi_redmi-router-ax6000 \
517 mt7988_rfb-spim-nand \
523 ifdef CONFIG_TARGET_mediatek
524 UBOOT_MAKE_FLAGS
+= $(UBOOT_IMAGE
:.fip
=.bin
)
527 define Build
/fip-image
528 $(if
$(FIP_COMPRESS
),\
529 xz
-f
-e
-k
-9 -C crc32
$(STAGING_DIR_IMAGE
)/$(if
$(BL2_SOC
),$(BL2_SOC
),$(BUILD_SUBTARGET
))-$(BL2_BOOTDEV
)-$(if
$(BL2_DDRTYPE
),$(BL2_DDRTYPE
)-)$(if
$(BL2_DDRBLOB
),$(BL2_DDRBLOB
)ddr-
)bl31.bin
;\
530 xz
-f
-e
-k
-9 -C crc32
$(PKG_BUILD_DIR
)/u-boot.bin \
532 $(STAGING_DIR_HOST
)/bin
/fiptool create \
533 --soc-fw
$(STAGING_DIR_IMAGE
)/$(if
$(BL2_SOC
),$(BL2_SOC
),$(BUILD_SUBTARGET
))-$(BL2_BOOTDEV
)-$(if
$(BL2_DDRTYPE
),$(BL2_DDRTYPE
)-)$(if
$(BL2_DDRBLOB
),$(BL2_DDRBLOB
)ddr-
)bl31.bin
$(if
$(FIP_COMPRESS
),.xz
) \
534 --nt-fw
$(PKG_BUILD_DIR
)/u-boot.bin
$(if
$(FIP_COMPRESS
),.xz
) \
535 $(PKG_BUILD_DIR
)/u-boot.fip
538 ifdef CONFIG_TARGET_ramips_mt7621
540 $(call Build
/Prepare
/Default
)
542 $(CP
) $(DL_DIR
)/mt7621_stage_sram.bin
$(PKG_BUILD_DIR
)/
544 $(CP
) $(DL_DIR
)/mt7621_stage_sram_noprint.bin
$(PKG_BUILD_DIR
)/mt7621_stage_sram.bin
549 define Build
/Configure
550 $(call Build
/Configure
/U-Boot
)
551 sed
-i
's/CONFIG_TOOLS_LIBCRYPTO=y/# CONFIG_TOOLS_LIBCRYPTO is not set/' $(PKG_BUILD_DIR
)/.config
555 $(call Build
/Compile
/U-Boot
)
556 ifeq ($(UBOOT_IMAGE
),u-boot.fip
)
557 $(call Build
/fip-image
)
561 # don't stage files to bindir, let target/linux/mediatek/image/*.mk do that
562 ifdef CONFIG_TARGET_mediatek
563 define Package
/u-boot
/install
567 define Build
/InstallDev
568 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)
569 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/$(UBOOT_IMAGE
) $(STAGING_DIR_IMAGE
)/$(BUILD_VARIANT
)-$(UBOOT_IMAGE
)
572 $(eval
$(call BuildPackage
/U-Boot
))