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