ramips: move common tplink image build code into own recipe
[openwrt/openwrt.git] / target / linux / ramips / image / mt76x8.mk
index f4b3171a0b24ebc4ee1479c7fbc8ee8818fb04e0..e11a89bb555fa1a0aaa4d85dd66894838b6ca25d 100644 (file)
@@ -2,7 +2,22 @@
 # MT76x8 Profiles
 #
 
-DEVICE_VARS += TPLINK_BOARD_ID
+define Device/tplink
+  TPLINK_FLASHLAYOUT :=
+  TPLINK_HWID :=
+  TPLINK_HWREV :=
+  TPLINK_HWREVADD :=
+  TPLINK_HVERSION :=
+  KERNEL := $(KERNEL_DTB)
+  KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e
+  IMAGES += tftp-recovery.bin
+  IMAGE/factory.bin := tplink-v2-image -e
+  IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin)
+  IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \
+       check-size $$$$(IMAGE_SIZE)
+endef
+DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD TPLINK_HVERSION
+
 
 define Device/duzun-dm06
   DTS := DUZUN-DM06
@@ -64,6 +79,7 @@ define Device/omega2
   DEVICE_TITLE := Onion Omega2
   DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci uboot-envtools
 endef
+TARGET_DEVICES += omega2
 
 define Device/omega2p
   DTS := OMEGA2P
@@ -71,7 +87,7 @@ define Device/omega2p
   DEVICE_TITLE := Onion Omega2+
   DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci uboot-envtools kmod-sdhci-mt7620
 endef
-TARGET_DEVICES += omega2 omega2p
+TARGET_DEVICES += omega2p
 
 define Device/pbr-d1
   DTS := PBR-D1
@@ -82,25 +98,54 @@ endef
 TARGET_DEVICES += pbr-d1
 
 define Device/tl-wr840n-v4
+  $(Device/tplink)
   DTS := TL-WR840NV4
   IMAGE_SIZE := 7808k
   DEVICE_TITLE := TP-Link TL-WR840N v4
-  TPLINK_BOARD_ID := TL-WR840NV4
+  TPLINK_FLASHLAYOUT := 8Mmtk
+  TPLINK_HWID := 0x08400004
+  TPLINK_HWREV := 0x1
+  TPLINK_HWREVADD := 0x4
+  TPLINK_HVERSION := 3
+endef
+TARGET_DEVICES += tl-wr840n-v4
+
+define Device/tl-wr840n-v5
+  DTS := TL-WR840NV5
+  IMAGE_SIZE := 3840k
+  DEVICE_TITLE := TP-Link TL-WR840N v5
+  TPLINK_FLASHLAYOUT := 4Mmtk
+  TPLINK_HWID := 0x08400005
+  TPLINK_HWREV := 0x1
+  TPLINK_HWREVADD := 0x5
+  TPLINK_HVERSION := 3
   KERNEL := $(KERNEL_DTB)
-  IMAGES += tftp-recovery.bin
-  IMAGE/factory.bin := tplink-v2-image
-  IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin)
-  IMAGE/sysupgrade.bin := tplink-v2-image -s | append-metadata | \
+  KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v2-header -e
+  IMAGE/sysupgrade.bin := tplink-v2-image -s -e | append-metadata | \
        check-size $$$$(IMAGE_SIZE)
 endef
+TARGET_DEVICES += tl-wr840n-v5
 
 define Device/tl-wr841n-v13
-  $(Device/tl-wr840n-v4)
+  $(Device/tplink)
   DTS := TL-WR841NV13
+  IMAGE_SIZE := 7808k
   DEVICE_TITLE := TP-Link TL-WR841N v13
-  TPLINK_BOARD_ID := TL-WR841NV13
+  TPLINK_FLASHLAYOUT := 8Mmtk
+  TPLINK_HWID := 0x08410013
+  TPLINK_HWREV := 0x268
+  TPLINK_HWREVADD := 0x13
+  TPLINK_HVERSION := 3
+endef
+TARGET_DEVICES += tl-wr841n-v13
+
+define Device/u7628-01-128M-16M
+  DTS := U7628-01-128M-16M
+  IMAGE_SIZE := 16064k
+  DEVICE_TITLE := UniElec U7628-01 (128M RAM/16M flash)
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
 endef
-TARGET_DEVICES += tl-wr840n-v4 tl-wr841n-v13
+TARGET_DEVICES += u7628-01-128M-16M
 
 define Device/vocore2
   DTS := VOCORE2
@@ -109,6 +154,7 @@ define Device/vocore2
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport \
     kmod-sdhci-mt7620
 endef
+TARGET_DEVICES += vocore2
 
 define Device/vocore2lite
   DTS := VOCORE2LITE
@@ -117,7 +163,7 @@ define Device/vocore2lite
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport \
     kmod-sdhci-mt7620
 endef
-TARGET_DEVICES += vocore2 vocore2lite
+TARGET_DEVICES += vocore2lite
 
 define Device/wcr-1166ds
   DTS := WCR-1166DS
@@ -156,6 +202,7 @@ define Device/wrtnode2p
   DEVICE_TITLE := WRTnode 2P
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
 endef
+TARGET_DEVICES += wrtnode2p
 
 define Device/wrtnode2r
   DTS := WRTNODE2R
@@ -163,4 +210,4 @@ define Device/wrtnode2r
   DEVICE_TITLE := WRTnode 2R
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
 endef
-TARGET_DEVICES += wrtnode2p wrtnode2r
+TARGET_DEVICES += wrtnode2r