ipq806x: add support for Buffalo WXR-2533DHP
[openwrt/openwrt.git] / target / linux / ipq806x / image / Makefile
1 # Copyright (c) 2014 The Linux Foundation. All rights reserved.
2 #
3 include $(TOPDIR)/rules.mk
4 include $(INCLUDE_DIR)/image.mk
5
6 define Build/buffalo-rootfs-cksum
7 ( \
8 echo -ne "\x$$(od -A n -t u1 $@ | tr -s ' ' '\n' | \
9 $(STAGING_DIR_HOST)/bin/awk '{s+=$$0}END{printf "%x", 255-s%256}')"; \
10 ) >> $@
11 endef
12
13 define Device/Default
14 PROFILES := Default
15 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
16 KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
17 KERNEL_PREFIX := $$(IMAGE_PREFIX)
18 KERNEL_LOADADDR = 0x42208000
19 SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
20 IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
21 IMAGE/sysupgrade.bin/squashfs :=
22 endef
23
24 define Device/LegacyImage
25 KERNEL_SUFFIX := -uImage
26 KERNEL = kernel-bin | append-dtb | uImage none
27 KERNEL_NAME := zImage
28 endef
29
30 define Device/FitImage
31 KERNEL_SUFFIX := -fit-uImage.itb
32 KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
33 KERNEL_NAME := Image
34 endef
35
36 define Device/FitImageLzma
37 KERNEL_SUFFIX := -fit-uImage.itb
38 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
39 KERNEL_NAME := Image
40 endef
41
42 define Device/UbiFit
43 KERNEL_IN_UBI := 1
44 IMAGES := nand-factory.bin nand-sysupgrade.bin
45 IMAGE/nand-factory.bin := append-ubi
46 IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
47 endef
48
49 define Device/DniImage
50 KERNEL_SUFFIX := -uImage
51 KERNEL = kernel-bin | append-dtb | uImage none
52 KERNEL_NAME := zImage
53 NETGEAR_BOARD_ID :=
54 NETGEAR_HW_ID :=
55 UBINIZE_OPTS := -E 5
56 IMAGES := factory.img sysupgrade.bin
57 IMAGE/factory.img := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | netgear-dni
58 IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | sysupgrade-tar kernel=$$$$@ | append-metadata
59 endef
60 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
61
62 define Device/TpSafeImage
63 KERNEL_SUFFIX := -uImage
64 KERNEL = kernel-bin | append-dtb | uImage none
65 KERNEL_NAME := zImage
66 TPLINK_BOARD_ID :=
67 IMAGES := factory.bin sysupgrade.bin
68 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
69 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata
70 endef
71 DEVICE_VARS += TPLINK_BOARD_ID
72
73 define Device/ZyXELImage
74 KERNEL_SUFFIX := -uImage
75 KERNEL = kernel-bin | append-dtb | uImage none | pad-to $${KERNEL_SIZE}
76 KERNEL_NAME := zImage
77 IMAGES := factory.bin sysupgrade.bin
78 IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to $$$$(BLOCKSIZE) | zyxel-ras-image separate-kernel
79 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$${BLOCKSIZE} | sysupgrade-tar rootfs=$$$$@ | append-metadata
80 endef
81
82 define Device/buffalo_wxr-2533dhp
83 $(call Device/LegacyImage)
84 DEVICE_DTS := qcom-ipq8064-wxr-2533dhp
85 DEVICE_TITLE := Buffalo WXR-2533DHP
86 BLOCKSIZE := 128k
87 PAGESIZE := 2048
88 IMAGE_SIZE := 65536k
89 KERNEL_IN_UBI := 1
90 IMAGES := sysupgrade.bin
91 IMAGE/sysupgrade.bin := append-rootfs | buffalo-rootfs-cksum | \
92 sysupgrade-tar rootfs=$$$$@ | append-metadata
93 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
94 endef
95 TARGET_DEVICES += buffalo_wxr-2533dhp
96
97 define Device/compex_wpq864
98 $(call Device/FitImage)
99 $(call Device/UbiFit)
100 BLOCKSIZE := 128k
101 PAGESIZE := 2048
102 DEVICE_DTS := qcom-ipq8064-wpq864
103 DEVICE_TITLE := Compex WPQ864
104 DEVICE_PACKAGES := kmod-gpio-beeper
105 endef
106 TARGET_DEVICES += compex_wpq864
107
108 define Device/linksys_ea8500
109 $(call Device/LegacyImage)
110 DEVICE_DTS := qcom-ipq8064-ea8500
111 PAGESIZE := 2048
112 BLOCKSIZE := 128k
113 KERNEL_SIZE := 3072k
114 KERNEL = kernel-bin | append-dtb | uImage none | append-uImage-fakehdr filesystem
115 BOARD_NAME := ea8500
116 SUPPORTED_DEVICES += ea8500
117 UBINIZE_OPTS := -E 5
118 IMAGES := factory.bin sysupgrade.bin
119 IMAGE/factory.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi
120 DEVICE_TITLE := Linksys EA8500
121 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
122 endef
123 TARGET_DEVICES += linksys_ea8500
124
125 define Device/nec_wg2600hp
126 $(call Device/LegacyImage)
127 DEVICE_DTS := qcom-ipq8064-wg2600hp
128 BLOCKSIZE := 64k
129 BOARD_NAME := wg2600hp
130 DEVICE_TITLE := NEC Aterm WG2600HP
131 IMAGES := sysupgrade.bin
132 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
133 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
134 endef
135 TARGET_DEVICES += nec_wg2600hp
136
137 define Device/netgear_d7800
138 $(call Device/DniImage)
139 DEVICE_DTS := qcom-ipq8064-d7800
140 KERNEL_SIZE := 4096k
141 NETGEAR_BOARD_ID := D7800
142 NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
143 BLOCKSIZE := 128k
144 PAGESIZE := 2048
145 BOARD_NAME := d7800
146 SUPPORTED_DEVICES += d7800
147 DEVICE_TITLE := Netgear Nighthawk X4 D7800
148 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
149 endef
150 TARGET_DEVICES += netgear_d7800
151
152 define Device/netgear_r7500
153 $(call Device/DniImage)
154 DEVICE_DTS := qcom-ipq8064-r7500
155 KERNEL_SIZE := 4096k
156 NETGEAR_BOARD_ID := R7500
157 NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4
158 BLOCKSIZE := 128k
159 PAGESIZE := 2048
160 BOARD_NAME := r7500
161 SUPPORTED_DEVICES += r7500
162 DEVICE_TITLE := Netgear Nighthawk X4 R7500
163 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct
164 endef
165 TARGET_DEVICES += netgear_r7500
166
167 define Device/netgear_r7500v2
168 $(call Device/DniImage)
169 DEVICE_DTS := qcom-ipq8064-r7500v2
170 KERNEL_SIZE := 4096k
171 NETGEAR_BOARD_ID := R7500v2
172 NETGEAR_HW_ID := 29764958+0+128+512+3x3+4x4
173 BLOCKSIZE := 128k
174 PAGESIZE := 2048
175 BOARD_NAME := r7500v2
176 SUPPORTED_DEVICES += r7500v2
177 DEVICE_TITLE := Netgear Nighthawk X4 R7500v2
178 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct ath10k-firmware-qca988x-ct
179 endef
180 TARGET_DEVICES += netgear_r7500v2
181
182 define Device/netgear_r7800
183 $(call Device/DniImage)
184 DEVICE_DTS := qcom-ipq8065-r7800
185 KERNEL_SIZE := 4096k
186 NETGEAR_BOARD_ID := R7800
187 NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4+cascade
188 BLOCKSIZE := 128k
189 PAGESIZE := 2048
190 BOARD_NAME := r7800
191 SUPPORTED_DEVICES += r7800
192 DEVICE_TITLE := Netgear Nighthawk X4S R7800
193 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
194 endef
195 TARGET_DEVICES += netgear_r7800
196
197 define Device/qcom_ipq8064-ap148
198 $(call Device/FitImage)
199 $(call Device/UbiFit)
200 DEVICE_DTS := qcom-ipq8064-ap148
201 KERNEL_INSTALL := 1
202 BLOCKSIZE := 128k
203 PAGESIZE := 2048
204 BOARD_NAME := ap148
205 SUPPORTED_DEVICES += ap148
206 DEVICE_TITLE := Qualcomm AP148
207 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
208 endef
209 TARGET_DEVICES += qcom_ipq8064-ap148
210
211 define Device/qcom_ipq8064-ap148-legacy
212 $(call Device/LegacyImage)
213 $(call Device/UbiFit)
214 DEVICE_DTS := qcom-ipq8064-ap148
215 BLOCKSIZE := 128k
216 PAGESIZE := 2048
217 BOARD_NAME := ap148
218 SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
219 DEVICE_TITLE := Qualcomm AP148 (legacy)
220 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
221 endef
222 TARGET_DEVICES += qcom_ipq8064-ap148-legacy
223
224 define Device/qcom_ipq8064-ap161
225 $(call Device/FitImage)
226 $(call Device/UbiFit)
227 DEVICE_DTS := qcom-ipq8064-ap161
228 KERNEL_INSTALL := 1
229 BLOCKSIZE := 128k
230 PAGESIZE := 2048
231 BOARD_NAME := ap161
232 DEVICE_TITLE := Qualcomm AP161
233 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
234 endef
235 TARGET_DEVICES += qcom_ipq8064-ap161
236
237 define Device/qcom_ipq8064-db149
238 $(call Device/FitImage)
239 DEVICE_DTS := qcom-ipq8064-db149
240 KERNEL_INSTALL := 1
241 BOARD_NAME := db149
242 DEVICE_TITLE := Qualcomm DB149
243 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
244 endef
245 TARGET_DEVICES += qcom_ipq8064-db149
246
247 define Device/tplink_c2600
248 $(call Device/TpSafeImage)
249 DEVICE_DTS := qcom-ipq8064-c2600
250 BLOCKSIZE := 128k
251 PAGESIZE := 2048
252 BOARD_NAME := c2600
253 SUPPORTED_DEVICES += c2600
254 TPLINK_BOARD_ID := C2600
255 DEVICE_TITLE := TP-Link Archer C2600
256 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
257 endef
258 TARGET_DEVICES += tplink_c2600
259
260 define Device/tplink_vr2600v
261 KERNEL_SUFFIX := -uImage
262 KERNEL = kernel-bin | append-dtb | uImage none
263 KERNEL_NAME := zImage
264 KERNEL_SIZE := 3072k
265 DEVICE_DTS := qcom-ipq8064-vr2600v
266 BLOCKSIZE := 128k
267 PAGESIZE := 2048
268 BOARD_NAME := vr2600v
269 SUPPORTED_DEVICES += vr2600v
270 DEVICE_TITLE := TP-Link Archer VR2600v
271 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
272 IMAGES := sysupgrade.bin
273 IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
274 endef
275 TARGET_DEVICES += tplink_vr2600v
276
277 define Device/zyxel_nbg6817
278 DEVICE_DTS := qcom-ipq8065-nbg6817
279 KERNEL_SIZE := 4096k
280 BLOCKSIZE := 64k
281 BOARD_NAME := nbg6817
282 RAS_BOARD := NBG6817
283 RAS_ROOTFS_SIZE := 20934k
284 RAS_VERSION := "V1.99(OWRT.9999)C0"
285 SUPPORTED_DEVICES += nbg6817
286 DEVICE_TITLE := ZyXEL NBG6817
287 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
288 $(call Device/ZyXELImage)
289 endef
290 TARGET_DEVICES += zyxel_nbg6817
291
292 $(eval $(call BuildImage))