ath79: add support for MikroTik RouterBOARD 922UAGS-5HPacD
[openwrt/staging/rmilecki.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/glinet_gl-ar300m-common-nand
51 SOC := qca9531
52 DEVICE_VENDOR := GL.iNet
53 DEVICE_MODEL := GL-AR300M
54 DEVICE_PACKAGES := kmod-usb2
55 KERNEL_SIZE := 4096k
56 IMAGE_SIZE := 16000k
57 PAGESIZE := 2048
58 VID_HDR_OFFSET := 2048
59 endef
60
61 define Device/glinet_gl-ar300m-nand
62 $(Device/glinet_gl-ar300m-common-nand)
63 DEVICE_VARIANT := NAND
64 BLOCKSIZE := 128k
65 IMAGES += factory.img
66 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
67 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
68 SUPPORTED_DEVICES += glinet,gl-ar300m-nor
69 endef
70 TARGET_DEVICES += glinet_gl-ar300m-nand
71
72 define Device/glinet_gl-ar300m-nor
73 $(Device/glinet_gl-ar300m-common-nand)
74 DEVICE_VARIANT := NOR
75 BLOCKSIZE := 64k
76 SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
77 endef
78 TARGET_DEVICES += glinet_gl-ar300m-nor
79
80 define Device/glinet_gl-ar750s-common
81 SOC := qca9563
82 DEVICE_VENDOR := GL.iNet
83 DEVICE_MODEL := GL-AR750S
84 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
85 kmod-usb-storage block-mount
86 KERNEL_SIZE := 2048k
87 IMAGE_SIZE := 16000k
88 PAGESIZE := 2048
89 VID_HDR_OFFSET := 2048
90 endef
91
92 # NB: The kernel size is intentionally restricted at this time; see commit message
93 define Device/glinet_gl-ar750s-nor-nand
94 $(Device/glinet_gl-ar750s-common)
95 DEVICE_VARIANT := NOR/NAND
96 BLOCKSIZE := 128k
97 GL_UBOOT_UBI_OFFSET := 2048k
98 IMAGES += factory.img
99 IMAGE/factory.img := append-kernel | pad-to $$$$(GL_UBOOT_UBI_OFFSET) | \
100 append-ubi | check-kernel-size $$$$(GL_UBOOT_UBI_OFFSET)
101 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
102 SUPPORTED_DEVICES += glinet,gl-ar750s-nor
103 endef
104 TARGET_DEVICES += glinet_gl-ar750s-nor-nand
105
106 define Device/glinet_gl-ar750s-nor
107 $(Device/glinet_gl-ar750s-common)
108 DEVICE_VARIANT := NOR
109 BLOCKSIZE := 64k
110 SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
111 endef
112 TARGET_DEVICES += glinet_gl-ar750s-nor
113
114 define Device/mikrotik_routerboard-922uags-5hpacd
115 $(Device/mikrotik)
116 SOC := qca9558
117 DEVICE_MODEL := RouterBOARD 922UAGS-5HPacD
118 BOARD_NAME := routerboard
119 IMAGE/sysupgrade.bin = append-kernel | kernel2minor -s 2048 -e -c | \
120 sysupgrade-tar kernel=$$$$@ | append-metadata
121 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct \
122 kmod-usb2 nand-utils
123 SUPPORTED_DEVICES += rb-922uags-5hpacd
124 endef
125 TARGET_DEVICES += mikrotik_routerboard-922uags-5hpacd
126
127 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
128 define Device/netgear_ath79_nand
129 DEVICE_VENDOR := NETGEAR
130 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
131 KERNEL_SIZE := 4096k
132 BLOCKSIZE := 128k
133 PAGESIZE := 2048
134 IMAGE_SIZE := 25600k
135 KERNEL := kernel-bin | append-dtb | lzma -d20 | \
136 pad-offset $$(KERNEL_SIZE) 129 | netgear-uImage lzma | \
137 append-string -e '\xff' | \
138 append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC)
139 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
140 IMAGES := sysupgrade.bin factory.img
141 IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \
142 check-size $$$$(IMAGE_SIZE)
143 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | \
144 check-size $$$$(IMAGE_SIZE)
145 UBINIZE_OPTS := -E 5
146 endef
147
148 define Device/netgear_wndr3700-v4
149 SOC := ar9344
150 DEVICE_MODEL := WNDR3700
151 DEVICE_VARIANT := v4
152 NETGEAR_KERNEL_MAGIC := 0x33373033
153 NETGEAR_BOARD_ID := WNDR3700v4
154 NETGEAR_HW_ID := 29763948+128+128
155 $(Device/netgear_ath79_nand)
156 endef
157 TARGET_DEVICES += netgear_wndr3700-v4
158
159 define Device/netgear_wndr4300
160 SOC := ar9344
161 DEVICE_MODEL := WNDR4300
162 NETGEAR_KERNEL_MAGIC := 0x33373033
163 NETGEAR_BOARD_ID := WNDR4300
164 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
165 $(Device/netgear_ath79_nand)
166 endef
167 TARGET_DEVICES += netgear_wndr4300
168
169 define Device/netgear_wndr4300-v2
170 SOC := qca9563
171 DEVICE_MODEL := WNDR4300
172 DEVICE_VARIANT := v2
173 NETGEAR_KERNEL_MAGIC := 0x27051956
174 NETGEAR_BOARD_ID := WNDR4500series
175 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
176 $(Device/netgear_ath79_nand)
177 endef
178 TARGET_DEVICES += netgear_wndr4300-v2
179
180 define Device/netgear_wndr4500-v3
181 SOC := qca9563
182 DEVICE_MODEL := WNDR4500
183 DEVICE_VARIANT := v3
184 NETGEAR_KERNEL_MAGIC := 0x27051956
185 NETGEAR_BOARD_ID := WNDR4500series
186 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
187 $(Device/netgear_ath79_nand)
188 endef
189 TARGET_DEVICES += netgear_wndr4500-v3
190
191 define Device/zyxel_nbg6716
192 SOC := qca9558
193 DEVICE_VENDOR := ZyXEL
194 DEVICE_MODEL := NBG6716
195 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
196 ath10k-firmware-qca988x-ct
197 RAS_BOARD := NBG6716
198 RAS_ROOTFS_SIZE := 29696k
199 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
200 KERNEL_SIZE := 4096k
201 BLOCKSIZE := 128k
202 PAGESIZE := 2048
203 KERNEL := kernel-bin | append-dtb | uImage none | zyxel-buildkerneljffs | \
204 check-size 4096k
205 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
206 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
207 sysupgrade-tar rootfs=$$$$@ | append-metadata
208 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
209 pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
210 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
211 zyxel-factory
212 UBINIZE_OPTS := -E 5
213 endef
214 TARGET_DEVICES += zyxel_nbg6716
215 DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION