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