ffe77c1ef58e318e72ff606187ec9479934c6ad6
[openwrt/staging/jow.git] / target / linux / ipq806x / image / generic.mk
1 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
2 DEVICE_VARS += TPLINK_BOARD_ID
3
4 define Build/buffalo-rootfs-cksum
5 ( \
6 echo -ne "\x$$(od -A n -t u1 $@ | tr -s ' ' '\n' | \
7 $(STAGING_DIR_HOST)/bin/awk '{s+=$$0}END{printf "%x", 255-s%256}')"; \
8 ) >> $@
9 endef
10
11 define Build/edimax-header
12 $(eval edimax_model=$(word 1,$(1)))
13
14 $(STAGING_DIR_HOST)/bin/mkedimaximg \
15 -b -s CSYS -m $(edimax_model) \
16 -f 0x70000 -S 0x1200000 \
17 -i $@ -o $@.new
18 @mv $@.new $@
19 endef
20
21 define Device/DniImage
22 KERNEL_SUFFIX := -uImage
23 KERNEL = kernel-bin | append-dtb | uImage none
24 KERNEL_NAME := zImage
25 NETGEAR_BOARD_ID :=
26 NETGEAR_HW_ID :=
27 UBINIZE_OPTS := -E 5
28 IMAGES += factory.img
29 IMAGE/factory.img := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | netgear-dni
30 IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | sysupgrade-tar kernel=$$$$@ | append-metadata
31 endef
32
33 define Device/TpSafeImage
34 KERNEL_SUFFIX := -uImage
35 KERNEL = kernel-bin | append-dtb | uImage none
36 KERNEL_NAME := zImage
37 TPLINK_BOARD_ID :=
38 IMAGES += factory.bin
39 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
40 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata
41 endef
42
43 define Device/ZyXELImage
44 KERNEL_SUFFIX := -uImage
45 KERNEL = kernel-bin | append-dtb | uImage none | pad-to $$(KERNEL_SIZE)
46 KERNEL_NAME := zImage
47 IMAGES += factory.bin
48 IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to $$$$(BLOCKSIZE) | zyxel-ras-image separate-kernel
49 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
50 endef
51
52 define Device/askey_rt4230w-rev6
53 $(call Device/LegacyImage)
54 DEVICE_VENDOR := Askey
55 DEVICE_MODEL := RT4230W
56 DEVICE_VARIANT := REV6
57 SOC := qcom-ipq8065
58 BLOCKSIZE := 128k
59 PAGESIZE := 2048
60 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
61 KERNEL_IN_UBI := 1
62 endef
63 TARGET_DEVICES += askey_rt4230w-rev6
64
65 define Device/asrock_g10
66 $(call Device/FitImage)
67 $(call Device/UbiFit)
68 SOC := qcom-ipq8064
69 DEVICE_VENDOR := ASRock
70 DEVICE_MODEL := G10
71 BLOCKSIZE := 128k
72 PAGESIZE := 2048
73 KERNEL_SIZE := 5332k
74 DEVICE_PACKAGES := kmod-i2c-gpio ath10k-firmware-qca99x0-ct
75 IMAGE/nand-factory.bin := append-ubi | edimax-header RN67
76 endef
77 TARGET_DEVICES += asrock_g10
78
79 define Device/buffalo_wxr-2533dhp
80 $(call Device/LegacyImage)
81 SOC := qcom-ipq8064
82 DEVICE_VENDOR := Buffalo
83 DEVICE_MODEL := WXR-2533DHP
84 BLOCKSIZE := 128k
85 PAGESIZE := 2048
86 IMAGE_SIZE := 65536k
87 KERNEL_IN_UBI := 1
88 IMAGE/sysupgrade.bin := append-rootfs | buffalo-rootfs-cksum | \
89 sysupgrade-tar rootfs=$$$$@ | append-metadata
90 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
91 endef
92 TARGET_DEVICES += buffalo_wxr-2533dhp
93
94 define Device/compex_wpq864
95 $(call Device/FitImage)
96 $(call Device/UbiFit)
97 DEVICE_VENDOR := Compex
98 DEVICE_MODEL := WPQ864
99 BLOCKSIZE := 128k
100 PAGESIZE := 2048
101 SOC := qcom-ipq8064
102 DEVICE_PACKAGES := kmod-gpio-beeper
103 endef
104 TARGET_DEVICES += compex_wpq864
105
106 define Device/edgecore_ecw5410
107 $(call Device/FitImage)
108 $(call Device/UbiFit)
109 DEVICE_VENDOR := Edgecore
110 DEVICE_MODEL := ECW5410
111 SOC := qcom-ipq8068
112 BLOCKSIZE := 128k
113 PAGESIZE := 2048
114 DEVICE_DTS_CONFIG := config@v2.0-ap160
115 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct ipq-wifi-edgecore_ecw5410
116 endef
117 TARGET_DEVICES += edgecore_ecw5410
118
119 define Device/linksys_ea7500-v1
120 $(call Device/LegacyImage)
121 DEVICE_VENDOR := Linksys
122 DEVICE_MODEL := EA7500
123 DEVICE_VARIANT := v1
124 SOC := qcom-ipq8064
125 PAGESIZE := 2048
126 BLOCKSIZE := 128k
127 KERNEL_SIZE := 3072k
128 KERNEL = kernel-bin | append-dtb | uImage none | append-uImage-fakehdr filesystem
129 UBINIZE_OPTS := -E 5
130 IMAGES := factory.bin sysupgrade.bin
131 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to $$$$(PAGESIZE)
132 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
133 endef
134 TARGET_DEVICES += linksys_ea7500-v1
135
136 define Device/linksys_ea8500
137 $(call Device/LegacyImage)
138 DEVICE_VENDOR := Linksys
139 DEVICE_MODEL := EA8500
140 SOC := qcom-ipq8064
141 PAGESIZE := 2048
142 BLOCKSIZE := 128k
143 KERNEL_SIZE := 3072k
144 KERNEL = kernel-bin | append-dtb | uImage none | append-uImage-fakehdr filesystem
145 BOARD_NAME := ea8500
146 SUPPORTED_DEVICES += ea8500
147 UBINIZE_OPTS := -E 5
148 IMAGES += factory.bin
149 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
150 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
151 endef
152 TARGET_DEVICES += linksys_ea8500
153
154 define Device/meraki_mr42
155 $(call Device/FitImage)
156 DEVICE_VENDOR := Cisco Meraki
157 DEVICE_MODEL := MR42
158 SOC := qcom-ipq8068
159 BLOCKSIZE := 128k
160 PAGESIZE := 2048
161 KERNEL_LOADADDR = 0x44208000
162 DEVICE_PACKAGES := -swconfig -kmod-ata-ahci -kmod-ata-ahci-platform \
163 -kmod-usb-ohci -kmod-usb2 -kmod-usb-ledtrig-usbport \
164 -kmod-phy-qcom-ipq806x-usb -kmod-usb3 -kmod-usb-dwc3-qcom \
165 -uboot-envtools ath10k-firmware-qca9887-ct \
166 ath10k-firmware-qca99x0-ct kmod-eeprom-at24 kmod-hwmon-ina2xx \
167 kmod-leds-tlc591xx
168 endef
169 TARGET_DEVICES += meraki_mr42
170
171 define Device/meraki_mr52
172 $(call Device/FitImage)
173 DEVICE_VENDOR := Cisco Meraki
174 DEVICE_MODEL := MR52
175 SOC := qcom-ipq8068
176 BLOCKSIZE := 128k
177 PAGESIZE := 2048
178 KERNEL_LOADADDR = 0x44208000
179 DEVICE_DTS_CONFIG := config@2
180 DEVICE_PACKAGES := -swconfig -kmod-ata-ahci -kmod-ata-ahci-platform \
181 -kmod-usb-ohci -kmod-usb2 -kmod-usb-ledtrig-usbport \
182 -kmod-phy-qcom-ipq806x-usb -kmod-usb3 -kmod-usb-dwc3-qcom \
183 -uboot-envtools ath10k-firmware-qca9887-ct \
184 ath10k-firmware-qca9984-ct kmod-eeprom-at24 kmod-hwmon-ina2xx \
185 kmod-leds-tlc591xx
186 endef
187 TARGET_DEVICES += meraki_mr52
188
189 define Device/nec_wg2600hp
190 $(call Device/LegacyImage)
191 DEVICE_VENDOR := NEC
192 DEVICE_MODEL := Aterm WG2600HP
193 SOC := qcom-ipq8064
194 BLOCKSIZE := 64k
195 BOARD_NAME := wg2600hp
196 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
197 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
198 endef
199 TARGET_DEVICES += nec_wg2600hp
200
201 define Device/nec_wg2600hp3
202 $(call Device/LegacyImage)
203 DEVICE_VENDOR := NEC Platforms
204 DEVICE_MODEL := Aterm WG2600HP3
205 SOC := qcom-ipq8062
206 BLOCKSIZE := 64k
207 IMAGES := sysupgrade.bin
208 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
209 DEVICE_PACKAGES := -kmod-ata-ahci -kmod-ata-ahci-platform -kmod-usb-ohci -kmod-usb2 \
210 -kmod-usb-ledtrig-usbport -kmod-usb-phy-qcom-dwc3 -kmod-usb3 -kmod-usb-dwc3-qcom \
211 ath10k-firmware-qca9984-ct ipq-wifi-nec_wg2600hp3
212 endef
213 TARGET_DEVICES += nec_wg2600hp3
214
215 define Device/netgear_d7800
216 $(call Device/DniImage)
217 DEVICE_VENDOR := NETGEAR
218 DEVICE_MODEL := Nighthawk X4 D7800
219 SOC := qcom-ipq8064
220 KERNEL_SIZE := 4096k
221 NETGEAR_BOARD_ID := D7800
222 NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
223 BLOCKSIZE := 128k
224 PAGESIZE := 2048
225 BOARD_NAME := d7800
226 SUPPORTED_DEVICES += d7800
227 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
228 endef
229 TARGET_DEVICES += netgear_d7800
230
231 define Device/netgear_r7500
232 $(call Device/DniImage)
233 DEVICE_VENDOR := NETGEAR
234 DEVICE_MODEL := Nighthawk X4 R7500
235 DEVICE_VARIANT := v1
236 SOC := qcom-ipq8064
237 KERNEL_SIZE := 4096k
238 NETGEAR_BOARD_ID := R7500
239 NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4
240 BLOCKSIZE := 128k
241 PAGESIZE := 2048
242 BOARD_NAME := r7500
243 SUPPORTED_DEVICES += r7500
244 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct
245 endef
246 TARGET_DEVICES += netgear_r7500
247
248 define Device/netgear_r7500v2
249 $(call Device/DniImage)
250 DEVICE_VENDOR := NETGEAR
251 DEVICE_MODEL := Nighthawk X4 R7500
252 DEVICE_VARIANT := v2
253 SOC := qcom-ipq8064
254 KERNEL_SIZE := 4096k
255 NETGEAR_BOARD_ID := R7500v2
256 NETGEAR_HW_ID := 29764958+0+128+512+3x3+4x4
257 BLOCKSIZE := 128k
258 PAGESIZE := 2048
259 BOARD_NAME := r7500v2
260 SUPPORTED_DEVICES += r7500v2
261 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct ath10k-firmware-qca988x-ct
262 endef
263 TARGET_DEVICES += netgear_r7500v2
264
265 define Device/netgear_r7800
266 $(call Device/DniImage)
267 DEVICE_VENDOR := NETGEAR
268 DEVICE_MODEL := Nighthawk X4S R7800
269 SOC := qcom-ipq8065
270 KERNEL_SIZE := 4096k
271 NETGEAR_BOARD_ID := R7800
272 NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4+cascade
273 BLOCKSIZE := 128k
274 PAGESIZE := 2048
275 BOARD_NAME := r7800
276 SUPPORTED_DEVICES += r7800
277 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
278 endef
279 TARGET_DEVICES += netgear_r7800
280
281 define Device/netgear_xr500
282 $(call Device/DniImage)
283 DEVICE_VENDOR := NETGEAR
284 DEVICE_MODEL := Nighthawk XR500
285 SOC := qcom-ipq8065
286 KERNEL_SIZE := 4096k
287 NETGEAR_BOARD_ID := XR500
288 NETGEAR_HW_ID := 29764958+0+256+512+4x4+4x4+cascade
289 BLOCKSIZE := 128k
290 PAGESIZE := 2048
291 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
292 endef
293 TARGET_DEVICES += netgear_xr500
294
295 define Device/qcom_ipq8064-ap148
296 $(call Device/FitImage)
297 $(call Device/UbiFit)
298 DEVICE_VENDOR := Qualcomm
299 DEVICE_MODEL := AP148
300 DEVICE_VARIANT := standard
301 SOC := qcom-ipq8064
302 DEVICE_DTS := qcom-ipq8064-ap148
303 KERNEL_INSTALL := 1
304 BLOCKSIZE := 128k
305 PAGESIZE := 2048
306 BOARD_NAME := ap148
307 SUPPORTED_DEVICES += ap148
308 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
309 endef
310 TARGET_DEVICES += qcom_ipq8064-ap148
311
312 define Device/qcom_ipq8064-ap148-legacy
313 $(call Device/LegacyImage)
314 $(call Device/UbiFit)
315 DEVICE_VENDOR := Qualcomm
316 DEVICE_MODEL := AP148
317 DEVICE_VARIANT := legacy
318 SOC := qcom-ipq8064
319 DEVICE_DTS := qcom-ipq8064-ap148
320 BLOCKSIZE := 128k
321 PAGESIZE := 2048
322 BOARD_NAME := ap148
323 SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
324 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
325 endef
326 TARGET_DEVICES += qcom_ipq8064-ap148-legacy
327
328 define Device/qcom_ipq8064-ap161
329 $(call Device/FitImage)
330 $(call Device/UbiFit)
331 DEVICE_VENDOR := Qualcomm
332 DEVICE_MODEL := AP161
333 SOC := qcom-ipq8064
334 DEVICE_DTS := qcom-ipq8064-ap161
335 KERNEL_INSTALL := 1
336 BLOCKSIZE := 128k
337 PAGESIZE := 2048
338 BOARD_NAME := ap161
339 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
340 endef
341 TARGET_DEVICES += qcom_ipq8064-ap161
342
343 define Device/qcom_ipq8064-db149
344 $(call Device/FitImage)
345 DEVICE_VENDOR := Qualcomm
346 DEVICE_MODEL := DB149
347 SOC := qcom-ipq8064
348 DEVICE_DTS := qcom-ipq8064-db149
349 KERNEL_INSTALL := 1
350 BOARD_NAME := db149
351 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
352 endef
353 TARGET_DEVICES += qcom_ipq8064-db149
354
355 define Device/tplink_ad7200
356 $(call Device/TpSafeImage)
357 DEVICE_VENDOR := TP-Link
358 DEVICE_MODEL := AD7200
359 DEVICE_VARIANT := v1/v2
360 DEVICE_ALT0_VENDOR := TP-Link
361 DEVICE_ALT0_MODEL := Talon AD7200
362 DEVICE_ALT0_VARIANT := v1/v2
363 SOC := qcom-ipq8064
364 BLOCKSIZE := 128k
365 PAGESIZE := 2048
366 TPLINK_BOARD_ID := AD7200
367 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct kmod-wil6210
368 endef
369 TARGET_DEVICES += tplink_ad7200
370
371 define Device/tplink_c2600
372 $(call Device/TpSafeImage)
373 DEVICE_VENDOR := TP-Link
374 DEVICE_MODEL := Archer C2600
375 DEVICE_VARIANT := v1
376 SOC := qcom-ipq8064
377 BLOCKSIZE := 128k
378 PAGESIZE := 2048
379 BOARD_NAME := c2600
380 SUPPORTED_DEVICES += c2600
381 TPLINK_BOARD_ID := C2600
382 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
383 endef
384 TARGET_DEVICES += tplink_c2600
385
386 define Device/tplink_vr2600v
387 DEVICE_VENDOR := TP-Link
388 DEVICE_MODEL := Archer VR2600v
389 DEVICE_VARIANT := v1
390 KERNEL_SUFFIX := -uImage
391 KERNEL = kernel-bin | append-dtb | uImage none
392 KERNEL_NAME := zImage
393 KERNEL_SIZE := 3072k
394 SOC := qcom-ipq8064
395 BLOCKSIZE := 128k
396 PAGESIZE := 2048
397 BOARD_NAME := vr2600v
398 SUPPORTED_DEVICES += vr2600v
399 DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
400 IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | append-metadata
401 endef
402 TARGET_DEVICES += tplink_vr2600v
403
404 define Device/ubnt_unifi-ac-hd
405 $(call Device/FitImageLzma)
406 DEVICE_VENDOR := Ubiquiti
407 DEVICE_MODEL := UniFi AC HD
408 SOC := qcom-ipq8064
409 BLOCKSIZE := 64k
410 IMAGE_SIZE := 14784k
411 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct
412 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size | append-metadata
413 endef
414 TARGET_DEVICES += ubnt_unifi-ac-hd
415
416 define Device/zyxel_nbg6817
417 DEVICE_VENDOR := ZyXEL
418 DEVICE_MODEL := NBG6817
419 SOC := qcom-ipq8065
420 KERNEL_SIZE := 4096k
421 BLOCKSIZE := 64k
422 BOARD_NAME := nbg6817
423 RAS_BOARD := NBG6817
424 RAS_ROOTFS_SIZE := 20934k
425 RAS_VERSION := "V1.99(OWRT.9999)C0"
426 SUPPORTED_DEVICES += nbg6817
427 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
428 $(call Device/ZyXELImage)
429 endef
430 TARGET_DEVICES += zyxel_nbg6817