ramips: add size checks/append metadata where missing
[oweals/openwrt.git] / target / linux / ramips / image / mt7620.mk
1 #
2 # MT7620A Profiles
3 #
4
5 define Build/tplink-header
6         $(STAGING_DIR_HOST)/bin/mktplinkfw2 -a 0x4 -V "ver. 2.0" -B $(1) \
7                 -o $@.new -k $@  && mv $@.new $@
8 endef
9
10 define Build/pad-kernel-ex2700
11         cp $@ $@.tmp && dd if=/dev/zero bs=64 count=1 >> $@.tmp \
12                 && dd if=$@.tmp of=$@.new bs=64k conv=sync && truncate -s -64 $@.new \
13                 && cat ex2700-fakeroot.uImage >> $@.new && rm $@.tmp && mv $@.new $@
14 endef
15
16 define Build/netgear-header
17         $(STAGING_DIR_HOST)/bin/mkdniimg \
18                 $(1) -v OpenWrt -i $@ \
19                 -o $@.new && mv $@.new $@
20 endef
21
22 define Build/poray-header
23         mkporayfw $(1) \
24                 -f $@ \
25                 -o $@.new; \
26                 mv $@.new $@
27 endef
28
29 define Build/elecom-header
30         cp $@ $(KDIR)/v_0.0.0.bin
31         ( \
32                 $(STAGING_DIR_HOST)/bin/md5sum $(KDIR)/v_0.0.0.bin | \
33                         sed 's/ .*//' && \
34                 echo 458 \
35         ) | $(STAGING_DIR_HOST)/bin/md5sum | \
36                 sed 's/ .*//' > $(KDIR)/v_0.0.0.md5
37         $(STAGING_DIR_HOST)/bin/tar -cf $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
38 endef
39
40 define Build/zyimage
41         $(STAGING_DIR_HOST)/bin/zyimage $(1) $@
42 endef
43
44 define Device/ArcherC20i
45   DTS := ArcherC20i
46   KERNEL := $(KERNEL_DTB)
47   KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC20i -c
48   IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC20i -j -r $(KDIR)/root.squashfs | append-metadata
49   DEVICE_TITLE := TP-Link ArcherC20i
50 endef
51 TARGET_DEVICES += ArcherC20i
52
53 define Device/ArcherC50
54   DTS := ArcherC50
55   KERNEL := $(KERNEL_DTB)
56   KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC50 -c
57   IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC50 -j -r $(KDIR)/root.squashfs | append-metadata
58   DEVICE_TITLE := TP-Link ArcherC50
59 endef
60 TARGET_DEVICES += ArcherC50
61
62 define Device/ex2700
63   DTS := EX2700
64   BLOCKSIZE := 4k
65   IMAGE_SIZE := $(ralink_default_fw_size_4M)
66   IMAGES += factory.bin
67   KERNEL := $(KERNEL_DTB) | uImage lzma | pad-kernel-ex2700
68   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
69         netgear-header -B EX2700 -H 29764623+4+0+32+2x2+0
70   DEVICE_TITLE := Netgear EX2700
71 endef
72 TARGET_DEVICES += ex2700
73
74 define Device/wt3020-4M
75   DTS := WT3020-4M
76   BLOCKSIZE := 4k
77   IMAGE_SIZE := $(ralink_default_fw_size_4M)
78   IMAGES += factory.bin
79   SUPPORTED_DEVICES := wt3020
80   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
81         poray-header -B WT3020 -F 4M
82   DEVICE_TITLE := Nexx WT3020 (4MB)
83 endef
84 TARGET_DEVICES += wt3020-4M
85
86 define Device/wt3020-8M
87   DTS := WT3020-8M
88   IMAGES += factory.bin
89   SUPPORTED_DEVICES := wt3020
90   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
91         poray-header -B WT3020 -F 8M
92   DEVICE_TITLE := Nexx WT3020 (8MB)
93 endef
94 TARGET_DEVICES += wt3020-8M
95
96 define Device/wrh-300cr
97   DTS := WRH-300CR
98   IMAGE_SIZE := $(ralink_default_fw_size_16M)
99   IMAGES += factory.bin
100   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
101         elecom-header
102   DEVICE_TITLE := Elecom WRH-300CR 
103   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
104 endef
105 TARGET_DEVICES += wrh-300cr
106
107 define Device/e1700
108   DTS := E1700
109   IMAGES += factory.bin
110   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
111         umedia-header 0x013326
112   DEVICE_TITLE := Linksys E1700
113 endef
114 TARGET_DEVICES += e1700
115
116 define Device/ai-br100
117   DTS := AI-BR100
118   IMAGE_SIZE := 7936k
119   DEVICE_TITLE := Aigale Ai-BR100
120   DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci
121 endef
122 TARGET_DEVICES += ai-br100
123
124 define Device/whr-300hp2
125   DTS := WHR-300HP2
126   IMAGE_SIZE := 6848k
127   DEVICE_TITLE := Buffalo WHR-300HP2
128 endef
129 TARGET_DEVICES += whr-300hp2
130
131 define Device/whr-600d
132   DTS := WHR-600D
133   IMAGE_SIZE := 6848k
134   DEVICE_TITLE := Buffalo WHR-600D
135 endef
136 TARGET_DEVICES += whr-600d
137
138 define Device/whr-1166d
139   DTS := WHR-1166D
140   IMAGE_SIZE := 15040k
141   DEVICE_TITLE := Buffalo WHR-1166D
142 endef
143 TARGET_DEVICES += whr-1166d
144
145 define Device/dir-810l
146   DTS := DIR-810L
147   IMAGE_SIZE := 6720k
148   DEVICE_TITLE := D-Link DIR-810L
149 endef
150 TARGET_DEVICES += dir-810l
151
152 define Device/na930
153   DTS := NA930
154   IMAGE_SIZE := 20m
155   DEVICE_TITLE := Sercomm NA930
156 endef
157 TARGET_DEVICES += na930
158
159 define Device/microwrt
160   DTS := MicroWRT
161   IMAGE_SIZE := 16128k
162   DEVICE_TITLE := Microduino MicroWRT
163 endef
164 TARGET_DEVICES += microwrt
165
166 define Device/mt7620a
167   DTS := MT7620a
168   DEVICE_TITLE := MediaTek MT7620a EVB
169 endef
170 TARGET_DEVICES += mt7620a
171
172 define Device/mt7620a_mt7610e
173   DTS := MT7620a_MT7610e
174   DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
175 endef
176 TARGET_DEVICES += mt7620a_mt7610e
177
178 define Device/mt7620a_mt7530
179   DTS := MT7620a_MT7530
180   DEVICE_TITLE := MediaTek MT7620a + MT7530 EVB
181 endef
182 TARGET_DEVICES += mt7620a_mt7530
183
184 define Device/mt7620a_v22sg
185   DTS := MT7620a_V22SG
186   DEVICE_TITLE := MediaTek MT7620a V22SG
187 endef
188 TARGET_DEVICES += mt7620a_v22sg
189
190 define Device/rp-n53
191   DTS := RP-N53
192   DEVICE_TITLE := Asus RP-N53
193 endef
194 TARGET_DEVICES += rp-n53
195
196 define Device/cf-wr800n
197   DTS := CF-WR800N
198   DEVICE_TITLE := Comfast CF-WR800N
199 endef
200 TARGET_DEVICES += cf-wr800n
201
202 define Device/cs-qr10
203   DTS := CS-QR10
204   DEVICE_TITLE := Planex CS-QR10
205   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-i2c-core kmod-i2c-ralink kmod-sound-core kmod-sound-mtk kmod-sdhci-mt7620
206 endef
207 TARGET_DEVICES += cs-qr10
208
209 define Device/db-wrt01
210   DTS := DB-WRT01
211   DEVICE_TITLE := Planex DB-WRT01
212 endef
213 TARGET_DEVICES += db-wrt01
214
215 define Device/mzk-750dhp
216   DTS := MZK-750DHP
217   DEVICE_TITLE := Planex MZK-750DHP
218   DEVICE_PACKAGES := kmod-mt76
219 endef
220 TARGET_DEVICES += mzk-750dhp
221
222 define Device/mzk-ex300np
223   DTS := MZK-EX300NP
224   DEVICE_TITLE := Planex MZK-EX300NP
225 endef
226 TARGET_DEVICES += mzk-ex300np
227
228 define Device/mzk-ex750np
229   DTS := MZK-EX750NP
230   DEVICE_TITLE := Planex MZK-EX750NP
231   DEVICE_PACKAGES := kmod-mt76
232 endef
233 TARGET_DEVICES += mzk-ex750np
234
235 define Device/hc5661
236   DTS := HC5661
237   IMAGE_SIZE := $(ralink_default_fw_size_16M)
238   DEVICE_TITLE := HiWiFi HC5661
239   DEVICE_PACKAGES := kmod-usb2 kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
240 endef
241 TARGET_DEVICES += hc5661
242
243 define Device/hc5761
244   DTS := HC5761
245   IMAGE_SIZE := $(ralink_default_fw_size_16M)
246   DEVICE_TITLE := HiWiFi HC5761 
247   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
248 endef
249 TARGET_DEVICES += hc5761
250
251 define Device/hc5861
252   DTS := HC5861
253   IMAGE_SIZE := $(ralink_default_fw_size_16M)
254   DEVICE_TITLE := HiWiFi HC5861
255   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
256 endef
257 TARGET_DEVICES += hc5861
258
259 define Device/oy-0001
260   DTS := OY-0001
261   IMAGE_SIZE := $(ralink_default_fw_size_16M)
262   DEVICE_TITLE := Oh Yeah OY-0001
263 endef
264 TARGET_DEVICES += oy-0001
265
266 define Device/psg1208
267   DTS := PSG1208
268   DEVICE_TITLE := Phicomm PSG1208
269   DEVICE_PACKAGES := kmod-mt76
270 endef
271 TARGET_DEVICES += psg1208
272
273 define Device/psg1218
274   DTS := PSG1218
275   DEVICE_TITLE := Phicomm PSG1218
276   DEVICE_PACKAGES := kmod-mt76
277 endef
278 TARGET_DEVICES += psg1218
279
280 define Device/y1
281   DTS := Y1
282   IMAGE_SIZE := $(ralink_default_fw_size_16M)
283   DEVICE_TITLE := Lenovo Y1
284 endef
285 TARGET_DEVICES += y1
286
287 define Device/y1s
288   DTS := Y1S
289   IMAGE_SIZE := $(ralink_default_fw_size_16M)
290   DEVICE_TITLE := Lenovo Y1S
291 endef
292 TARGET_DEVICES += y1s
293
294 define Device/mlw221
295   DTS := MLW221
296   IMAGE_SIZE := $(ralink_default_fw_size_16M)
297   DEVICE_TITLE := Kingston MLW221
298 endef
299 TARGET_DEVICES += mlw221
300
301 define Device/mlwg2
302   DTS := MLWG2
303   IMAGE_SIZE := $(ralink_default_fw_size_16M)
304   DEVICE_TITLE := Kingston MLWG2
305 endef
306 TARGET_DEVICES += mlwg2
307
308 define Device/wmr-300
309   DTS := WMR-300
310   DEVICE_TITLE := Buffalo WMR-300
311 endef
312 TARGET_DEVICES += wmr-300
313
314 define Device/rt-n14u
315   DTS := RT-N14U
316   DEVICE_TITLE := Asus RT-N14u
317 endef
318 TARGET_DEVICES += rt-n14u
319
320 define Device/wrtnode
321   DTS := WRTNODE
322   IMAGE_SIZE := $(ralink_default_fw_size_16M)
323   DEVICE_TITLE := WRTNode
324 endef
325 TARGET_DEVICES += wrtnode
326
327 define Device/miwifi-mini
328   DTS := MIWIFI-MINI
329   IMAGE_SIZE := $(ralink_default_fw_size_16M)
330   DEVICE_TITLE := Xiaomi MiWiFi Mini
331   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
332 endef
333 TARGET_DEVICES += miwifi-mini
334
335 define Device/gl-mt300a
336   DTS := GL-MT300A
337   IMAGE_SIZE := $(ralink_default_fw_size_16M)
338   DEVICE_TITLE := GL-Inet GL-MT300A
339   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
340 endef
341 TARGET_DEVICES += gl-mt300a
342
343 define Device/gl-mt300n
344   DTS := GL-MT300N
345   IMAGE_SIZE := $(ralink_default_fw_size_16M)
346   DEVICE_TITLE := GL-Inet GL-MT300N
347   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
348 endef
349 TARGET_DEVICES += gl-mt300n
350
351 define Device/gl-mt750
352   DTS := GL-MT750
353   IMAGE_SIZE := $(ralink_default_fw_size_16M)
354   DEVICE_TITLE := GL-Inet GL-MT750
355   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
356 endef
357 TARGET_DEVICES += gl-mt750
358
359 define Device/zte-q7
360   DTS := ZTE-Q7
361   DEVICE_TITLE := ZTE Q7
362 endef
363 TARGET_DEVICES += zte-q7
364
365 define Device/youku-yk1
366   DTS := YOUKU-YK1
367   IMAGE_SIZE := $(ralink_default_fw_size_16M)
368   DEVICE_TITLE := YOUKU YK1
369 endef
370 TARGET_DEVICES += youku-yk1
371
372 define Device/zbt-ape522ii
373   DTS := ZBT-APE522II
374   DEVICE_TITLE := Zbtlink ZBT-APE522II
375   DEVICE_PACKAGES := kmod-mt76
376 endef
377 TARGET_DEVICES += zbt-ape522ii
378
379 define Device/zbt-cpe102
380   DTS := ZBT-CPE102
381   DEVICE_TITLE := Zbtlink ZBT-CPE102
382   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
383 endef
384 TARGET_DEVICES += zbt-cpe102
385
386 define Device/zbt-wa05
387   DTS := ZBT-WA05
388   DEVICE_TITLE := Zbtlink ZBT-WA05
389 endef
390 TARGET_DEVICES += zbt-wa05
391
392 define Device/zbt-we826
393   DTS := ZBT-WE826
394   IMAGE_SIZE := $(ralink_default_fw_size_16M)
395   DEVICE_TITLE := Zbtlink ZBT-WE826
396   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76 kmod-sdhci-mt7620 
397 endef
398 TARGET_DEVICES += zbt-we826
399
400 define Device/zbt-wr8305rt
401   DTS := ZBT-WR8305RT
402   DEVICE_TITLE := Zbtlink ZBT-WR8305RT
403 endef
404 TARGET_DEVICES += zbt-wr8305rt
405
406 define Device/tiny-ac
407   DTS := TINY-AC
408   DEVICE_TITLE := Dovado Tiny AC
409   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
410 endef
411 TARGET_DEVICES += tiny-ac
412
413 define Device/dch-m225
414   DTS := DCH-M225
415   BLOCKSIZE := 4k
416   IMAGES += factory.bin
417   IMAGE_SIZE := 6848k
418   IMAGE/sysupgrade.bin := \
419         append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
420         seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
421         pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
422   IMAGE/factory.bin := \
423         append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
424         append-rootfs | pad-rootfs -x 64 | \
425         seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
426         seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
427         check-size $$$$(IMAGE_SIZE)
428   DEVICE_TITLE := D-Link DCH-M225
429   DEVICE_PACKAGES := kmod-mt76
430 endef
431 TARGET_DEVICES += dch-m225
432
433 define Device/kng_rc
434   DTS := kng_rc
435   IMAGE_SIZE := $(ralink_default_fw_size_16M)
436   DEVICE_TITLE := ZyXEL Keenetic Viva
437   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport kmod-switch-rtl8366-smi kmod-switch-rtl8367b
438   IMAGES += factory.bin
439   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
440         zyimage -d 8997 -v "ZyXEL Keenetic Viva"
441 endef
442 TARGET_DEVICES += kng_rc