mediatek: add support for Buffalo WSR-3200AX4S
[openwrt/staging/dangole.git] / target / linux / mediatek / image / mt7622.mk
1 DTS_DIR := $(DTS_DIR)/mediatek
2
3 DEVICE_VARS += BUFFALO_TRX_MAGIC
4
5 define Image/Prepare
6 # For UBI we want only one extra block
7 rm -f $(KDIR)/ubi_mark
8 echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark
9 endef
10
11 define Build/buffalo-trx
12 $(eval magic=$(word 1,$(1)))
13 $(eval kern_bin=$(if $(1),$(IMAGE_KERNEL),$@))
14 $(eval rtfs_bin=$(word 2,$(1)))
15 $(eval apnd_bin=$(word 3,$(1)))
16 $(eval kern_size=$(if $(KERNEL_SIZE),$(KERNEL_SIZE),0x400000))
17
18 $(if $(rtfs_bin),touch $(rtfs_bin))
19 $(STAGING_DIR_HOST)/bin/otrx create $@.new \
20 $(if $(magic),-M $(magic),) \
21 -f $(kern_bin) \
22 $(if $(rtfs_bin),\
23 -a 0x20000 \
24 -b $$(( $(subst k, * 1024,$(kern_size)) )) \
25 -f $(rtfs_bin),) \
26 $(if $(apnd_bin),\
27 -A $(apnd_bin) \
28 -a 0x20000)
29 mv $@.new $@
30 endef
31
32 define Build/bl2
33 cat $(STAGING_DIR_IMAGE)/mt7622-$1-bl2.img >> $@
34 endef
35
36 define Build/bl31-uboot
37 cat $(STAGING_DIR_IMAGE)/mt7622_$1-u-boot.fip >> $@
38 endef
39
40 define Build/mt7622-gpt
41 cp $@ $@.tmp 2>/dev/null || true
42 ptgen -g -o $@.tmp -a 1 -l 1024 \
43 $(if $(findstring sdmmc,$1), \
44 -H \
45 -t 0x83 -N bl2 -r -p 512k@512k \
46 ) \
47 -t 0xef -N fip -r -p 2M@2M \
48 -t 0x83 -N ubootenv -r -p 1M@4M \
49 -N recovery -r -p 32M@6M \
50 $(if $(findstring sdmmc,$1), \
51 -N install -r -p 7M@38M \
52 -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@45M \
53 ) \
54 $(if $(findstring emmc,$1), \
55 -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@40M \
56 )
57 cat $@.tmp >> $@
58 rm $@.tmp
59 endef
60
61 define Device/bananapi_bpi-r64
62 DEVICE_VENDOR := Bananapi
63 DEVICE_MODEL := BPi-R64
64 DEVICE_DTS := mt7622-bananapi-bpi-r64
65 DEVICE_DTS_OVERLAY := mt7622-bananapi-bpi-r64-pcie1 mt7622-bananapi-bpi-r64-sata
66 DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3 e2fsprogs mkf2fs f2fsck
67 DEVICE_DTC_FLAGS := --pad 4096
68 DEVICE_DTS_LOADADDR := 0x43f00000
69 ARTIFACTS := emmc-preloader.bin emmc-bl31-uboot.fip sdcard.img.gz snand-preloader.bin snand-bl31-uboot.fip
70 IMAGES := sysupgrade.itb
71 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
72 ARTIFACT/emmc-preloader.bin := bl2 emmc-2ddr
73 ARTIFACT/emmc-bl31-uboot.fip := bl31-uboot bananapi_bpi-r64-emmc
74 ARTIFACT/snand-preloader.bin := bl2 snand-2ddr
75 ARTIFACT/snand-bl31-uboot.fip := bl31-uboot bananapi_bpi-r64-snand
76 ARTIFACT/sdcard.img.gz := mt7622-gpt sdmmc |\
77 pad-to 512k | bl2 sdmmc-2ddr |\
78 pad-to 2048k | bl31-uboot bananapi_bpi-r64-sdmmc |\
79 $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
80 pad-to 6144k | append-image-stage initramfs-recovery.itb | check-size 38912k |\
81 ) \
82 pad-to 38912k | mt7622-gpt emmc |\
83 pad-to 39424k | bl2 emmc-2ddr |\
84 pad-to 40960k | bl31-uboot bananapi_bpi-r64-emmc |\
85 pad-to 43008k | bl2 snand-2ddr |\
86 pad-to 43520k | bl31-uboot bananapi_bpi-r64-snand |\
87 $(if $(CONFIG_TARGET_ROOTFS_SQUASHFS), \
88 pad-to 46080k | append-image squashfs-sysupgrade.itb | check-size |\
89 ) \
90 gzip
91 IMAGE_SIZE := $$(shell expr 45 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
92 KERNEL := kernel-bin | gzip
93 KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb with-initrd | pad-to 128k
94 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb external-static-with-rootfs | append-metadata
95 DEVICE_COMPAT_VERSION := 1.1
96 DEVICE_COMPAT_MESSAGE := Device tree overlay mechanism needs bootloader update
97 endef
98 TARGET_DEVICES += bananapi_bpi-r64
99
100 define Device/buffalo_wsr
101 DEVICE_VENDOR := Buffalo
102 DEVICE_DTS_DIR := ../dts
103 KERNEL_SIZE := 6144k
104 BLOCKSIZE := 128k
105 PAGESIZE := 2048
106 UBINIZE_OPTS := -E 5
107 BUFFALO_TAG_PLATFORM := MTK
108 BUFFALO_TAG_VERSION := 9.99
109 BUFFALO_TAG_MINOR := 9.99
110 IMAGES += factory.bin factory-uboot.bin
111 KERNEL_INITRAMFS = kernel-bin | lzma | \
112 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | \
113 buffalo-trx
114 IMAGE/factory.bin = append-ubi | \
115 buffalo-trx $$$$(BUFFALO_TRX_MAGIC) $$$$@ $(KDIR)/ubi_mark | \
116 buffalo-enc $$(DEVICE_MODEL) $$(BUFFALO_TAG_VERSION) -l | \
117 buffalo-tag-dhp $$(DEVICE_MODEL) JP JP | buffalo-enc-tag -l | buffalo-dhp-image
118 IMAGE/factory-uboot.bin := append-ubi | \
119 buffalo-trx $$$$(BUFFALO_TRX_MAGIC) $$$$@ $(KDIR)/ubi_mark
120 IMAGE/sysupgrade.bin := \
121 buffalo-trx $$$$(BUFFALO_TRX_MAGIC) $(KDIR)/tmp/$$(DEVICE_NAME).null | \
122 sysupgrade-tar kernel=$$$$@ | append-metadata
123 endef
124
125 define Device/buffalo_wsr-2533dhp2
126 $(Device/buffalo_wsr)
127 DEVICE_MODEL := WSR-2533DHP2
128 DEVICE_DTS := mt7622-buffalo-wsr-2533dhp2
129 IMAGE_SIZE := 59392k
130 SUBPAGESIZE := 512
131 BUFFALO_TRX_MAGIC := 0x32504844
132 DEVICE_PACKAGES := kmod-mt7615-firmware swconfig
133 DEVICE_COMPAT_VERSION := 1.1
134 DEVICE_COMPAT_MESSAGE := Partition table has been changed due to kernel size restrictions. \
135 Please upgrade via sysupgrade with factory-uboot.bin image and '-F' option. \
136 (Warning: your configurations will be erased!)
137 endef
138 TARGET_DEVICES += buffalo_wsr-2533dhp2
139
140 define Device/buffalo_wsr-3200ax4s
141 $(Device/buffalo_wsr)
142 DEVICE_MODEL := WSR-3200AX4S
143 DEVICE_DTS := mt7622-buffalo-wsr-3200ax4s
144 IMAGE_SIZE := 24576k
145 BUFFALO_TRX_MAGIC := 0x33504844
146 DEVICE_PACKAGES := kmod-mt7915-firmware
147 endef
148 TARGET_DEVICES += buffalo_wsr-3200ax4s
149
150 define Device/elecom_wrc-2533gent
151 DEVICE_VENDOR := Elecom
152 DEVICE_MODEL := WRC-2533GENT
153 DEVICE_DTS := mt7622-elecom-wrc-2533gent
154 DEVICE_DTS_DIR := ../dts
155 DEVICE_PACKAGES := kmod-btmtkuart kmod-mt7615-firmware kmod-usb3 swconfig
156 endef
157 TARGET_DEVICES += elecom_wrc-2533gent
158
159 define Device/elecom_wrc-x3200gst3
160 DEVICE_VENDOR := ELECOM
161 DEVICE_MODEL := WRC-X3200GST3
162 DEVICE_DTS := mt7622-elecom-wrc-x3200gst3
163 DEVICE_DTS_DIR := ../dts
164 IMAGE_SIZE := 25600k
165 KERNEL_SIZE := 6144k
166 BLOCKSIZE := 128k
167 PAGESIZE := 2048
168 UBINIZE_OPTS := -E 5
169 IMAGES += factory.bin
170 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
171 append-ubi | check-size | \
172 elecom-wrc-gs-factory WRC-X3200GST3 0.00 -N | \
173 append-string MT7622_ELECOM_WRC-X3200GST3
174 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
175 DEVICE_PACKAGES := kmod-mt7915-firmware
176 endef
177 TARGET_DEVICES += elecom_wrc-x3200gst3
178
179 define Device/linksys_e8450
180 DEVICE_VENDOR := Linksys
181 DEVICE_MODEL := E8450
182 DEVICE_ALT0_VENDOR := Belkin
183 DEVICE_ALT0_MODEL := RT3200
184 DEVICE_DTS := mt7622-linksys-e8450
185 DEVICE_DTS_DIR := ../dts
186 DEVICE_PACKAGES := kmod-mt7915-firmware kmod-usb3
187 endef
188 TARGET_DEVICES += linksys_e8450
189
190 define Device/linksys_e8450-ubi
191 DEVICE_VENDOR := Linksys
192 DEVICE_MODEL := E8450
193 DEVICE_VARIANT := UBI
194 DEVICE_ALT0_VENDOR := Belkin
195 DEVICE_ALT0_MODEL := RT3200
196 DEVICE_ALT0_VARIANT := UBI
197 DEVICE_DTS := mt7622-linksys-e8450-ubi
198 DEVICE_DTS_DIR := ../dts
199 DEVICE_PACKAGES := kmod-mt7915-firmware kmod-usb3
200 UBINIZE_OPTS := -E 5
201 BLOCKSIZE := 128k
202 PAGESIZE := 2048
203 UBOOTENV_IN_UBI := 1
204 KERNEL_IN_UBI := 1
205 KERNEL := kernel-bin | gzip
206 # recovery can also be used with stock firmware web-ui, hence the padding...
207 KERNEL_INITRAMFS := kernel-bin | lzma | \
208 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
209 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
210 IMAGES := sysupgrade.itb
211 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
212 ARTIFACTS := preloader.bin bl31-uboot.fip
213 ARTIFACT/preloader.bin := bl2 snand-1ddr
214 ARTIFACT/bl31-uboot.fip := bl31-uboot linksys_e8450
215 endef
216 TARGET_DEVICES += linksys_e8450-ubi
217
218 define Device/mediatek_mt7622-rfb1
219 DEVICE_VENDOR := MediaTek
220 DEVICE_MODEL := MTK7622 rfb1 AP
221 DEVICE_DTS := mt7622-rfb1
222 DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
223 endef
224 TARGET_DEVICES += mediatek_mt7622-rfb1
225
226 define Device/mediatek_mt7622-rfb1-ubi
227 DEVICE_VENDOR := MediaTek
228 DEVICE_MODEL := MTK7622 rfb1 AP (UBI)
229 DEVICE_DTS := mt7622-rfb1-ubi
230 DEVICE_DTS_DIR := ../dts
231 DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
232 BOARD_NAME := mediatek,mt7622-rfb1-ubi
233 UBINIZE_OPTS := -E 5
234 BLOCKSIZE := 128k
235 PAGESIZE := 2048
236 KERNEL_SIZE := 4194304
237 IMAGE_SIZE := 32768k
238 IMAGES += factory.bin
239 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
240 check-size $$$$(IMAGE_SIZE)
241 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
242 endef
243 TARGET_DEVICES += mediatek_mt7622-rfb1-ubi
244
245 define Device/netgear_wax206
246 $(Device/dsa-migration)
247 DEVICE_VENDOR := NETGEAR
248 DEVICE_MODEL := WAX206
249 DEVICE_DTS := mt7622-netgear-wax206
250 DEVICE_DTS_DIR := ../dts
251 NETGEAR_ENC_MODEL := WAX206
252 NETGEAR_ENC_REGION := US
253 DEVICE_PACKAGES := kmod-mt7915-firmware
254 UBINIZE_OPTS := -E 5
255 BLOCKSIZE := 128k
256 PAGESIZE := 2048
257 KERNEL_SIZE := 6144k
258 IMAGE_SIZE := 32768k
259 KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | \
260 append-squashfs4-fakeroot
261 # recovery can also be used with stock firmware web-ui, hence the padding...
262 KERNEL_INITRAMFS := kernel-bin | lzma | \
263 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
264 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
265 IMAGES += factory.img
266 IMAGE/factory.img := append-kernel | pad-to $$(KERNEL_SIZE) | \
267 append-ubi | check-size | netgear-encrypted-factory
268 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
269 endef
270 TARGET_DEVICES += netgear_wax206
271
272 define Device/ruijie_rg-ew3200gx-pro
273 DEVICE_VENDOR := Ruijie
274 DEVICE_MODEL := RG-EW3200GX PRO
275 DEVICE_DTS := mt7622-ruijie-rg-ew3200gx-pro
276 DEVICE_DTS_DIR := ../dts
277 DEVICE_PACKAGES := kmod-mt7915-firmware
278 endef
279 TARGET_DEVICES += ruijie_rg-ew3200gx-pro
280
281 define Device/reyee_ax3200-e5
282 DEVICE_VENDOR := reyee
283 DEVICE_MODEL := AX3200 E5
284 DEVICE_DTS := mt7622-reyee-ax3200-e5
285 DEVICE_DTS_DIR := ../dts
286 DEVICE_PACKAGES := kmod-mt7915-firmware
287 endef
288 TARGET_DEVICES += reyee_ax3200-e5
289
290 define Device/totolink_a8000ru
291 DEVICE_VENDOR := TOTOLINK
292 DEVICE_MODEL := A8000RU
293 DEVICE_DTS := mt7622-totolink-a8000ru
294 DEVICE_DTS_DIR := ../dts
295 DEVICE_PACKAGES := kmod-mt7615-firmware swconfig
296 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
297 endef
298 TARGET_DEVICES += totolink_a8000ru
299
300 define Device/ubnt_unifi-6-lr-v1
301 DEVICE_VENDOR := Ubiquiti
302 DEVICE_MODEL := UniFi 6 LR
303 DEVICE_VARIANT := v1
304 DEVICE_DTS_CONFIG := config@1
305 DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v1
306 DEVICE_DTS_DIR := ../dts
307 DEVICE_PACKAGES := kmod-mt7915-firmware kmod-leds-ubnt-ledbar
308 SUPPORTED_DEVICES += ubnt,unifi-6-lr
309 endef
310 TARGET_DEVICES += ubnt_unifi-6-lr-v1
311
312 define Device/ubnt_unifi-6-lr-v1-ubootmod
313 DEVICE_VENDOR := Ubiquiti
314 DEVICE_MODEL := UniFi 6 LR
315 DEVICE_VARIANT := v1 U-Boot mod
316 DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v1-ubootmod
317 DEVICE_DTS_DIR := ../dts
318 DEVICE_PACKAGES := kmod-mt7915-firmware kmod-leds-ubnt-ledbar
319 KERNEL := kernel-bin | lzma
320 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
321 KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
322 IMAGES := sysupgrade.itb
323 IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
324 ARTIFACTS := preloader.bin bl31-uboot.fip
325 ARTIFACT/preloader.bin := bl2 nor-2ddr
326 ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr-v1
327 SUPPORTED_DEVICES += ubnt,unifi-6-lr-ubootmod
328 endef
329 TARGET_DEVICES += ubnt_unifi-6-lr-v1-ubootmod
330
331 define Device/ubnt_unifi-6-lr-v2
332 DEVICE_VENDOR := Ubiquiti
333 DEVICE_MODEL := UniFi 6 LR
334 DEVICE_VARIANT := v2
335 DEVICE_DTS_CONFIG := config@1
336 DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v2
337 DEVICE_DTS_DIR := ../dts
338 DEVICE_PACKAGES := kmod-mt7915-firmware
339 endef
340 TARGET_DEVICES += ubnt_unifi-6-lr-v2
341
342 define Device/ubnt_unifi-6-lr-v2-ubootmod
343 DEVICE_VENDOR := Ubiquiti
344 DEVICE_MODEL := UniFi 6 LR
345 DEVICE_VARIANT := v2 U-Boot mod
346 DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v2-ubootmod
347 DEVICE_DTS_DIR := ../dts
348 DEVICE_PACKAGES := kmod-mt7915-firmware
349 KERNEL := kernel-bin | lzma
350 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
351 KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
352 IMAGES := sysupgrade.itb
353 IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
354 ARTIFACTS := preloader.bin bl31-uboot.fip
355 ARTIFACT/preloader.bin := bl2 nor-2ddr
356 ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr-v2
357 endef
358 TARGET_DEVICES += ubnt_unifi-6-lr-v2-ubootmod
359
360 define Device/ubnt_unifi-6-lr-v3
361 DEVICE_VENDOR := Ubiquiti
362 DEVICE_MODEL := UniFi 6 LR
363 DEVICE_VARIANT := v3
364 DEVICE_DTS_CONFIG := config@1
365 DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v3
366 DEVICE_DTS_DIR := ../dts
367 DEVICE_PACKAGES := kmod-mt7915-firmware
368 endef
369 TARGET_DEVICES += ubnt_unifi-6-lr-v3
370
371 define Device/ubnt_unifi-6-lr-v3-ubootmod
372 DEVICE_VENDOR := Ubiquiti
373 DEVICE_MODEL := UniFi 6 LR
374 DEVICE_VARIANT := v3 U-Boot mod
375 DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v3-ubootmod
376 DEVICE_DTS_DIR := ../dts
377 DEVICE_PACKAGES := kmod-mt7915-firmware
378 KERNEL := kernel-bin | lzma
379 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
380 KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
381 IMAGES := sysupgrade.itb
382 IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
383 ARTIFACTS := preloader.bin bl31-uboot.fip
384 ARTIFACT/preloader.bin := bl2 nor-2ddr
385 ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr-v3
386 endef
387 TARGET_DEVICES += ubnt_unifi-6-lr-v3-ubootmod
388
389 define Device/xiaomi_redmi-router-ax6s
390 DEVICE_VENDOR := Xiaomi
391 DEVICE_MODEL := Redmi Router AX6S
392 DEVICE_ALT0_VENDOR := Xiaomi
393 DEVICE_ALT0_MODEL := Router AX3200
394 DEVICE_DTS := mt7622-xiaomi-redmi-router-ax6s
395 DEVICE_DTS_DIR := ../dts
396 BOARD_NAME := xiaomi,redmi-router-ax6s
397 DEVICE_PACKAGES := kmod-mt7915-firmware
398 UBINIZE_OPTS := -E 5
399 IMAGES += factory.bin
400 BLOCKSIZE := 128k
401 PAGESIZE := 2048
402 KERNEL_SIZE := 4096k
403 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
404 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi
405 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
406 endef
407 TARGET_DEVICES += xiaomi_redmi-router-ax6s