1 # Copyright (c) 2014 The Linux Foundation. All rights reserved.
3 include $(TOPDIR)/rules.mk
4 include $(INCLUDE_DIR)/image.mk
6 UBIFS_OPTS = -m 2048 -e 124KiB -c 4096 -U -F
10 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
11 KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
12 KERNEL_PREFIX := $$(IMAGE_PREFIX)
13 KERNEL_LOADADDR = 0x42208000
14 SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
15 IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
16 IMAGE/sysupgrade.bin/squashfs :=
19 define Device/LegacyImage
20 KERNEL_SUFFIX := -uImage
21 KERNEL = kernel-bin | append-dtb | uImage none
25 define Device/FitImage
26 KERNEL_SUFFIX := -fit-uImage.itb
27 KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
31 define Device/FitImageLzma
32 KERNEL_SUFFIX := -fit-uImage.itb
33 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
39 IMAGES := nand-factory.ubi nand-sysupgrade.bin
40 IMAGE/nand-factory.ubi := append-ubi
41 IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
44 define Device/DniImage
45 FILESYSTEMS := squashfs
46 KERNEL_SUFFIX := -uImage
47 KERNEL = kernel-bin | append-dtb | uImage none
52 IMAGES := factory.img sysupgrade.bin
53 IMAGE/factory.img := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakeroot-hdr | pad-to $$$$(KERNEL_SIZE) | append-ubi | netgear-dni
54 IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakeroot-hdr | sysupgrade-tar kernel=$$$$@ | append-metadata
56 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
58 define Device/TpSafeImage
59 FILESYSTEMS := squashfs
60 KERNEL_SUFFIX := -uImage
61 KERNEL = kernel-bin | append-dtb | uImage none
64 IMAGES := factory.bin sysupgrade.bin
65 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
66 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata
68 DEVICE_VARS += TPLINK_BOARD_ID
70 define Device/ZyXELImage
71 FILESYSTEMS := squashfs
72 KERNEL_SUFFIX := -uImage
73 KERNEL = kernel-bin | append-dtb | uImage none | pad-to $${KERNEL_SIZE}
75 IMAGES := sysupgrade.bin mmcblk0p5-rootfs.bin mmcblk0p4-kernel.bin
76 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$${BLOCKSIZE} | sysupgrade-tar rootfs=$$$$@ | append-metadata
77 IMAGE/mmcblk0p5-rootfs.bin := append-rootfs | pad-rootfs | pad-to $$$${BLOCKSIZE}
78 IMAGE/mmcblk0p4-kernel.bin := append-kernel
81 define Device/avm_fritzbox-4040
82 $(call Device/FitImageLzma)
83 DEVICE_DTS := qcom-ipq4019-fritz4040
84 KERNEL_LOADADDR := 0x80208000
87 BOARD_NAME := fritz4040
88 DEVICE_TITLE := AVM Fritz!Box 4040
89 IMAGE_SIZE := 29753344
90 IMAGES = sysupgrade.bin
91 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
92 DEVICE_PACKAGES := kmod-usb-phy-qcom-ipq4019 ipq-wifi-fritz4040 fritz-tffs fritz-caldata u-boot-fritz4040
94 TARGET_DEVICES += avm_fritzbox-4040
96 define Device/linksys_ea8500
97 $(call Device/LegacyImage)
98 DEVICE_DTS := qcom-ipq8064-ea8500
102 FILESYSTEMS := squashfs
103 KERNEL = kernel-bin | append-dtb | uImage none | append-uImage-fakeroot-hdr
105 SUPPORTED_DEVICES += ea8500
107 IMAGES := factory.bin sysupgrade.bin
108 IMAGE/factory.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi
109 DEVICE_TITLE := Linksys EA8500
110 DEVICE_PACKAGES := ath10k-firmware-qca99x0
112 TARGET_DEVICES += linksys_ea8500
114 define Device/netgear_d7800
115 $(call Device/DniImage)
116 DEVICE_DTS := qcom-ipq8064-d7800
117 KERNEL_SIZE := 2097152
118 NETGEAR_BOARD_ID := D7800
119 NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
123 SUPPORTED_DEVICES += d7800
124 DEVICE_TITLE := Netgear Nighthawk X4 D7800
125 DEVICE_PACKAGES := ath10k-firmware-qca99x0
127 TARGET_DEVICES += netgear_d7800
129 define Device/netgear_r7500
130 $(call Device/DniImage)
131 DEVICE_DTS := qcom-ipq8064-r7500
132 KERNEL_SIZE := 2097152
133 NETGEAR_BOARD_ID := R7500
134 NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4
138 SUPPORTED_DEVICES += r7500
139 DEVICE_TITLE := Netgear Nighthawk X4 R7500
140 DEVICE_PACKAGES := ath10k-firmware-qca988x
142 TARGET_DEVICES += netgear_r7500
144 define Device/netgear_r7500v2
145 $(call Device/DniImage)
146 DEVICE_DTS := qcom-ipq8064-r7500v2
147 KERNEL_SIZE := 2097152
148 NETGEAR_BOARD_ID := R7500v2
149 NETGEAR_HW_ID := 29764958+0+128+512+3x3+4x4
152 BOARD_NAME := r7500v2
153 SUPPORTED_DEVICES += r7500v2
154 DEVICE_TITLE := Netgear Nighthawk X4 R7500v2
155 DEVICE_PACKAGES := ath10k-firmware-qca99x0 ath10k-firmware-qca988x
157 TARGET_DEVICES += netgear_r7500v2
159 define Device/netgear_r7800
160 $(call Device/DniImage)
161 DEVICE_DTS := qcom-ipq8065-r7800
162 KERNEL_SIZE := 2097152
163 NETGEAR_BOARD_ID := R7800
164 NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4+cascade
168 SUPPORTED_DEVICES += r7800
169 DEVICE_TITLE := Netgear Nighthawk X4S R7800
170 DEVICE_PACKAGES := ath10k-firmware-qca9984
172 TARGET_DEVICES += netgear_r7800
174 define Device/openmesh_a42
175 $(call Device/FitImageLzma)
176 FILESYSTEMS := squashfs
177 DEVICE_DTS := qcom-ipq4019-a42
178 KERNEL_LOADADDR := 0x80208000
180 SUPPORTED_DEVICES := openmesh,a42
181 DEVICE_TITLE := OpenMesh A42
182 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
184 IMAGES = factory.bin sysupgrade.bin
185 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
186 IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
187 DEVICE_PACKAGES := ath10k-firmware-qca4019 uboot-envtools ipq-wifi-openmesh_a42
189 TARGET_DEVICES += openmesh_a42
191 define Device/qcom_ap-dk01.1-c1
192 DEVICE_TITLE := QCA AP-DK01.1-C1
193 BOARD_NAME := ap-dk01.1-c1
194 DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
195 KERNEL_LOADADDR := 0x80208000
199 FILESYSTEMS := squashfs
200 $(call Device/FitImage)
201 IMAGES := sysupgrade.bin
202 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
203 DEVICE_PACKAGES := ath10k-firmware-qca4019
205 TARGET_DEVICES += qcom_ap-dk01.1-c1
207 define Device/qcom_ap-dk04.1-c1
208 $(call Device/FitImage)
209 $(call Device/UbiFit)
210 DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
211 KERNEL_LOADADDR := 0x80208000
216 BOARD_NAME := ap-dk04.1-c1
217 DEVICE_TITLE := QCA AP-DK04.1-C1
219 TARGET_DEVICES += qcom_ap-dk04.1-c1
221 define Device/qcom_ipq8064-ap148
222 $(call Device/FitImage)
223 $(call Device/UbiFit)
224 DEVICE_DTS := qcom-ipq8064-ap148
229 SUPPORTED_DEVICES += ap148
230 DEVICE_TITLE := Qualcomm AP148
231 DEVICE_PACKAGES := ath10k-firmware-qca99x0
233 TARGET_DEVICES += qcom_ipq8064-ap148
235 define Device/qcom_ipq8064-ap148-legacy
236 $(call Device/LegacyImage)
237 $(call Device/UbiFit)
238 DEVICE_DTS := qcom-ipq8064-ap148
242 SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
243 DEVICE_TITLE := Qualcomm AP148 (legacy)
244 DEVICE_PACKAGES := ath10k-firmware-qca99x0
246 TARGET_DEVICES += qcom_ipq8064-ap148-legacy
248 define Device/qcom_ipq8064-db149
249 $(call Device/FitImage)
250 DEVICE_DTS := qcom-ipq8064-db149
253 DEVICE_TITLE := Qualcomm DB149
254 DEVICE_PACKAGES := ath10k-firmware-qca99x0
256 TARGET_DEVICES += qcom_ipq8064-db149
258 define Device/tplink_c2600
259 $(call Device/TpSafeImage)
260 DEVICE_DTS := qcom-ipq8064-c2600
264 SUPPORTED_DEVICES += c2600
265 TPLINK_BOARD_ID := C2600
266 DEVICE_TITLE := TP-Link Archer C2600
267 DEVICE_PACKAGES := ath10k-firmware-qca99x0
269 TARGET_DEVICES += tplink_c2600
271 define Device/tplink_vr2600v
272 FILESYSTEMS := squashfs
273 KERNEL_SUFFIX := -uImage
274 KERNEL = kernel-bin | append-dtb | uImage none
275 KERNEL_NAME := zImage
276 KERNEL_SIZE := 2097152
277 DEVICE_DTS := qcom-ipq8064-vr2600v
280 BOARD_NAME := vr2600v
281 SUPPORTED_DEVICES += vr2600v
282 DEVICE_TITLE := TP-Link Archer VR2600v
283 DEVICE_PACKAGES := ath10k-firmware-qca99x0
284 IMAGES := sysupgrade.bin
285 IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
287 TARGET_DEVICES += tplink_vr2600v
289 define Device/zyxel_nbg6817
290 DEVICE_DTS := qcom-ipq8065-nbg6817
293 BOARD_NAME := nbg6817
294 SUPPORTED_DEVICES += nbg6817
295 DEVICE_TITLE := ZyXEL NBG6817
296 DEVICE_PACKAGES := ath10k-firmware-qca9984 e2fsprogs kmod-fs-ext4 losetup
297 $(call Device/ZyXELImage)
299 TARGET_DEVICES += zyxel_nbg6817
301 $(eval $(call BuildImage))