ar71xx: add support for TP-Link TL-WR942N v1
[openwrt/openwrt.git] / target / linux / ar71xx / image / tp-link.mk
index 95bde34383f4ff693e6d361b6e797d028f334262..d9c7982e8c1ed9afdf9c42cf187c5738b7edfb99 100644 (file)
@@ -1,4 +1,18 @@
-DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_BOARD_NAME
+DEVICE_VARS += LOADER_FLASH_OFFS TPLINK_BOARD_NAME TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
+
+define Build/copy-file
+       cat "$(1)" > "$@"
+endef
+
+define Build/loader-okli
+       dd if=$(KDIR)/loader-$(1).gz bs=7680 conv=sync of="$@.new"
+       cat "$@" >> "$@.new"
+       mv "$@.new" "$@"
+endef
+
+define Build/loader-okli-compile
+       $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0 KERNEL_CMDLINE="$(CMDLINE)")
+endef
 
 # combine kernel and rootfs into one image
 # mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
@@ -248,7 +262,7 @@ define Device/tl-wdr4310-v1
   DEVICE_TITLE := TP-LINK TL-WDR4310 v1
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
   BOARDNAME := TL-WDR4300
-  DEVICE_PROFILE = TLWDR4300
+  DEVICE_PROFILE := TLWDR4300
   TPLINK_HWID := 0x43100001
 endef
 
@@ -265,8 +279,8 @@ define Device/tl-wdr6500-v2
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-combined
-  BOARDNAME = TL-WDR6500-v2
-  DEVICE_PROFILE = TLWDR6500V2
+  BOARDNAME := TL-WDR6500-v2
+  DEVICE_PROFILE := TLWDR6500V2
   TPLINK_HWID := 0x65000002
   TPLINK_HEADER_VERSION := 2
 endef
@@ -276,8 +290,8 @@ define Device/tl-wdr3320-v2
   $(Device/tplink-4mlzma)
   DEVICE_TITLE := TP-LINK TL-WDR3320 v2
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
-  BOARDNAME = TL-WDR3320-v2
-  DEVICE_PROFILE = TLWDR3320V2
+  BOARDNAME := TL-WDR3320-v2
+  DEVICE_PROFILE := TLWDR3320V2
   TPLINK_HWID := 0x33200002
   TPLINK_HEADER_VERSION := 2
 endef
@@ -571,7 +585,7 @@ endef
 define Device/tl-wr740n-v6
   $(Device/tplink-4mlzma)
   DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
-  BOARDNAME := TL-WR841N-v9
+  BOARDNAME := TL-WR740N-v6
   DEVICE_PROFILE := TLWR740
   TPLINK_HWID := 0x07400006
 endef
@@ -859,6 +873,21 @@ define Device/tl-wr941nd-v6-cn
 endef
 TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn tl-wr940n-v4
 
+define Device/tl-wr942n-v1
+  DEVICE_TITLE := TP-LINK TL-WR942N v1
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
+  BOARDNAME := TL-WR942N-V1
+  TPLINK_BOARD_NAME := TLWR942NV1
+  DEVICE_PROFILE := TLWR942
+  IMAGE_SIZE := 14464k
+  KERNEL := kernel-bin | patch-cmdline | lzma | uImageArcher lzma
+  IMAGES := sysupgrade.bin factory.bin
+  IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
+  IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
+  MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),13120k(rootfs),64k(product-info)ro,64k(partition-table)ro,256k(oem-config)ro,1344k(oem-vars)ro,64k(ART)ro,14464k@0x20000(firmware)
+endef
+TARGET_DEVICES += tl-wr942n-v1
+
 define Device/tl-wr1041n-v2
   $(Device/tplink-4mlzma)
   DEVICE_TITLE := TP-LINK TL-WR1041N v2
@@ -1081,7 +1110,6 @@ define Device/tl-wa901nd-v4
   TPLINK_HWID := 0x09010004
   IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
 endef
-
 TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
 
 define Device/tl-wa7210n-v2