ath79: nand: add SUPPORTED_DEVICES for Meraki MR18
[openwrt/staging/mans0n.git] / target / linux / ath79 / image / nand.mk
1 define Build/dongwon-header
2 head -c 4 $@ > $@.tmp
3 head -c 8 /dev/zero >> $@.tmp
4 tail -c +9 $@ >> $@.tmp
5 ( \
6 header_crc="$$(head -c 68 $@.tmp | gzip -c | \
7 tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
8 printf "$$(echo $$header_crc | sed 's/../\\x&/g')" | \
9 dd of=$@.tmp bs=4 count=1 seek=1 conv=notrunc \
10 )
11 mv $@.tmp $@
12 endef
13
14 define Build/meraki-header
15 -$(STAGING_DIR_HOST)/bin/mkmerakifw \
16 -B $(1) -s \
17 -i $@ \
18 -o $@.new
19 @mv $@.new $@
20 endef
21
22 # attention: only zlib compression is allowed for the boot fs
23 define Build/zyxel-buildkerneljffs
24 mkdir -p $@.tmp/boot
25 cp $@ $@.tmp/boot/vmlinux.lzma.uImage
26 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
27 --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
28 -o $@ \
29 -d $@.tmp
30 rm -rf $@.tmp
31 endef
32
33 define Build/zyxel-factory
34 let \
35 maxsize="$(call exp_units,$(RAS_ROOTFS_SIZE))"; \
36 let size="$$(stat -c%s $@)"; \
37 if [ $$size -lt $$maxsize ]; then \
38 $(STAGING_DIR_HOST)/bin/mkrasimage \
39 -b $(RAS_BOARD) \
40 -v $(RAS_VERSION) \
41 -r $@ \
42 -s $$maxsize \
43 -o $@.new \
44 -l 131072 \
45 && mv $@.new $@ ; \
46 fi
47 endef
48
49 define Device/8dev_rambutan
50 SOC := qca9557
51 DEVICE_VENDOR := 8devices
52 DEVICE_MODEL := Rambutan
53 DEVICE_PACKAGES := kmod-usb2
54 BLOCKSIZE := 128k
55 PAGESIZE := 2048
56 KERNEL_SIZE := 4096k
57 KERNEL_IN_UBI := 1
58 IMAGES := factory.bin sysupgrade.tar
59 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
60 IMAGE/factory.bin := append-ubi
61 endef
62 TARGET_DEVICES += 8dev_rambutan
63
64 define Device/aerohive_hiveap-121
65 SOC := ar9344
66 DEVICE_VENDOR := Aerohive
67 DEVICE_MODEL := HiveAP 121
68 DEVICE_PACKAGES := kmod-usb2
69 BLOCKSIZE := 128k
70 PAGESIZE := 2048
71 IMAGE_SIZE := 116m
72 KERNEL_SIZE := 5120k
73 UBINIZE_OPTS := -E 5
74 SUPPORTED_DEVICES += hiveap-121
75 IMAGES += factory.bin
76 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
77 check-size
78 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
79 endef
80 TARGET_DEVICES += aerohive_hiveap-121
81
82 define Device/domywifi_dw33d
83 SOC := qca9558
84 DEVICE_VENDOR := DomyWifi
85 DEVICE_MODEL := DW33D
86 DEVICE_PACKAGES := kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport \
87 kmod-ath10k-ct ath10k-firmware-qca988x-ct
88 KERNEL_SIZE := 5120k
89 IMAGE_SIZE := 98304k
90 BLOCKSIZE := 128k
91 PAGESIZE := 2048
92 UBINIZE_OPTS := -E 5
93 IMAGES += factory.bin
94 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
95 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
96 check-size
97 endef
98 TARGET_DEVICES += domywifi_dw33d
99
100 define Device/dongwon_dw02-412h
101 SOC := qca9557
102 DEVICE_VENDOR := Dongwon T&I
103 DEVICE_MODEL := DW02-412H
104 DEVICE_ALT0_VENDOR := KT
105 DEVICE_ALT0_MODEL := GiGA WiFi home
106 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
107 KERNEL_SIZE := 8192k
108 BLOCKSIZE := 128k
109 PAGESIZE := 2048
110 KERNEL := $$(KERNEL) | dongwon-header
111 KERNEL_INITRAMFS := $$(KERNEL)
112 UBINIZE_OPTS := -E 5
113 IMAGES += factory.img
114 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
115 check-size
116 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
117 endef
118
119 define Device/dongwon_dw02-412h-64m
120 $(Device/dongwon_dw02-412h)
121 DEVICE_VARIANT := (64M)
122 DEVICE_ALT0_VARIANT := (64M)
123 IMAGE_SIZE := 49152k
124 endef
125 TARGET_DEVICES += dongwon_dw02-412h-64m
126
127 define Device/dongwon_dw02-412h-128m
128 $(Device/dongwon_dw02-412h)
129 DEVICE_VARIANT := (128M)
130 DEVICE_ALT0_VARIANT := (128M)
131 IMAGE_SIZE := 114688k
132 endef
133 TARGET_DEVICES += dongwon_dw02-412h-128m
134
135 define Device/glinet_gl-ar300m-common-nand
136 SOC := qca9531
137 DEVICE_VENDOR := GL.iNet
138 DEVICE_MODEL := GL-AR300M
139 DEVICE_PACKAGES := kmod-usb2
140 KERNEL_SIZE := 4096k
141 IMAGE_SIZE := 16000k
142 PAGESIZE := 2048
143 VID_HDR_OFFSET := 2048
144 endef
145
146 define Device/glinet_gl-ar300m-nand
147 $(Device/glinet_gl-ar300m-common-nand)
148 DEVICE_VARIANT := NAND
149 BLOCKSIZE := 128k
150 IMAGES += factory.img
151 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
152 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
153 SUPPORTED_DEVICES += glinet,gl-ar300m-nor
154 endef
155 TARGET_DEVICES += glinet_gl-ar300m-nand
156
157 define Device/glinet_gl-ar300m-nor
158 $(Device/glinet_gl-ar300m-common-nand)
159 DEVICE_VARIANT := NOR
160 SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
161 endef
162 TARGET_DEVICES += glinet_gl-ar300m-nor
163
164 define Device/glinet_gl-ar750s-common
165 SOC := qca9563
166 DEVICE_VENDOR := GL.iNet
167 DEVICE_MODEL := GL-AR750S
168 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
169 kmod-usb-storage block-mount
170 IMAGE_SIZE := 16000k
171 endef
172
173 define Device/glinet_gl-ar750s-nor-nand
174 $(Device/glinet_gl-ar750s-common)
175 DEVICE_VARIANT := NOR/NAND
176 KERNEL_SIZE := 4096k
177 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
178 SUPPORTED_DEVICES += glinet,gl-ar750s-nor
179 endef
180 TARGET_DEVICES += glinet_gl-ar750s-nor-nand
181
182 define Device/glinet_gl-ar750s-nor
183 $(Device/glinet_gl-ar750s-common)
184 DEVICE_VARIANT := NOR
185 SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
186 endef
187 TARGET_DEVICES += glinet_gl-ar750s-nor
188
189 define Device/glinet_gl-e750
190 SOC := qca9531
191 DEVICE_VENDOR := GL.iNet
192 DEVICE_MODEL := GL-E750
193 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
194 kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
195 SUPPORTED_DEVICES += gl-e750
196 KERNEL_SIZE := 4096k
197 IMAGE_SIZE := 131072k
198 PAGESIZE := 2048
199 VID_HDR_OFFSET := 2048
200 BLOCKSIZE := 128k
201 IMAGES += factory.img
202 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
203 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
204 endef
205 TARGET_DEVICES += glinet_gl-e750
206
207 define Device/glinet_gl-s200-common
208 SOC := qca9531
209 DEVICE_VENDOR := GL.iNet
210 DEVICE_MODEL := GL-S200
211 DEVICE_PACKAGES := kmod-usb2 kmod-usb-serial-ch341
212 SUPPORTED_DEVICES += gl-s200 glinet,gl-s200
213 endef
214
215 define Device/glinet_gl-s200-nor
216 $(Device/glinet_gl-s200-common)
217 DEVICE_VARIANT := NOR
218 IMAGE_SIZE := 16000k
219 endef
220 TARGET_DEVICES += glinet_gl-s200-nor
221
222 define Device/glinet_gl-s200-nor-nand
223 $(Device/glinet_gl-s200-common)
224 DEVICE_VARIANT := NOR/NAND
225 KERNEL_SIZE := 4096k
226 BLOCKSIZE := 128k
227 PAGESIZE := 2048
228 VID_HDR_OFFSET := 2048
229 IMAGES += factory.img
230 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
231 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
232 SUPPORTED_DEVICES += gl-s200 glinet,gl-s200
233 endef
234 TARGET_DEVICES += glinet_gl-s200-nor-nand
235
236 define Device/glinet_gl-xe300
237 SOC := qca9531
238 DEVICE_VENDOR := GL.iNet
239 DEVICE_MODEL := GL-XE300
240 DEVICE_PACKAGES := kmod-usb2 block-mount kmod-usb-serial-ch341 \
241 kmod-usb-serial-option kmod-usb-net-qmi-wwan uqmi
242 KERNEL_SIZE := 4096k
243 IMAGE_SIZE := 131072k
244 PAGESIZE := 2048
245 VID_HDR_OFFSET := 2048
246 BLOCKSIZE := 128k
247 IMAGES += factory.img
248 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
249 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
250 endef
251 TARGET_DEVICES += glinet_gl-xe300
252
253 define Device/glinet_gl-x1200-common
254 SOC := qca9563
255 DEVICE_VENDOR := GL.iNet
256 DEVICE_MODEL := GL-X1200
257 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct-htt kmod-usb2 \
258 kmod-usb-storage block-mount kmod-usb-net-qmi-wwan uqmi
259 IMAGE_SIZE := 16000k
260 endef
261
262 define Device/glinet_gl-x1200-nor-nand
263 $(Device/glinet_gl-x1200-common)
264 DEVICE_VARIANT := NOR/NAND
265 KERNEL_SIZE := 4096k
266 IMAGE_SIZE := 131072k
267 PAGESIZE := 2048
268 VID_HDR_OFFSET := 2048
269 BLOCKSIZE := 128k
270 IMAGES += factory.img
271 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
272 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
273 endef
274 TARGET_DEVICES += glinet_gl-x1200-nor-nand
275
276 define Device/glinet_gl-x1200-nor
277 $(Device/glinet_gl-x1200-common)
278 DEVICE_VARIANT := NOR
279 endef
280 TARGET_DEVICES += glinet_gl-x1200-nor
281
282 define Device/linksys_ea4500-v3
283 SOC := qca9558
284 DEVICE_VENDOR := Linksys
285 DEVICE_MODEL := EA4500
286 DEVICE_VARIANT := v3
287 DEVICE_PACKAGES := kmod-usb2
288 BLOCKSIZE := 128k
289 PAGESIZE := 2048
290 KERNEL_SIZE := 4096k
291 IMAGE_SIZE := 81920k
292 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
293 LINKSYS_HWNAME := EA4500V3
294 IMAGES += factory.img
295 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
296 append-ubi | check-size | linksys-image type=$$$$(LINKSYS_HWNAME)
297 UBINIZE_OPTS := -E 5
298 endef
299 TARGET_DEVICES += linksys_ea4500-v3
300
301 define Device/meraki_mr18
302 SOC := qca9557
303 DEVICE_VENDOR := Meraki
304 DEVICE_MODEL := MR18
305 DEVICE_PACKAGES := kmod-leds-uleds kmod-spi-gpio nu801
306 KERNEL_SIZE := 8m
307 BLOCKSIZE := 128k
308 PAGESIZE := 2048
309 LOADER_TYPE := bin
310 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | meraki-header MR18
311 # Initramfs-build fails due to size issues
312 # KERNEL_INITRAMFS := $$(KERNEL)
313 KERNEL_INITRAMFS :=
314 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
315 SUPPORTED_DEVICES += mr18
316 endef
317 TARGET_DEVICES += meraki_mr18
318
319 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + '\0')
320 define Device/netgear_ath79_nand
321 DEVICE_VENDOR := NETGEAR
322 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
323 KERNEL_SIZE := 4096k
324 BLOCKSIZE := 128k
325 PAGESIZE := 2048
326 IMAGE_SIZE := 25600k
327 KERNEL := kernel-bin | append-dtb | lzma | \
328 pad-offset $$(BLOCKSIZE) 129 | uImage lzma | pad-extra 1 | \
329 append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC)
330 IMAGES := sysupgrade.bin factory.img
331 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
332 append-ubi | check-size | netgear-dni
333 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
334 UBINIZE_OPTS := -E 5
335 endef
336
337 define Device/netgear_pgzng1
338 SOC := ar9344
339 DEVICE_MODEL := PGZNG1
340 DEVICE_VENDOR := NETGEAR
341 DEVICE_ALT0_MODEL := Pulse Gateway
342 DEVICE_ALT0_VENDOR := ADT
343 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-i2c-gpio \
344 kmod-leds-pca955x kmod-rtc-isl1208 kmod-spi-dev
345 KERNEL_SIZE := 5120k
346 IMAGE_SIZE := 83968k
347 PAGESIZE := 2048
348 BLOCKSIZE := 128k
349 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
350 endef
351 TARGET_DEVICES += netgear_pgzng1
352
353 define Device/netgear_r6100
354 SOC := ar9344
355 DEVICE_MODEL := R6100
356 UIMAGE_MAGIC := 0x36303030
357 NETGEAR_BOARD_ID := R6100
358 NETGEAR_HW_ID := 29764434+0+128+128+2x2+2x2
359 $(Device/netgear_ath79_nand)
360 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
361 endef
362 TARGET_DEVICES += netgear_r6100
363
364 define Device/netgear_wndr3700-v4
365 SOC := ar9344
366 DEVICE_MODEL := WNDR3700
367 DEVICE_VARIANT := v4
368 UIMAGE_MAGIC := 0x33373033
369 NETGEAR_BOARD_ID := WNDR3700v4
370 NETGEAR_HW_ID := 29763948+128+128
371 $(Device/netgear_ath79_nand)
372 endef
373 TARGET_DEVICES += netgear_wndr3700-v4
374
375 define Device/netgear_wndr4300
376 SOC := ar9344
377 DEVICE_MODEL := WNDR4300
378 UIMAGE_MAGIC := 0x33373033
379 NETGEAR_BOARD_ID := WNDR4300
380 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
381 $(Device/netgear_ath79_nand)
382 endef
383 TARGET_DEVICES += netgear_wndr4300
384
385 define Device/netgear_wndr4300sw
386 SOC := ar9344
387 DEVICE_MODEL := WNDR4300SW
388 UIMAGE_MAGIC := 0x33373033
389 NETGEAR_BOARD_ID := WNDR4300SW
390 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
391 $(Device/netgear_ath79_nand)
392 endef
393 TARGET_DEVICES += netgear_wndr4300sw
394
395 define Device/netgear_wndr4300tn
396 SOC := ar9344
397 DEVICE_MODEL := WNDR4300TN
398 UIMAGE_MAGIC := 0x33373033
399 NETGEAR_BOARD_ID := WNDR4300TN
400 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
401 $(Device/netgear_ath79_nand)
402 endef
403 TARGET_DEVICES += netgear_wndr4300tn
404
405 define Device/netgear_wndr4300-v2
406 SOC := qca9563
407 DEVICE_COMPAT_VERSION := 1.1
408 DEVICE_COMPAT_MESSAGE := Partition table has been changed to fix the \
409 first reboot issue. Please reflash factory image with nmrp or tftp.
410 DEVICE_MODEL := WNDR4300
411 DEVICE_VARIANT := v2
412 UIMAGE_MAGIC := 0x27051956
413 NETGEAR_BOARD_ID := WNDR4500series
414 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
415 $(Device/netgear_ath79_nand)
416 endef
417 TARGET_DEVICES += netgear_wndr4300-v2
418
419 define Device/netgear_wndr4500-v3
420 SOC := qca9563
421 DEVICE_COMPAT_VERSION := 1.1
422 DEVICE_COMPAT_MESSAGE := Partition table has been changed to fix the \
423 first reboot issue. Please reflash factory image with nmrp or tftp.
424 DEVICE_MODEL := WNDR4500
425 DEVICE_VARIANT := v3
426 UIMAGE_MAGIC := 0x27051956
427 NETGEAR_BOARD_ID := WNDR4500series
428 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
429 $(Device/netgear_ath79_nand)
430 endef
431 TARGET_DEVICES += netgear_wndr4500-v3
432
433 define Device/zte_mf28x_common
434 SOC := qca9563
435 DEVICE_VENDOR := ZTE
436 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct
437 BLOCKSIZE := 128k
438 PAGESIZE := 2048
439 KERNEL_SIZE := 4096k
440 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
441 endef
442
443 define Device/zte_mf281
444 $(Device/zte_mf28x_common)
445 DEVICE_MODEL := MF281
446 KERNEL_SIZE := 6144k
447 IMAGE_SIZE := 29696k
448 IMAGES += factory.bin
449 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
450 check-size
451 DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-rndis \
452 kmod-usb-acm comgt-ncm
453 endef
454 TARGET_DEVICES += zte_mf281
455
456 define Device/zte_mf282
457 $(Device/zte_mf28x_common)
458 DEVICE_MODEL := MF282
459 DEVICE_PACKAGES += ath10k-firmware-qca988x-ct kmod-usb-net-qmi-wwan \
460 kmod-usb-serial-option uqmi
461 endef
462 TARGET_DEVICES += zte_mf282
463
464 define Device/zte_mf286
465 $(Device/zte_mf28x_common)
466 DEVICE_MODEL := MF286
467 DEVICE_PACKAGES += ath10k-firmware-qca988x-ct ath10k-firmware-qca9888-ct \
468 kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
469 endef
470 TARGET_DEVICES += zte_mf286
471
472 define Device/zte_mf286a
473 $(Device/zte_mf28x_common)
474 DEVICE_MODEL := MF286A
475 DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-qmi-wwan \
476 kmod-usb-serial-option uqmi
477 endef
478 TARGET_DEVICES += zte_mf286a
479
480 define Device/zte_mf286r
481 $(Device/zte_mf28x_common)
482 DEVICE_MODEL := MF286R
483 DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-rndis kmod-usb-acm \
484 comgt-ncm
485 endef
486 TARGET_DEVICES += zte_mf286r
487
488 define Device/zyxel_nbg6716
489 SOC := qca9558
490 DEVICE_VENDOR := ZyXEL
491 DEVICE_MODEL := NBG6716
492 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
493 ath10k-firmware-qca988x-ct
494 RAS_BOARD := NBG6716
495 RAS_ROOTFS_SIZE := 29696k
496 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
497 KERNEL_SIZE := 4096k
498 BLOCKSIZE := 128k
499 PAGESIZE := 2048
500 LOADER_TYPE := bin
501 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none | \
502 zyxel-buildkerneljffs | check-size 4096k
503 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
504 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
505 sysupgrade-tar rootfs=$$$$@ | append-metadata
506 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
507 pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
508 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
509 zyxel-factory
510 UBINIZE_OPTS := -E 5
511 endef
512 TARGET_DEVICES += zyxel_nbg6716
513
514 define Device/zyxel_emg2926_q10a
515 $(Device/zyxel_nbg6716)
516 DEVICE_MODEL := EMG2926-Q10A
517 RAS_BOARD := AAVK-EMG2926Q10A
518 endef
519 TARGET_DEVICES += zyxel_emg2926_q10a