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