ath79: add support for Buffalo WZR-HP-AG300H
[openwrt/openwrt.git] / target / linux / ath79 / image / generic.mk
1 include ./common-buffalo.mk
2 include ./common-netgear.mk
3
4 DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
5
6 define Build/cybertan-trx
7 @echo -n '' > $@-empty.bin
8 -$(STAGING_DIR_HOST)/bin/trx -o $@.new \
9 -f $(IMAGE_KERNEL) -F $@-empty.bin \
10 -x 32 -a 0x10000 -x -32 -f $@
11 -mv "$@.new" "$@"
12 -rm $@-empty.bin
13 endef
14
15 define Build/addpattern
16 -$(STAGING_DIR_HOST)/bin/addpattern -B $(ADDPATTERN_ID) \
17 -v v$(ADDPATTERN_VERSION) -i $@ -o $@.new
18 -mv "$@.new" "$@"
19 endef
20
21 define Build/elecom-header
22 $(eval fw_size=$(word 1,$(1)))
23 $(eval edimax_model=$(word 2,$(1)))
24 $(eval product=$(word 3,$(1)))
25 $(eval factory_bin=$(word 4,$(1)))
26 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
27 $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
28 $(STAGING_DIR_HOST)/bin/mkedimaximg \
29 -b -s CSYS -m $(edimax_model) \
30 -f 0x70000 -S 0x01100000 \
31 -i $(factory_bin) -o $(factory_bin).new; \
32 mv $(factory_bin).new $(factory_bin); \
33 ( \
34 echo -n -e "ELECOM\x00\x00$(product)" | dd bs=40 count=1 conv=sync; \
35 echo -n "0.00" | dd bs=16 count=1 conv=sync; \
36 dd if=$(factory_bin); \
37 ) > $(factory_bin).new; \
38 mv $(factory_bin).new $(factory_bin); \
39 $(CP) $(factory_bin) $(BIN_DIR)/; \
40 else \
41 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
42 fi
43
44 endef
45
46 define Device/avm_fritz300e
47 ATH_SOC := ar7242
48 DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
49 KERNEL := kernel-bin | append-dtb | lzma | eva-image
50 KERNEL_INITRAMFS := $$(KERNEL)
51 IMAGE_SIZE := 15232k
52 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
53 append-squashfs-fakeroot-be | pad-to 256 | \
54 append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
55 DEVICE_PACKAGES := fritz-tffs rssileds -swconfig
56 endef
57 TARGET_DEVICES += avm_fritz300e
58
59 define Device/avm_fritz4020
60 ATH_SOC := qca9561
61 DEVICE_TITLE := AVM FRITZ!Box 4020
62 IMAGE_SIZE := 15232k
63 KERNEL := kernel-bin | append-dtb | lzma | eva-image
64 KERNEL_INITRAMFS := $$(KERNEL)
65 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
66 append-squashfs-fakeroot-be | pad-to 256 | \
67 append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
68 DEVICE_PACKAGES := fritz-tffs
69 endef
70 TARGET_DEVICES += avm_fritz4020
71
72 define Device/buffalo_wzr-hp-ag300h
73 ATH_SOC := ar7161
74 DEVICE_TITLE := Buffalo WZR-HP-AG300H
75 IMAGE_SIZE := 32256k
76 IMAGES += factory.bin tftp.bin
77 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
78 IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-AG300H 1.99 | buffalo-tag WZR-HP-AG300H
79 IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
80 DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
81 SUPPORTED_DEVICES += wzr-hp-ag300h
82 endef
83 TARGET_DEVICES += buffalo_wzr-hp-ag300h
84
85 define Device/buffalo_wzr-hp-g450h
86 ATH_SOC := ar7242
87 DEVICE_TITLE := Buffalo WZR-HP-G450H
88 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
89 IMAGE_SIZE := 32256k
90 SUPPORTED_DEVICES += wzr-hp-g450h
91 endef
92 TARGET_DEVICES += buffalo_wzr-hp-g450h
93
94 define Device/dlink_dir-825-b1
95 ATH_SOC := ar7161
96 DEVICE_TITLE := D-LINK DIR-825 B1
97 IMAGE_SIZE := 6208k
98 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
99 DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
100 SUPPORTED_DEVICES += dir-825-b1
101 endef
102 TARGET_DEVICES += dlink_dir-825-b1
103
104 define Device/elecom_wrc-300ghbk2-i
105 ATH_SOC := qca9563
106 DEVICE_TITLE := ELECOM WRC-300GHBK2-I
107 IMAGE_SIZE := 7616k
108 KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
109 elecom-header 7798706 RN51 WRC-300GHBK2-I \
110 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
111 endef
112 TARGET_DEVICES += elecom_wrc-300ghbk2-i
113
114 define Device/embeddedwireless_dorin
115 ATH_SOC := ar9331
116 DEVICE_TITLE := Embedded Wireless Dorin
117 DEVICE_PACKAGES := kmod-usb-chipidea2
118 IMAGE_SIZE := 16000k
119 endef
120 TARGET_DEVICES += embeddedwireless_dorin
121
122 define Device/etactica_eg200
123 ATH_SOC := ar9331
124 DEVICE_TITLE := eTactica EG200
125 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
126 kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
127 SUPPORTED_DEVICES += rme-eg200
128 endef
129 TARGET_DEVICES += etactica_eg200
130
131 define Device/glinet_ar150
132 ATH_SOC := ar9330
133 DEVICE_TITLE := GL.iNet GL-AR150
134 DEVICE_PACKAGES := kmod-usb-chipidea2
135 IMAGE_SIZE := 16000k
136 SUPPORTED_DEVICES += gl-ar150
137 endef
138 TARGET_DEVICES += glinet_ar150
139
140 define Device/glinet_ar300m_nor
141 ATH_SOC := qca9533
142 DEVICE_TITLE := GL.iNet GL-AR300M
143 DEVICE_PACKAGES := kmod-usb-core kmod-usb2
144 IMAGE_SIZE := 16000k
145 SUPPORTED_DEVICES += gl-ar300m
146 endef
147 TARGET_DEVICES += glinet_ar300m_nor
148
149 define Device/iodata_etg3-r
150 ATH_SOC := ar9342
151 DEVICE_TITLE := I-O DATA ETG3-R
152 IMAGE_SIZE := 7680k
153 endef
154 TARGET_DEVICES += iodata_etg3-r
155
156 define Device/iodata_wn-ac1167dgr
157 ATH_SOC := qca9557
158 DEVICE_TITLE := I-O DATA WN-AC1167DGR
159 IMAGE_SIZE := 14656k
160 IMAGES += factory.bin
161 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
162 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
163 senao-header -r 0x30a -p 0x61 -t 2
164 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k ath10k-firmware-qca988x
165 endef
166 TARGET_DEVICES += iodata_wn-ac1167dgr
167
168 define Device/iodata_wn-ac1600dgr2
169 ATH_SOC := qca9557
170 DEVICE_TITLE := I-O DATA WN-AC1600DGR2
171 IMAGE_SIZE := 14656k
172 IMAGES += factory.bin
173 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
174 append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
175 senao-header -r 0x30a -p 0x60 -t 2 -v 200
176 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k ath10k-firmware-qca988x
177 endef
178 TARGET_DEVICES += iodata_wn-ac1600dgr2
179
180 define Device/ocedo_koala
181 ATH_SOC := qca9558
182 DEVICE_TITLE := OCEDO Koala
183 DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
184 SUPPORTED_DEVICES += koala
185 IMAGE_SIZE := 7424k
186 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
187 endef
188 TARGET_DEVICES += ocedo_koala
189
190 define Device/ocedo_raccoon
191 ATH_SOC := ar9344
192 DEVICE_TITLE := OCEDO Raccoon
193 IMAGE_SIZE := 7424k
194 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
195 endef
196 TARGET_DEVICES += ocedo_raccoon
197
198 define Device/openmesh_om5p-ac-v2
199 ATH_SOC := qca9558
200 DEVICE_TITLE := OpenMesh OM5P-AC v2
201 DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x om-watchdog
202 IMAGE_SIZE := 7808k
203 SUPPORTED_DEVICES += om5p-acv2
204 endef
205 TARGET_DEVICES += openmesh_om5p-ac-v2
206
207 define Device/pcs_cap324
208 ATH_SOC := ar9344
209 DEVICE_TITLE := PowerCloud Systems CAP324
210 IMAGE_SIZE := 16000k
211 IMAGES := sysupgrade.bin
212 SUPPORTED_DEVICES += cap324
213 endef
214 TARGET_DEVICES += pcs_cap324
215
216 define Device/pcs_cr3000
217 ATH_SOC := ar9341
218 DEVICE_TITLE := PowerCloud Systems CR3000
219 IMAGE_SIZE := 7808k
220 IMAGES := sysupgrade.bin
221 SUPPORTED_DEVICES += cr3000
222 endef
223 TARGET_DEVICES += pcs_cr3000
224
225 define Device/pcs_cr5000
226 ATH_SOC := ar9344
227 DEVICE_TITLE := PowerCloud Systems CR5000
228 DEVICE_PACKAGES := kmod-usb2 kmod-usb-core
229 IMAGE_SIZE := 7808k
230 IMAGES := sysupgrade.bin
231 SUPPORTED_DEVICES += cr5000
232 endef
233 TARGET_DEVICES += pcs_cr5000
234
235 define Device/netgear_wndr3x00
236 ATH_SOC := ar7161
237 KERNEL := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
238 IMAGES := sysupgrade.bin factory.img
239 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
240 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
241 IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
242 DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
243 endef
244
245 define Device/netgear_wndr3700
246 $(Device/netgear_wndr3x00)
247 DEVICE_TITLE := NETGEAR WNDR3700
248 NETGEAR_KERNEL_MAGIC := 0x33373030
249 NETGEAR_BOARD_ID := WNDR3700
250 IMAGE_SIZE := 7680k
251 IMAGES += factory-NA.img
252 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
253 SUPPORTED_DEVICES += wndr3700
254 endef
255 TARGET_DEVICES += netgear_wndr3700
256
257 define Device/netgear_wndr3700v2
258 $(Device/netgear_wndr3x00)
259 DEVICE_TITLE := NETGEAR WNDR3700v2
260 NETGEAR_KERNEL_MAGIC := 0x33373031
261 NETGEAR_BOARD_ID := WNDR3700v2
262 NETGEAR_HW_ID := 29763654+16+64
263 IMAGE_SIZE := 15872k
264 SUPPORTED_DEVICES += wndr3700v2
265 endef
266 TARGET_DEVICES += netgear_wndr3700v2
267
268 define Device/pisen_wmm003n
269 $(Device/tplink-8mlzma)
270 ATH_SOC := ar9331
271 DEVICE_TITLE := Pisen WMM003N (Cloud Easy Power)
272 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2
273 TPLINK_HWID := 0x07030101
274 IMAGES := sysupgrade.bin
275 endef
276 TARGET_DEVICES += pisen_wmm003n
277
278 define Device/netgear_wndr3800
279 $(Device/netgear_wndr3x00)
280 DEVICE_TITLE := NETGEAR WNDR3800
281 NETGEAR_KERNEL_MAGIC := 0x33373031
282 NETGEAR_BOARD_ID := WNDR3800
283 NETGEAR_HW_ID := 29763654+16+128
284 IMAGE_SIZE := 15872k
285 SUPPORTED_DEVICES += wndr3800
286 endef
287 TARGET_DEVICES += netgear_wndr3800
288
289 define Device/phicomm_k2t
290 ATH_SOC := qca9563
291 DEVICE_TITLE := Phicomm K2T
292 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
293 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
294 IMAGE_SIZE := 15744k
295 IMAGES := sysupgrade.bin
296 IMAGE/default := append-kernel | append-rootfs | pad-rootfs
297 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
298 DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k ath10k-firmware-qca9888
299 endef
300 TARGET_DEVICES += phicomm_k2t
301
302 define Device/wd_mynet-wifi-rangeextender
303 ATH_SOC := ar9344
304 DEVICE_TITLE := Western Digital My Net Wi-Fi Range Extender
305 DEVICE_PACKAGES := rssileds nvram -swconfig
306 IMAGE_SIZE := 7808k
307 ADDPATTERN_ID := mynet-rext
308 ADDPATTERN_VERSION := 1.00.01
309 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
310 addpattern | append-metadata
311 SUPPORTED_DEVICES += mynet-rext
312 endef
313 TARGET_DEVICES += wd_mynet-wifi-rangeextender