ath79: add WWAN serial driver and qmi for GL.iNET GL-E750 (Mudi)
[openwrt/staging/svanheule.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 endef
316 TARGET_DEVICES += meraki_mr18
317
318 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + '\0')
319 define Device/netgear_ath79_nand
320 DEVICE_VENDOR := NETGEAR
321 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
322 KERNEL_SIZE := 4096k
323 BLOCKSIZE := 128k
324 PAGESIZE := 2048
325 IMAGE_SIZE := 25600k
326 KERNEL := kernel-bin | append-dtb | lzma | \
327 pad-offset $$(BLOCKSIZE) 129 | uImage lzma | pad-extra 1 | \
328 append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC)
329 IMAGES := sysupgrade.bin factory.img
330 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
331 append-ubi | check-size | netgear-dni
332 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
333 UBINIZE_OPTS := -E 5
334 endef
335
336 define Device/netgear_pgzng1
337 SOC := ar9344
338 DEVICE_MODEL := PGZNG1
339 DEVICE_VENDOR := NETGEAR
340 DEVICE_ALT0_MODEL := Pulse Gateway
341 DEVICE_ALT0_VENDOR := ADT
342 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-i2c-gpio \
343 kmod-leds-pca955x kmod-rtc-isl1208 kmod-spi-dev
344 KERNEL_SIZE := 5120k
345 IMAGE_SIZE := 83968k
346 PAGESIZE := 2048
347 BLOCKSIZE := 128k
348 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
349 endef
350 TARGET_DEVICES += netgear_pgzng1
351
352 define Device/netgear_r6100
353 SOC := ar9344
354 DEVICE_MODEL := R6100
355 UIMAGE_MAGIC := 0x36303030
356 NETGEAR_BOARD_ID := R6100
357 NETGEAR_HW_ID := 29764434+0+128+128+2x2+2x2
358 $(Device/netgear_ath79_nand)
359 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
360 endef
361 TARGET_DEVICES += netgear_r6100
362
363 define Device/netgear_wndr3700-v4
364 SOC := ar9344
365 DEVICE_MODEL := WNDR3700
366 DEVICE_VARIANT := v4
367 UIMAGE_MAGIC := 0x33373033
368 NETGEAR_BOARD_ID := WNDR3700v4
369 NETGEAR_HW_ID := 29763948+128+128
370 $(Device/netgear_ath79_nand)
371 endef
372 TARGET_DEVICES += netgear_wndr3700-v4
373
374 define Device/netgear_wndr4300
375 SOC := ar9344
376 DEVICE_MODEL := WNDR4300
377 UIMAGE_MAGIC := 0x33373033
378 NETGEAR_BOARD_ID := WNDR4300
379 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
380 $(Device/netgear_ath79_nand)
381 endef
382 TARGET_DEVICES += netgear_wndr4300
383
384 define Device/netgear_wndr4300sw
385 SOC := ar9344
386 DEVICE_MODEL := WNDR4300SW
387 UIMAGE_MAGIC := 0x33373033
388 NETGEAR_BOARD_ID := WNDR4300SW
389 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
390 $(Device/netgear_ath79_nand)
391 endef
392 TARGET_DEVICES += netgear_wndr4300sw
393
394 define Device/netgear_wndr4300tn
395 SOC := ar9344
396 DEVICE_MODEL := WNDR4300TN
397 UIMAGE_MAGIC := 0x33373033
398 NETGEAR_BOARD_ID := WNDR4300TN
399 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
400 $(Device/netgear_ath79_nand)
401 endef
402 TARGET_DEVICES += netgear_wndr4300tn
403
404 define Device/netgear_wndr4300-v2
405 SOC := qca9563
406 DEVICE_COMPAT_VERSION := 1.1
407 DEVICE_COMPAT_MESSAGE := Partition table has been changed to fix the \
408 first reboot issue. Please reflash factory image with nmrp or tftp.
409 DEVICE_MODEL := WNDR4300
410 DEVICE_VARIANT := v2
411 UIMAGE_MAGIC := 0x27051956
412 NETGEAR_BOARD_ID := WNDR4500series
413 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
414 $(Device/netgear_ath79_nand)
415 endef
416 TARGET_DEVICES += netgear_wndr4300-v2
417
418 define Device/netgear_wndr4500-v3
419 SOC := qca9563
420 DEVICE_COMPAT_VERSION := 1.1
421 DEVICE_COMPAT_MESSAGE := Partition table has been changed to fix the \
422 first reboot issue. Please reflash factory image with nmrp or tftp.
423 DEVICE_MODEL := WNDR4500
424 DEVICE_VARIANT := v3
425 UIMAGE_MAGIC := 0x27051956
426 NETGEAR_BOARD_ID := WNDR4500series
427 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
428 $(Device/netgear_ath79_nand)
429 endef
430 TARGET_DEVICES += netgear_wndr4500-v3
431
432 define Device/zte_mf28x_common
433 SOC := qca9563
434 DEVICE_VENDOR := ZTE
435 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct
436 BLOCKSIZE := 128k
437 PAGESIZE := 2048
438 KERNEL_SIZE := 4096k
439 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
440 endef
441
442 define Device/zte_mf281
443 $(Device/zte_mf28x_common)
444 DEVICE_MODEL := MF281
445 KERNEL_SIZE := 6144k
446 IMAGE_SIZE := 29696k
447 IMAGES += factory.bin
448 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
449 check-size
450 DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-rndis \
451 kmod-usb-acm comgt-ncm
452 endef
453 TARGET_DEVICES += zte_mf281
454
455 define Device/zte_mf282
456 $(Device/zte_mf28x_common)
457 DEVICE_MODEL := MF282
458 DEVICE_PACKAGES += ath10k-firmware-qca988x-ct kmod-usb-net-qmi-wwan \
459 kmod-usb-serial-option uqmi
460 endef
461 TARGET_DEVICES += zte_mf282
462
463 define Device/zte_mf286
464 $(Device/zte_mf28x_common)
465 DEVICE_MODEL := MF286
466 DEVICE_PACKAGES += ath10k-firmware-qca988x-ct ath10k-firmware-qca9888-ct \
467 kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi
468 endef
469 TARGET_DEVICES += zte_mf286
470
471 define Device/zte_mf286a
472 $(Device/zte_mf28x_common)
473 DEVICE_MODEL := MF286A
474 DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-qmi-wwan \
475 kmod-usb-serial-option uqmi
476 endef
477 TARGET_DEVICES += zte_mf286a
478
479 define Device/zte_mf286r
480 $(Device/zte_mf28x_common)
481 DEVICE_MODEL := MF286R
482 DEVICE_PACKAGES += ath10k-firmware-qca9888-ct kmod-usb-net-rndis kmod-usb-acm \
483 comgt-ncm
484 endef
485 TARGET_DEVICES += zte_mf286r
486
487 define Device/zyxel_nbg6716
488 SOC := qca9558
489 DEVICE_VENDOR := ZyXEL
490 DEVICE_MODEL := NBG6716
491 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
492 ath10k-firmware-qca988x-ct
493 RAS_BOARD := NBG6716
494 RAS_ROOTFS_SIZE := 29696k
495 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
496 KERNEL_SIZE := 4096k
497 BLOCKSIZE := 128k
498 PAGESIZE := 2048
499 LOADER_TYPE := bin
500 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none | \
501 zyxel-buildkerneljffs | check-size 4096k
502 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
503 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
504 sysupgrade-tar rootfs=$$$$@ | append-metadata
505 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
506 pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
507 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
508 zyxel-factory
509 UBINIZE_OPTS := -E 5
510 endef
511 TARGET_DEVICES += zyxel_nbg6716
512
513 define Device/zyxel_emg2926_q10a
514 $(Device/zyxel_nbg6716)
515 DEVICE_MODEL := EMG2926-Q10A
516 RAS_BOARD := AAVK-EMG2926Q10A
517 endef
518 TARGET_DEVICES += zyxel_emg2926_q10a