ipq806x: add support for Buffalo WXR-2533DHP
[oweals/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))