]>
Commit | Line | Data |
---|---|---|
cffc77ae FF |
1 | DTS_DIR := $(DTS_DIR)/mediatek |
2 | ||
cffc77ae FF |
3 | define Image/Prepare |
4 | # For UBI we want only one extra block | |
5 | rm -f $(KDIR)/ubi_mark | |
6 | echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark | |
7 | endef | |
8 | ||
a96382c1 DG |
9 | define Build/bl2 |
10 | cat $(STAGING_DIR_IMAGE)/mt7986-$1-bl2.img >> $@ | |
11 | endef | |
12 | ||
13 | define Build/bl31-uboot | |
14 | cat $(STAGING_DIR_IMAGE)/mt7986_$1-u-boot.fip >> $@ | |
15 | endef | |
16 | ||
17 | define Build/mt7986-gpt | |
18 | cp $@ $@.tmp 2>/dev/null || true | |
19 | ptgen -g -o $@.tmp -a 1 -l 1024 \ | |
20 | $(if $(findstring sdmmc,$1), \ | |
21 | -H \ | |
22 | -t 0x83 -N bl2 -r -p 4079k@17k \ | |
23 | ) \ | |
24 | -t 0x83 -N ubootenv -r -p 512k@4M \ | |
25 | -t 0x83 -N factory -r -p 2M@4608k \ | |
26 | -t 0xef -N fip -r -p 4M@6656k \ | |
27 | -N recovery -r -p 32M@12M \ | |
28 | $(if $(findstring sdmmc,$1), \ | |
29 | -N install -r -p 20M@44M \ | |
30 | -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@64M \ | |
31 | ) \ | |
32 | $(if $(findstring emmc,$1), \ | |
33 | -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@64M \ | |
34 | ) | |
35 | cat $@.tmp >> $@ | |
36 | rm $@.tmp | |
37 | endef | |
38 | ||
7cbe3417 DG |
39 | metadata_gl_json = \ |
40 | '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ | |
41 | "metadata_version": "1.1", \ | |
42 | "compat_version": "$(call json_quote,$(compat_version))", \ | |
43 | $(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \ | |
44 | $(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \ | |
45 | [$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \ | |
46 | "supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \ | |
47 | $(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \ | |
48 | "version": { \ | |
49 | "release": "$(call json_quote,$(VERSION_NUMBER))", \ | |
50 | "date": "$(shell TZ='Asia/Chongqing' date '+%Y%m%d%H%M%S')", \ | |
51 | "dist": "$(call json_quote,$(VERSION_DIST))", \ | |
52 | "version": "$(call json_quote,$(VERSION_NUMBER))", \ | |
53 | "revision": "$(call json_quote,$(REVISION))", \ | |
54 | "target": "$(call json_quote,$(TARGETID))", \ | |
55 | "board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \ | |
fd0118c0 | 56 | } \ |
7cbe3417 DG |
57 | }' |
58 | ||
59 | define Build/append-gl-metadata | |
60 | $(if $(SUPPORTED_DEVICES),-echo $(call metadata_gl_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@) | |
a384490b DG |
61 | sha256sum "$@" | cut -d" " -f1 > "$@.sha256sum" |
62 | [ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \ | |
63 | cp "$(BUILD_KEY).ucert" "$@.ucert" ;\ | |
7cbe3417 | 64 | usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\ |
a384490b DG |
65 | ucert -A -c "$@.ucert" -x "$@.sig" ;\ |
66 | fwtool -S "$@.ucert" "$@" ;\ | |
7cbe3417 DG |
67 | } |
68 | endef | |
69 | ||
e7c399be DB |
70 | define Device/asus_tuf-ax4200 |
71 | DEVICE_VENDOR := ASUS | |
72 | DEVICE_MODEL := TUF-AX4200 | |
73 | DEVICE_DTS := mt7986a-asus-tuf-ax4200 | |
74 | DEVICE_DTS_DIR := ../dts | |
75 | DEVICE_DTS_LOADADDR := 0x47000000 | |
ed284995 | 76 | DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware |
e7c399be | 77 | IMAGES := sysupgrade.bin |
f25abdf1 | 78 | KERNEL := kernel-bin | lzma | \ |
e7c399be DB |
79 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb |
80 | KERNEL_INITRAMFS := kernel-bin | lzma | \ | |
81 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k | |
82 | IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | |
83 | endef | |
84 | TARGET_DEVICES += asus_tuf-ax4200 | |
85 | ||
a96382c1 DG |
86 | define Device/bananapi_bpi-r3 |
87 | DEVICE_VENDOR := Bananapi | |
88 | DEVICE_MODEL := BPi-R3 | |
89 | DEVICE_DTS := mt7986a-bananapi-bpi-r3 | |
90 | DEVICE_DTS_CONFIG := config-mt7986a-bananapi-bpi-r3 | |
91 | DEVICE_DTS_OVERLAY:= mt7986a-bananapi-bpi-r3-nor mt7986a-bananapi-bpi-r3-emmc-nor mt7986a-bananapi-bpi-r3-emmc-snand mt7986a-bananapi-bpi-r3-snand | |
92 | DEVICE_DTS_DIR := ../dts | |
d98c4fb8 | 93 | DEVICE_PACKAGES := kmod-hwmon-pwmfan kmod-i2c-gpio kmod-mt7986-firmware kmod-sfp kmod-usb3 e2fsprogs f2fsck mkf2fs mt7986-wo-firmware |
a96382c1 | 94 | IMAGES := sysupgrade.itb |
e92b153e | 95 | KERNEL_LOADADDR := 0x44000000 |
a96382c1 DG |
96 | KERNEL_INITRAMFS_SUFFIX := -recovery.itb |
97 | ARTIFACTS := \ | |
98 | emmc-preloader.bin emmc-bl31-uboot.fip \ | |
99 | nor-preloader.bin nor-bl31-uboot.fip \ | |
100 | sdcard.img.gz \ | |
101 | snand-preloader.bin snand-bl31-uboot.fip | |
102 | ARTIFACT/emmc-preloader.bin := bl2 emmc-ddr4 | |
103 | ARTIFACT/emmc-bl31-uboot.fip := bl31-uboot bananapi_bpi-r3-emmc | |
104 | ARTIFACT/nor-preloader.bin := bl2 nor-ddr4 | |
105 | ARTIFACT/nor-bl31-uboot.fip := bl31-uboot bananapi_bpi-r3-nor | |
106 | ARTIFACT/snand-preloader.bin := bl2 spim-nand-ddr4 | |
107 | ARTIFACT/snand-bl31-uboot.fip := bl31-uboot bananapi_bpi-r3-snand | |
108 | ARTIFACT/sdcard.img.gz := mt7986-gpt sdmmc |\ | |
109 | pad-to 17k | bl2 sdmmc-ddr4 |\ | |
110 | pad-to 6656k | bl31-uboot bananapi_bpi-r3-sdmmc |\ | |
1a6f6a1e DG |
111 | $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\ |
112 | pad-to 12M | append-image-stage initramfs-recovery.itb | check-size 44m |\ | |
113 | ) \ | |
a96382c1 DG |
114 | pad-to 44M | bl2 spim-nand-ddr4 |\ |
115 | pad-to 45M | bl31-uboot bananapi_bpi-r3-snand |\ | |
116 | pad-to 49M | bl2 nor-ddr4 |\ | |
117 | pad-to 50M | bl31-uboot bananapi_bpi-r3-nor |\ | |
118 | pad-to 51M | bl2 emmc-ddr4 |\ | |
119 | pad-to 52M | bl31-uboot bananapi_bpi-r3-emmc |\ | |
120 | pad-to 56M | mt7986-gpt emmc |\ | |
1a6f6a1e DG |
121 | $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS),\ |
122 | pad-to 64M | append-image squashfs-sysupgrade.itb | check-size | gzip \ | |
123 | ) | |
124 | IMAGE_SIZE := $$(shell expr 64 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m | |
a96382c1 DG |
125 | KERNEL := kernel-bin | gzip |
126 | KERNEL_INITRAMFS := kernel-bin | lzma | \ | |
127 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k | |
128 | IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata | |
129 | DTC_FLAGS += -@ --space 32768 | |
130 | endef | |
131 | TARGET_DEVICES += bananapi_bpi-r3 | |
132 | ||
c9cb6411 DB |
133 | define Device/cudy_wr3000-v1 |
134 | DEVICE_VENDOR := Cudy | |
135 | DEVICE_MODEL := WR3000 | |
136 | DEVICE_VARIANT := v1 | |
137 | DEVICE_DTS := mt7981b-cudy-wr3000-v1 | |
138 | DEVICE_DTS_DIR := ../dts | |
139 | DEVICE_DTS_LOADADDR := 0x47000000 | |
140 | IMAGES := sysupgrade.bin | |
141 | IMAGE_SIZE := 15424k | |
142 | SUPPORTED_DEVICES += R31 | |
143 | KERNEL := kernel-bin | lzma | \ | |
144 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | |
145 | KERNEL_INITRAMFS := kernel-bin | lzma | \ | |
146 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k | |
147 | IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | check-size | append-metadata | |
148 | DEVICE_PACKAGES := kmod-mt7981-firmware | |
149 | endef | |
150 | TARGET_DEVICES += cudy_wr3000-v1 | |
151 | ||
7cbe3417 DG |
152 | define Device/glinet_gl-mt3000 |
153 | DEVICE_VENDOR := GL.iNet | |
154 | DEVICE_MODEL := GL-MT3000 | |
155 | DEVICE_DTS := mt7981b-glinet-gl-mt3000 | |
156 | DEVICE_DTS_DIR := ../dts | |
157 | SUPPORTED_DEVICES += glinet,mt3000-snand | |
158 | DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware kmod-hwmon-pwmfan kmod-usb3 | |
159 | UBINIZE_OPTS := -E 5 | |
160 | BLOCKSIZE := 128k | |
161 | PAGESIZE := 2048 | |
162 | IMAGE_SIZE := 246272k | |
163 | KERNEL_IN_UBI := 1 | |
164 | IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata | |
165 | endef | |
166 | TARGET_DEVICES += glinet_gl-mt3000 | |
167 | ||
4f1e5480 | 168 | define Device/mediatek_mt7986a-rfb-nand |
cffc77ae | 169 | DEVICE_VENDOR := MediaTek |
4f1e5480 FF |
170 | DEVICE_MODEL := MT7986 rfba AP (NAND) |
171 | DEVICE_DTS := mt7986a-rfb-spim-nand | |
cffc77ae | 172 | DEVICE_DTS_DIR := $(DTS_DIR)/ |
d98c4fb8 | 173 | DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware |
4f1e5480 | 174 | SUPPORTED_DEVICES := mediatek,mt7986a-rfb-snand |
cffc77ae FF |
175 | UBINIZE_OPTS := -E 5 |
176 | BLOCKSIZE := 128k | |
177 | PAGESIZE := 2048 | |
178 | IMAGE_SIZE := 65536k | |
179 | KERNEL_IN_UBI := 1 | |
180 | IMAGES += factory.bin | |
181 | IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | |
182 | IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | |
183 | KERNEL = kernel-bin | lzma | \ | |
4f1e5480 | 184 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb |
cffc77ae | 185 | KERNEL_INITRAMFS = kernel-bin | lzma | \ |
4f1e5480 | 186 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd |
cffc77ae FF |
187 | DTC_FLAGS += -@ --space 32768 |
188 | endef | |
4f1e5480 | 189 | TARGET_DEVICES += mediatek_mt7986a-rfb-nand |
cffc77ae FF |
190 | |
191 | define Device/mediatek_mt7986b-rfb | |
192 | DEVICE_VENDOR := MediaTek | |
193 | DEVICE_MODEL := MTK7986 rfbb AP | |
194 | DEVICE_DTS := mt7986b-rfb | |
195 | DEVICE_DTS_DIR := $(DTS_DIR)/ | |
d98c4fb8 | 196 | DEVICE_PACKAGES := kmod-mt7986-firmware mt7986-wo-firmware |
cffc77ae FF |
197 | SUPPORTED_DEVICES := mediatek,mt7986b-rfb |
198 | UBINIZE_OPTS := -E 5 | |
199 | BLOCKSIZE := 128k | |
200 | PAGESIZE := 2048 | |
201 | IMAGE_SIZE := 65536k | |
202 | KERNEL_IN_UBI := 1 | |
203 | IMAGES += factory.bin | |
204 | IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | |
205 | IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | |
206 | endef | |
207 | TARGET_DEVICES += mediatek_mt7986b-rfb | |
641e4f2f | 208 | |
21be2c26 CP |
209 | define Device/tplink_tl-xdr-common |
210 | DEVICE_VENDOR := TP-Link | |
211 | DEVICE_DTS_DIR := ../dts | |
212 | UBINIZE_OPTS := -E 5 | |
213 | BLOCKSIZE := 128k | |
214 | PAGESIZE := 2048 | |
215 | KERNEL_IN_UBI := 1 | |
216 | UBOOTENV_IN_UBI := 1 | |
217 | IMAGES := sysupgrade.itb | |
218 | KERNEL_INITRAMFS_SUFFIX := -recovery.itb | |
219 | KERNEL := kernel-bin | gzip | |
220 | KERNEL_INITRAMFS := kernel-bin | lzma | \ | |
221 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k | |
222 | IMAGE/sysupgrade.itb := append-kernel | \ | |
223 | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata | |
224 | DEVICE_PACKAGES := kmod-usb3 kmod-mt7986-firmware mt7986-wo-firmware | |
225 | ARTIFACTS := preloader.bin bl31-uboot.fip | |
226 | ARTIFACT/preloader.bin := bl2 spim-nand-ddr3 | |
227 | endef | |
228 | ||
229 | define Device/tplink_tl-xdr4288 | |
230 | DEVICE_MODEL := TL-XDR4288 | |
231 | DEVICE_DTS := mt7986a-tplink-tl-xdr4288 | |
232 | ARTIFACT/bl31-uboot.fip := bl31-uboot tplink_tl-xdr4288 | |
233 | $(call Device/tplink_tl-xdr-common) | |
234 | endef | |
235 | TARGET_DEVICES += tplink_tl-xdr4288 | |
236 | ||
237 | define Device/tplink_tl-xdr6086 | |
238 | DEVICE_MODEL := TL-XDR6086 | |
239 | DEVICE_DTS := mt7986a-tplink-tl-xdr6086 | |
240 | ARTIFACT/bl31-uboot.fip := bl31-uboot tplink_tl-xdr6086 | |
241 | $(call Device/tplink_tl-xdr-common) | |
242 | endef | |
243 | TARGET_DEVICES += tplink_tl-xdr6086 | |
244 | ||
245 | define Device/tplink_tl-xdr6088 | |
246 | DEVICE_MODEL := TL-XDR6088 | |
247 | DEVICE_DTS := mt7986a-tplink-tl-xdr6088 | |
248 | ARTIFACT/bl31-uboot.fip := bl31-uboot tplink_tl-xdr6088 | |
249 | $(call Device/tplink_tl-xdr-common) | |
250 | endef | |
251 | TARGET_DEVICES += tplink_tl-xdr6088 | |
252 | ||
18bea173 CM |
253 | define Device/xiaomi_redmi-router-ax6000-stock |
254 | DEVICE_VENDOR := Xiaomi | |
255 | DEVICE_MODEL := Redmi Router AX6000 (stock layout) | |
256 | DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-stock | |
257 | DEVICE_DTS_DIR := ../dts | |
d98c4fb8 | 258 | DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware |
18bea173 CM |
259 | UBINIZE_OPTS := -E 5 |
260 | BLOCKSIZE := 128k | |
261 | PAGESIZE := 2048 | |
262 | ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) | |
263 | ARTIFACTS := initramfs-factory.ubi | |
264 | ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-kernel.bin | ubinize-kernel | |
265 | endif | |
266 | IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | |
267 | endef | |
268 | TARGET_DEVICES += xiaomi_redmi-router-ax6000-stock | |
8bac5dc1 FX |
269 | |
270 | define Device/xiaomi_redmi-router-ax6000-ubootmod | |
271 | DEVICE_VENDOR := Xiaomi | |
272 | DEVICE_MODEL := Redmi Router AX6000 (OpenWrt U-Boot layout) | |
273 | DEVICE_DTS := mt7986a-xiaomi-redmi-router-ax6000-ubootmod | |
274 | DEVICE_DTS_DIR := ../dts | |
d98c4fb8 | 275 | DEVICE_PACKAGES := kmod-leds-ws2812b kmod-mt7986-firmware mt7986-wo-firmware |
8bac5dc1 FX |
276 | KERNEL_INITRAMFS_SUFFIX := -recovery.itb |
277 | IMAGES := sysupgrade.itb | |
8bac5dc1 FX |
278 | UBINIZE_OPTS := -E 5 |
279 | BLOCKSIZE := 128k | |
280 | PAGESIZE := 2048 | |
281 | KERNEL_IN_UBI := 1 | |
282 | UBOOTENV_IN_UBI := 1 | |
283 | KERNEL := kernel-bin | gzip | |
284 | KERNEL_INITRAMFS := kernel-bin | lzma | \ | |
285 | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k | |
286 | IMAGE/sysupgrade.itb := append-kernel | \ | |
287 | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata | |
288 | ARTIFACTS := preloader.bin bl31-uboot.fip | |
289 | ARTIFACT/preloader.bin := bl2 spim-nand-ddr4 | |
290 | ARTIFACT/bl31-uboot.fip := bl31-uboot xiaomi_redmi-router-ax6000 | |
291 | ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) | |
292 | ARTIFACTS += initramfs-factory.ubi | |
293 | ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-recovery.itb | ubinize-kernel | |
294 | endif | |
295 | endef | |
296 | TARGET_DEVICES += xiaomi_redmi-router-ax6000-ubootmod |