uboot-mediatek: rework support for Bananapi BPi-R64 board
[openwrt/staging/nbd.git] / package / boot / uboot-mediatek / Makefile
1 include $(TOPDIR)/rules.mk
2 include $(INCLUDE_DIR)/kernel.mk
3
4 PKG_VERSION:=2020.10
5 PKG_HASH:=0d481bbdc05c0ee74908ec2f56a6daa53166cc6a78a0e4fac2ac5d025770a622
6 PKG_BUILD_DEPENDS:=arm-trusted-firmware-tools/host
7
8 include $(INCLUDE_DIR)/u-boot.mk
9 include $(INCLUDE_DIR)/package.mk
10 include $(INCLUDE_DIR)/host-build.mk
11
12 define U-Boot/Default
13 BUILD_TARGET:=mediatek
14 UBOOT_IMAGE:=u-boot-mtk.bin
15 DEFAULT:=y
16 endef
17
18 define U-Boot/mt7622_rfb1
19 NAME:=MT7622 Reference Board 1
20 BUILD_SUBTARGET:=mt7622
21 UBOOT_CONFIG:=mt7622_rfb
22 endef
23
24 define U-Boot/mt7622_linksys_e8450
25 NAME:=Linksys E8450
26 BUILD_SUBTARGET:=mt7622
27 UBOOT_CONFIG:=mt7622_linksys_e8450
28 UBOOT_IMAGE:=u-boot.fip
29 BL2_BOOTDEV:=snand
30 BL2_DDRBLOB:=1
31 DEPENDS:=+trusted-firmware-a-mt7622-snand-1ddr
32 endef
33
34 define U-Boot/mt7622_bananapi_bpi-r64-emmc
35 NAME:=BananaPi R64 (eMMC)
36 BUILD_SUBTARGET:=mt7622
37 UBOOT_CONFIG:=mt7622_bananapi_bpi-r64-emmc
38 UBOOT_IMAGE:=u-boot.fip
39 BL2_BOOTDEV:=emmc
40 BL2_DDRBLOB:=2
41 DEPENDS:=+trusted-firmware-a-mt7622-emmc-2ddr
42 endef
43
44 define U-Boot/mt7622_bananapi_bpi-r64-sdmmc
45 NAME:=BananaPi R64 (SDMMC)
46 BUILD_SUBTARGET:=mt7622
47 UBOOT_CONFIG:=mt7622_bananapi_bpi-r64-sdmmc
48 UBOOT_IMAGE:=u-boot.fip
49 BL2_BOOTDEV:=sdmmc
50 BL2_DDRBLOB:=2
51 DEPENDS:=+trusted-firmware-a-mt7622-sdmmc-2ddr
52 endef
53
54 define U-Boot/mt7623a_unielec_u7623
55 NAME:=UniElec U7623 (mt7623)
56 BUILD_SUBTARGET:=mt7623
57 UBOOT_CONFIG:=mt7623a_unielec_u7623_02
58 endef
59
60 define U-Boot/mt7623n_bpir2
61 NAME:=Banana Pi R2 (mt7623)
62 BUILD_SUBTARGET:=mt7623
63 UBOOT_IMAGE:=u-boot.bin
64 UBOOT_CONFIG:=mt7623n_bpir2
65 endef
66
67 define U-Boot/mt7629
68 NAME:=MT7629
69 BUILD_SUBTARGET:=mt7629
70 UBOOT_CONFIG:=mt7629_rfb
71 endef
72
73 UBOOT_TARGETS := \
74 mt7629 \
75 mt7622_bananapi_bpi-r64-emmc \
76 mt7622_bananapi_bpi-r64-sdmmc \
77 mt7622_linksys_e8450 \
78 mt7622_rfb1 \
79 mt7623n_bpir2 \
80 mt7623a_unielec_u7623
81
82 UBOOT_MAKE_FLAGS += $(UBOOT_IMAGE:.fip=.bin)
83
84 Build/Exports:=$(Host/Exports)
85
86 define Build/fip-image
87 $(STAGING_DIR_HOST)/bin/fiptool create \
88 --soc-fw $(STAGING_DIR_IMAGE)/$(BUILD_SUBTARGET)-$(BL2_BOOTDEV)-$(BL2_DDRBLOB)ddr-bl31.bin \
89 --nt-fw $(PKG_BUILD_DIR)/u-boot.bin \
90 $(PKG_BUILD_DIR)/u-boot.fip
91 endef
92
93 define Build/Compile
94 $(call Build/Compile/U-Boot)
95 ifeq ($(UBOOT_IMAGE),u-boot.fip))
96 $(call Build/fip-image)
97 endif
98 endef
99
100 # don't stage files to bindir, let target/linux/mediatek/image/*.mk do that
101 define Package/u-boot/install
102 endef
103
104 define Build/InstallDev
105 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
106 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(UBOOT_IMAGE)
107 endef
108
109 $(eval $(call BuildPackage/U-Boot))