mediatek: mt7622: check firmware metadata
[openwrt/staging/rmilecki.git] / target / linux / mediatek / image / mt7622.mk
1 DTS_DIR := $(DTS_DIR)/mediatek
2
3 ifdef CONFIG_LINUX_5_4
4 KERNEL_LOADADDR := 0x44080000
5 else
6 KERNEL_LOADADDR := 0x44000000
7 endif
8
9 define Build/bl2
10 cat $(STAGING_DIR_IMAGE)/mt7622-$1-bl2.img >> $@
11 endef
12
13 define Build/bl31-uboot
14 cat $(STAGING_DIR_IMAGE)/mt7622_$1-u-boot.fip >> $@
15 endef
16
17 define Build/mt7622-gpt
18 cp $@ $@.tmp || true
19 ptgen -g -o $@.tmp -a 1 -l 1024 \
20 $(if $(findstring sdmmc,$1), \
21 -H \
22 -t 0x83 -N bl2 -r -p 512k@512k \
23 ) \
24 -t 0xef -N fip -r -p 1M@2M \
25 -t 0x83 -N ubootenv -r -p 1M@4M \
26 -N recovery -r -p 32M@6M \
27 $(if $(findstring sdmmc,$1), \
28 -t 0x2e -N production -p 216M@40M \
29 ) \
30 $(if $(findstring emmc,$1), \
31 -t 0x2e -N production -p 980M@40M \
32 )
33 cat $@.tmp >> $@
34 rm $@.tmp
35 endef
36
37 define Device/bananapi_bpi-r64
38 DEVICE_VENDOR := Bananapi
39 DEVICE_MODEL := BPi-R64
40 DEVICE_DTS := mt7622-bananapi-bpi-r64
41 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk \
42 kmod-mt7615e kmod-mt7615-firmware \
43 uboot-mt7622_bananapi_bpi-r64-emmc \
44 uboot-mt7622_bananapi_bpi-r64-sdmmc \
45 e2fsprogs mkf2fs f2fsck \
46 kmod-nls-cp437 kmod-nls-iso8859-1 kmod-vfat blockd
47 ARTIFACTS := sdcard.img
48 IMAGES := sysupgrade.itb
49 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
50 ARTIFACT/sdcard.img := mt7622-gpt sdmmc | pad-to 128k | mt7622-gpt emmc | pad-to 256k |\
51 bl2 emmc-2ddr | pad-to 512k | bl2 sdmmc-2ddr | pad-to 1M | bl31-uboot bananapi_bpi-r64-emmc | pad-to 2M |\
52 bl31-uboot bananapi_bpi-r64-sdmmc | pad-to 6M
53 KERNEL := kernel-bin | gzip
54 KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb with-initrd | pad-to 128k
55 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb external-static-with-rootfs | append-metadata
56 endef
57 TARGET_DEVICES += bananapi_bpi-r64
58
59 define Device/elecom_wrc-2533gent
60 DEVICE_VENDOR := Elecom
61 DEVICE_MODEL := WRC-2533GENT
62 DEVICE_DTS := mt7622-elecom-wrc-2533gent
63 DEVICE_DTS_DIR := ../dts
64 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-mt7615e \
65 kmod-mt7615-firmware kmod-btmtkuart swconfig
66 endef
67 TARGET_DEVICES += elecom_wrc-2533gent
68
69 define Device/linksys_e8450
70 DEVICE_VENDOR := Linksys
71 DEVICE_MODEL := E8450
72 DEVICE_ALT0_VENDOR := Belkin
73 DEVICE_ALT0_MODEL := RT3200
74 DEVICE_DTS := mt7622-linksys-e8450
75 DEVICE_DTS_DIR := ../dts
76 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk \
77 kmod-mt7615e kmod-mt7615-firmware kmod-mt7915e
78 endef
79 TARGET_DEVICES += linksys_e8450
80
81 define Device/linksys_e8450-ubi
82 DEVICE_VENDOR := Linksys
83 DEVICE_MODEL := E8450
84 DEVICE_VARIANT := UBI
85 DEVICE_ALT0_VENDOR := Belkin
86 DEVICE_ALT0_MODEL := RT3200
87 DEVICE_ALT0_VARIANT := UBI
88 DEVICE_DTS := mt7622-linksys-e8450-ubi
89 DEVICE_DTS_DIR := ../dts
90 UBINIZE_OPTS := -E 5
91 BLOCKSIZE := 128k
92 PAGESIZE := 2048
93 UBOOTENV_IN_UBI := 1
94 KERNEL_IN_UBI := 1
95 KERNEL := kernel-bin | gzip
96 # recovery can also be used with stock firmware web-ui, hence the padding...
97 KERNEL_INITRAMFS := kernel-bin | lzma | \
98 fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
99 KERNEL_INITRAMFS_SUFFIX := -recovery.itb
100 IMAGES := sysupgrade.itb
101 IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
102 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk \
103 kmod-mt7615e kmod-mt7615-firmware kmod-mt7915e \
104 u-boot-mt7622_linksys_e8450 uboot-envtools
105 ARTIFACTS := preloader.bin bl31-uboot.fip
106 ARTIFACT/preloader.bin := bl2 snand-1ddr
107 ARTIFACT/bl31-uboot.fip := bl31-uboot linksys_e8450
108 endef
109 TARGET_DEVICES += linksys_e8450-ubi
110
111 define Device/mediatek_mt7622-rfb1
112 DEVICE_VENDOR := MediaTek
113 DEVICE_MODEL := MTK7622 rfb1 AP
114 DEVICE_DTS := mt7622-rfb1
115 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk
116 endef
117 TARGET_DEVICES += mediatek_mt7622-rfb1
118
119 define Device/mediatek_mt7622-rfb1-ubi
120 DEVICE_VENDOR := MediaTek
121 DEVICE_MODEL := MTK7622 rfb1 AP (UBI)
122 DEVICE_DTS := mt7622-rfb1-ubi
123 DEVICE_DTS_DIR := ../dts
124 UBINIZE_OPTS := -E 5
125 BLOCKSIZE := 128k
126 PAGESIZE := 2048
127 KERNEL_SIZE := 4194304
128 IMAGE_SIZE := 32768k
129 IMAGES += factory.bin
130 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
131 check-size $$$$(IMAGE_SIZE)
132 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
133 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk
134 endef
135 TARGET_DEVICES += mediatek_mt7622-rfb1-ubi
136
137 define Device/ubnt_unifi-6-lr
138 DEVICE_VENDOR := Ubiquiti
139 DEVICE_MODEL := UniFi 6 LR
140 DEVICE_DTS := mt7622-ubnt-unifi-6-lr
141 DEVICE_DTS_DIR := ../dts
142 DEVICE_PACKAGES := kmod-mt7915e
143 endef
144 TARGET_DEVICES += ubnt_unifi-6-lr