firmware-utils: mksercommfw: overhaul image creation
[openwrt/openwrt.git] / target / linux / ramips / image / mt76x8.mk
1 #
2 # MT76x8 Profiles
3 #
4
5 DEVICE_VARS += SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER
6
7 define Build/sercom-seal
8 $(STAGING_DIR_HOST)/bin/mksercommfw \
9 -i $@ \
10 -b $(SERCOMM_HWID) \
11 -r $(SERCOMM_HWVER) \
12 -v $(SERCOMM_SWVER) \
13 $(1)
14 endef
15
16 define Build/sercom-footer
17 $(call Build/sercom-seal,-f)
18 endef
19
20
21 define Device/tplink
22 TPLINK_FLASHLAYOUT :=
23 TPLINK_HWID :=
24 TPLINK_HWREV :=
25 TPLINK_HWREVADD :=
26 TPLINK_HVERSION :=
27 KERNEL := $(KERNEL_DTB)
28 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e
29 IMAGES += tftp-recovery.bin
30 IMAGE/factory.bin := tplink-v2-image -e
31 IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin)
32 IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \
33 check-size $$$$(IMAGE_SIZE)
34 endef
35 DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD TPLINK_HVERSION
36
37
38 define Device/alfa-network_awusfree1
39 DTS := AWUSFREE1
40 IMAGE_SIZE := $(ralink_default_fw_size_8M)
41 DEVICE_TITLE := ALFA Network AWUSFREE1
42 DEVICE_PACKAGES := uboot-envtools
43 endef
44 TARGET_DEVICES += alfa-network_awusfree1
45
46 define Device/tama_w06
47 DTS := W06
48 IMAGE_SIZE := 15040k
49 DEVICE_TITLE := Tama W06
50 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
51 endef
52 TARGET_DEVICES += tama_w06
53
54 define Device/duzun-dm06
55 DTS := DUZUN-DM06
56 DEVICE_TITLE := DuZun DM06
57 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
58 endef
59 TARGET_DEVICES += duzun-dm06
60
61 define Device/gl-mt300n-v2
62 DTS := GL-MT300N-V2
63 IMAGE_SIZE := 16064k
64 DEVICE_TITLE := GL-iNet GL-MT300N-V2
65 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
66 endef
67 TARGET_DEVICES += gl-mt300n-v2
68
69 define Device/hc5661a
70 DTS := HC5661A
71 IMAGE_SIZE := $(ralink_default_fw_size_16M)
72 DEVICE_TITLE := HiWiFi HC5661A
73 endef
74 TARGET_DEVICES += hc5661a
75
76 define Device/hiwifi_hc5861b
77 DTS := HC5861B
78 IMAGE_SIZE := 15808k
79 DEVICE_TITLE := HiWiFi HC5861B
80 DEVICE_PACKAGES := kmod-mt76x2
81 endef
82 TARGET_DEVICES += hiwifi_hc5861b
83
84 define Device/LinkIt7688
85 DTS := LINKIT7688
86 IMAGE_SIZE := $(ralink_default_fw_size_32M)
87 SUPPORTED_DEVICES := linkits7688 linkits7688d
88 DEVICE_TITLE := MediaTek LinkIt Smart 7688
89 DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci uboot-envtools
90 endef
91 TARGET_DEVICES += LinkIt7688
92
93 define Device/mac1200r-v2
94 DTS := MAC1200RV2
95 DEVICE_TITLE := Mercury MAC1200R v2.0
96 SUPPORTED_DEVICES := mac1200rv2
97 DEVICE_PACKAGES := kmod-mt76x2
98 endef
99 TARGET_DEVICES += mac1200r-v2
100
101 define Device/miwifi-nano
102 DTS := MIWIFI-NANO
103 IMAGE_SIZE := $(ralink_default_fw_size_16M)
104 DEVICE_TITLE := Xiaomi MiWiFi Nano
105 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
106 endef
107 TARGET_DEVICES += miwifi-nano
108
109 define Device/mt7628
110 DTS := MT7628
111 BLOCKSIZE := 64k
112 IMAGE_SIZE := $(ralink_default_fw_size_4M)
113 DEVICE_TITLE := MediaTek MT7628 EVB
114 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
115 endef
116 TARGET_DEVICES += mt7628
117
118 define Device/netgear_r6120
119 DTS := R6120
120 BLOCKSIZE := 64k
121 IMAGE_SIZE := $(ralink_default_fw_size_16M)
122 DEVICE_TITLE := Netgear AC1200 R6120
123 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
124 SERCOMM_HWID := CGQ
125 SERCOMM_HWVER := A001
126 SERCOMM_SWVER := 0x0040
127 IMAGES += factory.img
128 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE)| append-rootfs | pad-rootfs
129 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
130 IMAGE/factory.img := pad-extra 576k | $$(IMAGE/default) | \
131 sercom-footer | pad-to 128 | zip R6120.bin | sercom-seal
132 endef
133 TARGET_DEVICES += netgear_r6120
134
135 define Device/omega2
136 DTS := OMEGA2
137 IMAGE_SIZE := $(ralink_default_fw_size_16M)
138 DEVICE_TITLE := Onion Omega2
139 DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci uboot-envtools
140 endef
141 TARGET_DEVICES += omega2
142
143 define Device/omega2p
144 DTS := OMEGA2P
145 IMAGE_SIZE := $(ralink_default_fw_size_32M)
146 DEVICE_TITLE := Onion Omega2+
147 DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci uboot-envtools kmod-sdhci-mt7620
148 endef
149 TARGET_DEVICES += omega2p
150
151 define Device/pbr-d1
152 DTS := PBR-D1
153 IMAGE_SIZE := $(ralink_default_fw_size_16M)
154 DEVICE_TITLE := PBR-D1
155 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
156 endef
157 TARGET_DEVICES += pbr-d1
158
159 define Device/skylab_skw92a
160 DTS := SKW92A
161 IMAGE_SIZE := 16064k
162 DEVICE_TITLE := Skylab SKW92A
163 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
164 endef
165 TARGET_DEVICES += skylab_skw92a
166
167 define Device/tplink_tl-wa801nd-v5
168 $(Device/tplink)
169 DTS := TL-WA801NDV5
170 IMAGE_SIZE := 7808k
171 DEVICE_TITLE := TP-Link TL-WA801ND v5
172 TPLINK_FLASHLAYOUT := 8Mmtk
173 TPLINK_HWID := 0x08010005
174 TPLINK_HWREV := 0x1
175 TPLINK_HWREVADD := 0x5
176 TPLINK_HVERSION := 3
177 endef
178 TARGET_DEVICES += tplink_tl-wa801nd-v5
179
180 define Device/tl-wr840n-v4
181 $(Device/tplink)
182 DTS := TL-WR840NV4
183 IMAGE_SIZE := 7808k
184 DEVICE_TITLE := TP-Link TL-WR840N v4
185 TPLINK_FLASHLAYOUT := 8Mmtk
186 TPLINK_HWID := 0x08400004
187 TPLINK_HWREV := 0x1
188 TPLINK_HWREVADD := 0x4
189 TPLINK_HVERSION := 3
190 endef
191 TARGET_DEVICES += tl-wr840n-v4
192
193 define Device/tl-wr840n-v5
194 DTS := TL-WR840NV5
195 IMAGE_SIZE := 3904k
196 DEVICE_TITLE := TP-Link TL-WR840N v5
197 TPLINK_FLASHLAYOUT := 4Mmtk
198 TPLINK_HWID := 0x08400005
199 TPLINK_HWREV := 0x1
200 TPLINK_HWREVADD := 0x5
201 TPLINK_HVERSION := 3
202 KERNEL := $(KERNEL_DTB)
203 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e
204 IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \
205 check-size $$$$(IMAGE_SIZE)
206 endef
207 TARGET_DEVICES += tl-wr840n-v5
208
209 define Device/tl-wr841n-v13
210 $(Device/tplink)
211 DTS := TL-WR841NV13
212 IMAGE_SIZE := 7808k
213 DEVICE_TITLE := TP-Link TL-WR841N v13
214 TPLINK_FLASHLAYOUT := 8Mmtk
215 TPLINK_HWID := 0x08410013
216 TPLINK_HWREV := 0x268
217 TPLINK_HWREVADD := 0x13
218 TPLINK_HVERSION := 3
219 endef
220 TARGET_DEVICES += tl-wr841n-v13
221
222 define Device/tplink_c20-v4
223 $(Device/tplink)
224 DTS := ArcherC20v4
225 IMAGE_SIZE := 7808k
226 DEVICE_TITLE := TP-Link ArcherC20 v4
227 TPLINK_FLASHLAYOUT := 8Mmtk
228 TPLINK_HWID := 0xc200004
229 TPLINK_HWREV := 0x1
230 TPLINK_HWREVADD := 0x4
231 TPLINK_HVERSION := 3
232 DEVICE_PACKAGES := kmod-mt76x0e
233 endef
234 TARGET_DEVICES += tplink_c20-v4
235
236 define Device/tplink_c50-v3
237 $(Device/tplink)
238 DTS := ArcherC50V3
239 IMAGE_SIZE := 7808k
240 DEVICE_TITLE := TP-Link ArcherC50 v3
241 TPLINK_FLASHLAYOUT := 8Mmtk
242 TPLINK_HWID := 0x001D9BA4
243 TPLINK_HWREV := 0x79
244 TPLINK_HWREVADD := 0x1
245 TPLINK_HVERSION := 3
246 DEVICE_PACKAGES := kmod-mt76x2
247 endef
248 TARGET_DEVICES += tplink_c50-v3
249
250 define Device/tplink_tl-mr3020-v3
251 $(Device/tplink)
252 DTS := TL-MR3020V3
253 IMAGE_SIZE := 7808k
254 DEVICE_TITLE := TP-Link TL-MR3020 v3
255 TPLINK_FLASHLAYOUT := 8Mmtk
256 TPLINK_HWID := 0x30200003
257 TPLINK_HWREV := 0x3
258 TPLINK_HWREVADD := 0x3
259 TPLINK_HVERSION := 3
260 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
261 endef
262 TARGET_DEVICES += tplink_tl-mr3020-v3
263
264 define Device/tplink_tl-mr3420-v5
265 $(Device/tplink)
266 DTS := TL-MR3420V5
267 IMAGE_SIZE := 7808k
268 DEVICE_TITLE := TP-Link TL-MR3420 v5
269 TPLINK_FLASHLAYOUT := 8Mmtk
270 TPLINK_HWID := 0x34200005
271 TPLINK_HWREV := 0x5
272 TPLINK_HWREVADD := 0x5
273 TPLINK_HVERSION := 3
274 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
275 endef
276 TARGET_DEVICES += tplink_tl-mr3420-v5
277
278 define Device/tplink_tl-wr842n-v5
279 $(Device/tplink)
280 DTS := TL-WR842NV5
281 IMAGE_SIZE := 7808k
282 DEVICE_TITLE := TP-Link TL-WR842N v5
283 TPLINK_FLASHLAYOUT := 8Mmtk
284 TPLINK_HWID := 0x08420005
285 TPLINK_HWREV := 0x5
286 TPLINK_HWREVADD := 0x5
287 TPLINK_HVERSION := 3
288 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
289 endef
290 TARGET_DEVICES += tplink_tl-wr842n-v5
291
292 define Device/tplink_tl-wr902ac-v3
293 $(Device/tplink)
294 DTS := TL-WR902ACV3
295 IMAGE_SIZE := 7808k
296 DEVICE_TITLE := TP-Link TL-WR902AC v3
297 TPLINK_FLASHLAYOUT := 8Mmtk
298 TPLINK_HWID := 0x000dc88f
299 TPLINK_HWREV := 0x89
300 TPLINK_HWREVADD := 0x1
301 TPLINK_HVERSION := 3
302 DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
303 endef
304 TARGET_DEVICES += tplink_tl-wr902ac-v3
305
306 define Device/u7628-01-128M-16M
307 DTS := U7628-01-128M-16M
308 IMAGE_SIZE := 16064k
309 DEVICE_TITLE := UniElec U7628-01 (128M RAM/16M flash)
310 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
311 endef
312 TARGET_DEVICES += u7628-01-128M-16M
313
314 define Device/vocore2
315 DTS := VOCORE2
316 IMAGE_SIZE := $(ralink_default_fw_size_16M)
317 DEVICE_TITLE := VoCore VoCore2
318 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport \
319 kmod-sdhci-mt7620
320 endef
321 TARGET_DEVICES += vocore2
322
323 define Device/vocore2lite
324 DTS := VOCORE2LITE
325 IMAGE_SIZE := $(ralink_default_fw_size_16M)
326 DEVICE_TITLE := VoCore VoCore2-Lite
327 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport \
328 kmod-sdhci-mt7620
329 endef
330 TARGET_DEVICES += vocore2lite
331
332 define Device/wavlink_wl-wn570ha1
333 DTS := WL-WN570HA1
334 IMAGE_SIZE := $(ralink_default_fw_size_8M)
335 DEVICE_TITLE := Wavlink WL-WN570HA1
336 DEVICE_PACKAGES := kmod-mt76x0e
337 endef
338 TARGET_DEVICES += wavlink_wl-wn570ha1
339
340 define Device/wcr-1166ds
341 DTS := WCR-1166DS
342 BUFFALO_TAG_PLATFORM := MTK
343 BUFFALO_TAG_VERSION := 9.99
344 BUFFALO_TAG_MINOR := 9.99
345 IMAGES += factory.bin
346 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
347 IMAGE/factory.bin := \
348 trx -M 0x746f435c | pad-rootfs | append-metadata | \
349 buffalo-enc WCR-1166DS $$(BUFFALO_TAG_VERSION) -l | \
350 buffalo-tag-dhp WCR-1166DS JP JP | buffalo-enc-tag -l | \
351 buffalo-dhp-image
352 DEVICE_TITLE := Buffalo WCR-1166DS
353 DEVICE_PACKAGES := kmod-mt76x2
354 endef
355 TARGET_DEVICES += wcr-1166ds
356
357 define Device/wl-wn575a3
358 DTS := WL-WN575A3
359 IMAGE_SIZE := $(ralink_default_fw_size_8M)
360 DEVICE_TITLE := Wavlink WL-WN575A3
361 DEVICE_PACKAGES := kmod-mt76x2
362 endef
363 TARGET_DEVICES += wl-wn575a3
364
365 define Device/widora_neo-16m
366 DTS := WIDORA-NEO-16M
367 IMAGE_SIZE := $(ralink_default_fw_size_16M)
368 DEVICE_TITLE := Widora-NEO (16M)
369 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
370 SUPPORTED_DEVICES += widora-neo
371 endef
372 TARGET_DEVICES += widora_neo-16m
373
374 define Device/widora_neo-32m
375 DTS := WIDORA-NEO-32M
376 IMAGE_SIZE := $(ralink_default_fw_size_32M)
377 DEVICE_TITLE := Widora-NEO (32M)
378 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
379 endef
380 TARGET_DEVICES += widora_neo-32m
381
382 define Device/wrtnode2p
383 DTS := WRTNODE2P
384 IMAGE_SIZE := $(ralink_default_fw_size_16M)
385 DEVICE_TITLE := WRTnode 2P
386 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
387 endef
388 TARGET_DEVICES += wrtnode2p
389
390 define Device/wrtnode2r
391 DTS := WRTNODE2R
392 IMAGE_SIZE := $(ralink_default_fw_size_16M)
393 DEVICE_TITLE := WRTnode 2R
394 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
395 endef
396 TARGET_DEVICES += wrtnode2r
397
398 define Device/zbtlink_zbt-we1226
399 DTS := ZBT-WE1226
400 IMAGE_SIZE := $(ralink_default_fw_size_8M)
401 DEVICE_TITLE := ZBTlink ZBT-WE1226
402 endef
403 TARGET_DEVICES += zbtlink_zbt-we1226
404
405 define Device/zyxel_keenetic-extra-ii
406 DTS := ki_rb
407 IMAGE_SIZE := 14912k
408 BLOCKSIZE := 64k
409 DEVICE_TITLE := ZyXEL Keenetic Extra II
410 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
411 IMAGES += factory.bin
412 IMAGE/factory.bin := $$(sysupgrade_bin) | pad-to $$$$(BLOCKSIZE) | \
413 check-size $$$$(IMAGE_SIZE) | zyimage -d 6162 -v "ZyXEL Keenetic Extra II"
414 endef
415 TARGET_DEVICES += zyxel_keenetic-extra-ii