ath79: add support for Dongwon T&I DW02-412H
[openwrt/staging/dedeckeh.git] / target / linux / ath79 / image / nand.mk
index 8d3d2ce5b286ce7ff053ad633323114fa65f295e..b34e796ac385c785839fb6826fe3c6f6e5230881 100644 (file)
@@ -1,3 +1,16 @@
+define Build/dw-headers
+       head -c 4 $@ >> $@.tmp && \
+       head -c 8 /dev/zero >> $@.tmp && \
+       tail -c +9 $@ >> $@.tmp && \
+       ( \
+               header_crc="$$(head -c 68 $@.tmp | gzip -c | \
+                       tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
+               printf "$$(echo $$header_crc | sed 's/../\\x&/g')" | \
+                       dd of=$@.tmp bs=4 count=1 seek=1 conv=notrunc \
+       )
+       mv $@.tmp $@
+endef
+
 # attention: only zlib compression is allowed for the boot fs
 define Build/zyxel-buildkerneljffs
        mkdir -p $@.tmp/boot
@@ -76,6 +89,41 @@ define Device/domywifi_dw33d
 endef
 TARGET_DEVICES += domywifi_dw33d
 
+define Device/dongwon_dw02-412h
+  SOC := qca9557
+  DEVICE_VENDOR := Dongwon T&I
+  DEVICE_MODEL := DW02-412H
+  DEVICE_ALT0_VENDOR := KT
+  DEVICE_ALT0_MODEL := GiGA WiFi home
+  DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
+  KERNEL_SIZE := 8192k
+  BLOCKSIZE := 128k
+  PAGESIZE := 2048
+  KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
+  KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
+  UBINIZE_OPTS := -E 5
+  IMAGES += factory.img
+  IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
+       check-size
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+
+define Device/dongwon_dw02-412h-64m
+  $(Device/dongwon_dw02-412h)
+  DEVICE_VARIANT := (64M)
+  DEVICE_ALT0_VARIANT := (64M)
+  IMAGE_SIZE := 49152k
+endef
+TARGET_DEVICES += dongwon_dw02-412h-64m
+
+define Device/dongwon_dw02-412h-128m
+  $(Device/dongwon_dw02-412h)
+  DEVICE_VARIANT := (128M)
+  DEVICE_ALT0_VARIANT := (128M)
+  IMAGE_SIZE := 114688k
+endef
+TARGET_DEVICES += dongwon_dw02-412h-128m
+
 define Device/glinet_gl-ar300m-common-nand
   SOC := qca9531
   DEVICE_VENDOR := GL.iNet