3ae377f78f157e89acc62f709958c2f6f4593d8d
[openwrt/openwrt.git] / target / linux / ath79 / image / common-tp-link.mk
1 DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION
2 DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HWREVADD TPLINK_HVERSION
3
4 define Build/uImageArcher
5 mkimage -A $(LINUX_KARCH) \
6 -O linux -T kernel -C $(1) -a $(KERNEL_LOADADDR) \
7 -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
8 -n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new
9 @mv $@.new $@
10 endef
11
12 define Device/tplink-v1
13 DEVICE_VENDOR := TP-Link
14 TPLINK_HWID := 0x0
15 TPLINK_HWREV := 0x1
16 TPLINK_HEADER_VERSION := 1
17 LOADER_TYPE := gz
18 KERNEL := kernel-bin | append-dtb | lzma
19 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header
20 IMAGES += factory.bin
21 IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade | append-metadata
22 IMAGE/factory.bin := tplink-v1-image factory
23 endef
24
25 define Device/tplink-v2
26 DEVICE_VENDOR := TP-Link
27 TPLINK_HWID := 0x0
28 TPLINK_HWREV := 0x1
29 TPLINK_HWREVADD := 0x0
30 TPLINK_HVERSION := 3
31 KERNEL := kernel-bin | append-dtb | lzma
32 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v2-header
33 IMAGE/sysupgrade.bin := tplink-v2-image -s | append-metadata | \
34 check-size
35 endef
36
37 define Device/tplink-nolzma
38 $(Device/tplink-v1)
39 LOADER_FLASH_OFFS := 0x22000
40 COMPILE := loader-$(1).gz
41 COMPILE/loader-$(1).gz := loader-okli-compile
42 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
43 loader-okli $(1) 7680
44 KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | tplink-v1-header
45 endef
46
47 define Device/tplink-4m
48 $(Device/tplink-nolzma)
49 TPLINK_FLASHLAYOUT := 4M
50 IMAGE_SIZE := 3904k
51 DEFAULT := n
52 endef
53
54 define Device/tplink-4mlzma
55 $(Device/tplink-v1)
56 TPLINK_FLASHLAYOUT := 4Mlzma
57 IMAGE_SIZE := 3904k
58 DEFAULT := n
59 endef
60
61 define Device/tplink-8m
62 $(Device/tplink-nolzma)
63 TPLINK_FLASHLAYOUT := 8M
64 IMAGE_SIZE := 8000k
65 endef
66
67 define Device/tplink-8mlzma
68 $(Device/tplink-v1)
69 TPLINK_FLASHLAYOUT := 8Mlzma
70 IMAGE_SIZE := 8000k
71 endef
72
73 define Device/tplink-16mlzma
74 $(Device/tplink-v1)
75 TPLINK_FLASHLAYOUT := 16Mlzma
76 IMAGE_SIZE := 16192k
77 endef
78
79 define Device/tplink-safeloader
80 $(Device/tplink-v1)
81 TPLINK_HWREV := 0x0
82 KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O
83 KERNEL_INITRAMFS := $$(KERNEL)
84 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
85 append-metadata | check-size
86 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
87 endef
88
89 define Device/tplink-safeloader-uimage
90 $(Device/tplink-safeloader)
91 KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma
92 KERNEL_INITRAMFS := $$(KERNEL)
93 endef
94
95 define Device/tplink-safeloader-okli
96 $(Device/tplink-safeloader)
97 LOADER_TYPE := elf
98 LOADER_FLASH_OFFS := 0x43000
99 COMPILE := loader-$(1).elf
100 COMPILE/loader-$(1).elf := loader-okli-compile
101 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
102 loader-okli $(1) 12288
103 KERNEL_INITRAMFS := $$(KERNEL)
104 endef