ath79: add support for DomyWifi DW33D
[openwrt/openwrt.git] / target / linux / ath79 / image / nand.mk
1 include ./common-mikrotik.mk
2 include ./common-netgear.mk # for netgear-uImage
3
4 # attention: only zlib compression is allowed for the boot fs
5 define Build/zyxel-buildkerneljffs
6 rm -rf $(KDIR_TMP)/zyxelnbg6716
7 mkdir -p $(KDIR_TMP)/zyxelnbg6716/image/boot
8 cp $@ $(KDIR_TMP)/zyxelnbg6716/image/boot/vmlinux.lzma.uImage
9 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
10 --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
11 -o $@ \
12 -d $(KDIR_TMP)/zyxelnbg6716/image
13 rm -rf $(KDIR_TMP)/zyxelnbg6716
14 endef
15
16 define Build/zyxel-factory
17 let \
18 maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
19 let size="$$(stat -c%s $@)"; \
20 if [ $$size -lt $$maxsize ]; then \
21 $(STAGING_DIR_HOST)/bin/mkrasimage \
22 -b $(RAS_BOARD) \
23 -v $(RAS_VERSION) \
24 -r $@ \
25 -s $$maxsize \
26 -o $@.new \
27 -l 131072 \
28 && mv $@.new $@ ; \
29 fi
30 endef
31
32 define Device/aerohive_hiveap-121
33 SOC := ar9344
34 DEVICE_VENDOR := Aerohive
35 DEVICE_MODEL := HiveAP 121
36 DEVICE_PACKAGES := kmod-usb2
37 BLOCKSIZE := 128k
38 PAGESIZE := 2048
39 IMAGE_SIZE := 116m
40 KERNEL_SIZE := 5120k
41 UBINIZE_OPTS := -E 5
42 SUPPORTED_DEVICES += hiveap-121
43 IMAGES += factory.bin
44 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
45 check-size $$$$(IMAGE_SIZE)
46 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
47 endef
48 TARGET_DEVICES += aerohive_hiveap-121
49
50 define Device/domywifi_dw33d
51 SOC := qca9558
52 DEVICE_VENDOR := DomyWifi
53 DEVICE_MODEL := DW33D
54 DEVICE_PACKAGES := kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport \
55 kmod-ath10k-ct ath10k-firmware-qca988x-ct
56 KERNEL_SIZE := 5120k
57 IMAGE_SIZE := 98304k
58 BLOCKSIZE := 128k
59 PAGESIZE := 2048
60 UBINIZE_OPTS := -E 5
61 IMAGES += factory.bin
62 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
63 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
64 check-size $$$$(IMAGE_SIZE)
65 endef
66 TARGET_DEVICES += domywifi_dw33d
67
68 define Device/glinet_gl-ar300m-common-nand
69 SOC := qca9531
70 DEVICE_VENDOR := GL.iNet
71 DEVICE_MODEL := GL-AR300M
72 DEVICE_PACKAGES := kmod-usb2
73 KERNEL_SIZE := 4096k
74 IMAGE_SIZE := 16000k
75 PAGESIZE := 2048
76 VID_HDR_OFFSET := 2048
77 endef
78
79 define Device/glinet_gl-ar300m-nand
80 $(Device/glinet_gl-ar300m-common-nand)
81 DEVICE_VARIANT := NAND
82 BLOCKSIZE := 128k
83 IMAGES += factory.img
84 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
85 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
86 SUPPORTED_DEVICES += glinet,gl-ar300m-nor
87 endef
88 TARGET_DEVICES += glinet_gl-ar300m-nand
89
90 define Device/glinet_gl-ar300m-nor
91 $(Device/glinet_gl-ar300m-common-nand)
92 DEVICE_VARIANT := NOR
93 BLOCKSIZE := 64k
94 SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
95 endef
96 TARGET_DEVICES += glinet_gl-ar300m-nor
97
98 define Device/glinet_gl-ar750s-common
99 SOC := qca9563
100 DEVICE_VENDOR := GL.iNet
101 DEVICE_MODEL := GL-AR750S
102 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
103 kmod-usb-storage block-mount
104 KERNEL_SIZE := 2048k
105 IMAGE_SIZE := 16000k
106 PAGESIZE := 2048
107 VID_HDR_OFFSET := 2048
108 endef
109
110 # NB: The kernel size is intentionally restricted at this time; see commit message
111 define Device/glinet_gl-ar750s-nor-nand
112 $(Device/glinet_gl-ar750s-common)
113 DEVICE_VARIANT := NOR/NAND
114 BLOCKSIZE := 128k
115 GL_UBOOT_UBI_OFFSET := 2048k
116 IMAGES += factory.img
117 IMAGE/factory.img := append-kernel | pad-to $$$$(GL_UBOOT_UBI_OFFSET) | \
118 append-ubi | check-kernel-size $$$$(GL_UBOOT_UBI_OFFSET)
119 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
120 SUPPORTED_DEVICES += glinet,gl-ar750s-nor
121 endef
122 TARGET_DEVICES += glinet_gl-ar750s-nor-nand
123
124 define Device/glinet_gl-ar750s-nor
125 $(Device/glinet_gl-ar750s-common)
126 DEVICE_VARIANT := NOR
127 BLOCKSIZE := 64k
128 SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
129 endef
130 TARGET_DEVICES += glinet_gl-ar750s-nor
131
132 define Device/mikrotik_routerboard-922uags-5hpacd
133 $(Device/mikrotik)
134 SOC := qca9558
135 DEVICE_MODEL := RouterBOARD 922UAGS-5HPacD
136 BOARD_NAME := routerboard
137 IMAGE/sysupgrade.bin = append-kernel | kernel2minor -s 2048 -e -c | \
138 sysupgrade-tar kernel=$$$$@ | append-metadata
139 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct \
140 kmod-usb2 nand-utils
141 SUPPORTED_DEVICES += rb-922uags-5hpacd
142 endef
143 TARGET_DEVICES += mikrotik_routerboard-922uags-5hpacd
144
145 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
146 define Device/netgear_ath79_nand
147 DEVICE_VENDOR := NETGEAR
148 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
149 KERNEL_SIZE := 4096k
150 BLOCKSIZE := 128k
151 PAGESIZE := 2048
152 IMAGE_SIZE := 25600k
153 KERNEL := kernel-bin | append-dtb | lzma -d20 | \
154 pad-offset $$(KERNEL_SIZE) 129 | netgear-uImage lzma | \
155 append-string -e '\xff' | \
156 append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC)
157 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
158 IMAGES := sysupgrade.bin factory.img
159 IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \
160 check-size $$$$(IMAGE_SIZE)
161 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | \
162 check-size $$$$(IMAGE_SIZE)
163 UBINIZE_OPTS := -E 5
164 endef
165
166 define Device/netgear_wndr3700-v4
167 SOC := ar9344
168 DEVICE_MODEL := WNDR3700
169 DEVICE_VARIANT := v4
170 NETGEAR_KERNEL_MAGIC := 0x33373033
171 NETGEAR_BOARD_ID := WNDR3700v4
172 NETGEAR_HW_ID := 29763948+128+128
173 $(Device/netgear_ath79_nand)
174 endef
175 TARGET_DEVICES += netgear_wndr3700-v4
176
177 define Device/netgear_wndr4300
178 SOC := ar9344
179 DEVICE_MODEL := WNDR4300
180 NETGEAR_KERNEL_MAGIC := 0x33373033
181 NETGEAR_BOARD_ID := WNDR4300
182 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
183 $(Device/netgear_ath79_nand)
184 endef
185 TARGET_DEVICES += netgear_wndr4300
186
187 define Device/netgear_wndr4300-v2
188 SOC := qca9563
189 DEVICE_MODEL := WNDR4300
190 DEVICE_VARIANT := v2
191 NETGEAR_KERNEL_MAGIC := 0x27051956
192 NETGEAR_BOARD_ID := WNDR4500series
193 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
194 $(Device/netgear_ath79_nand)
195 endef
196 TARGET_DEVICES += netgear_wndr4300-v2
197
198 define Device/netgear_wndr4500-v3
199 SOC := qca9563
200 DEVICE_MODEL := WNDR4500
201 DEVICE_VARIANT := v3
202 NETGEAR_KERNEL_MAGIC := 0x27051956
203 NETGEAR_BOARD_ID := WNDR4500series
204 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
205 $(Device/netgear_ath79_nand)
206 endef
207 TARGET_DEVICES += netgear_wndr4500-v3
208
209 define Device/zyxel_nbg6716
210 SOC := qca9558
211 DEVICE_VENDOR := ZyXEL
212 DEVICE_MODEL := NBG6716
213 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
214 ath10k-firmware-qca988x-ct
215 RAS_BOARD := NBG6716
216 RAS_ROOTFS_SIZE := 29696k
217 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
218 KERNEL_SIZE := 4096k
219 BLOCKSIZE := 128k
220 PAGESIZE := 2048
221 KERNEL := kernel-bin | append-dtb | uImage none | zyxel-buildkerneljffs | \
222 check-size 4096k
223 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
224 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
225 sysupgrade-tar rootfs=$$$$@ | append-metadata
226 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
227 pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
228 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
229 zyxel-factory
230 UBINIZE_OPTS := -E 5
231 endef
232 TARGET_DEVICES += zyxel_nbg6716
233 DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION