248f1cd6fdfdabd6b60c90b84a93fb6429de67f9
[openwrt/openwrt.git] / target / linux / mvebu / image / cortexa9.mk
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2012-2016 OpenWrt.org
4 # Copyright (C) 2016 LEDE-project.org
5
6 define Build/fortigate-header
7 ( \
8 dd if=/dev/zero bs=384 count=1 2>/dev/null; \
9 datalen=$$(wc -c $@ | cut -d' ' -f1); \
10 datalen=$$(printf "%08x" $$datalen); \
11 datalen="$${datalen:6:2}$${datalen:4:2}$${datalen:2:2}$${datalen:0:2}"; \
12 printf $$(echo "00020000$${datalen}ffff0000ffff0000" | sed 's/../\\x&/g'); \
13 dd if=/dev/zero bs=112 count=1 2>/dev/null; \
14 cat $@; \
15 ) > $@.new
16 mv $@.new $@
17 endef
18
19 define Device/dsa-migration
20 DEVICE_COMPAT_VERSION := 1.1
21 DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
22 endef
23
24 define Device/kernel-size-migration
25 DEVICE_COMPAT_VERSION := 2.0
26 DEVICE_COMPAT_MESSAGE := Partition design has changed compared to older versions (up to 19.07) due to kernel size restrictions. \
27 Upgrade via sysupgrade mechanism is not possible, so new installation via factory style image is required.
28 endef
29
30 define Device/buffalo_ls220de
31 $(Device/NAND-128K)
32 DEVICE_VENDOR := Buffalo
33 DEVICE_MODEL := LinkStation LS220DE
34 KERNEL_UBIFS_OPTS = -m $$(PAGESIZE) -e 124KiB -c 172 -x none
35 KERNEL := kernel-bin | append-dtb | uImage none | buffalo-kernel-ubifs
36 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
37 DEVICE_DTS := armada-370-buffalo-ls220de
38 DEVICE_PACKAGES := \
39 kmod-hwmon-gpiofan kmod-hwmon-drivetemp kmod-linkstation-poweroff \
40 kmod-md-mod kmod-md-raid0 kmod-md-raid1 kmod-md-raid10 kmod-fs-xfs \
41 mdadm mkf2fs e2fsprogs partx-utils
42 endef
43 TARGET_DEVICES += buffalo_ls220de
44
45 define Device/buffalo_ls421de
46 $(Device/NAND-128K)
47 DEVICE_VENDOR := Buffalo
48 DEVICE_MODEL := LinkStation LS421DE
49 SUBPAGESIZE :=
50 KERNEL_SIZE := 33554432
51 FILESYSTEMS := squashfs ubifs
52 KERNEL := kernel-bin | append-dtb | uImage none | buffalo-kernel-jffs2
53 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
54 DEVICE_DTS := armada-370-buffalo-ls421de
55 DEVICE_PACKAGES := \
56 kmod-rtc-rs5c372a kmod-hwmon-gpiofan kmod-hwmon-drivetemp kmod-usb3 \
57 kmod-linkstation-poweroff kmod-md-raid0 kmod-md-raid1 kmod-md-mod \
58 kmod-fs-xfs mkf2fs e2fsprogs partx-utils
59 endef
60 TARGET_DEVICES += buffalo_ls421de
61
62 define Device/ctera_c200-v2
63 PAGESIZE := 2048
64 SUBPAGESIZE := 512
65 BLOCKSIZE := 128k
66 DEVICE_VENDOR := Ctera
67 DEVICE_MODEL := C200
68 DEVICE_VARIANT := V2
69 SOC := armada-370
70 KERNEL := kernel-bin | append-dtb | uImage none | ctera-firmware
71 KERNEL_IN_UBI :=
72 KERNEL_SUFFIX := -factory.firm
73 DEVICE_PACKAGES := \
74 kmod-gpio-button-hotplug kmod-hwmon-drivetemp kmod-hwmon-nct7802 \
75 kmod-rtc-s35390a kmod-usb3 kmod-usb-ledtrig-usbport
76 IMAGES := sysupgrade.bin
77 endef
78 TARGET_DEVICES += ctera_c200-v2
79
80 define Device/cznic_turris-omnia
81 DEVICE_VENDOR := CZ.NIC
82 DEVICE_MODEL := Turris Omnia
83 KERNEL_INSTALL := 1
84 SOC := armada-385
85 KERNEL := kernel-bin
86 KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(DEVICE_DTS).dtb
87 DEVICE_PACKAGES := \
88 mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \
89 wpad-basic-mbedtls kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \
90 partx-utils kmod-i2c-mux-pca954x kmod-leds-turris-omnia
91 IMAGES := $$(DEVICE_IMG_PREFIX)-sysupgrade.img.gz omnia-medkit-$$(DEVICE_IMG_PREFIX)-initramfs.tar.gz
92 IMAGE/$$(DEVICE_IMG_PREFIX)-sysupgrade.img.gz := boot-scr | boot-img | sdcard-img | gzip | append-metadata
93 IMAGE/omnia-medkit-$$(DEVICE_IMG_PREFIX)-initramfs.tar.gz := omnia-medkit-initramfs | gzip
94 DEVICE_IMG_NAME = $$(2)
95 SUPPORTED_DEVICES += armada-385-turris-omnia
96 BOOT_SCRIPT := turris-omnia
97 endef
98 TARGET_DEVICES += cznic_turris-omnia
99
100 define Device/fortinet_fg-50e
101 DEVICE_VENDOR := Fortinet
102 DEVICE_MODEL := FortiGate 50E
103 SOC := armada-385
104 KERNEL := kernel-bin | append-dtb
105 KERNEL_INITRAMFS := kernel-bin | append-dtb | fortigate-header | \
106 gzip-filename FGT50E
107 KERNEL_SIZE := 6144k
108 DEVICE_DTS := armada-385-fortinet-fg-50e
109 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
110 sysupgrade-tar rootfs=$$$$@ | append-metadata
111 DEVICE_PACKAGES := kmod-hwmon-nct7802
112 endef
113 TARGET_DEVICES += fortinet_fg-50e
114
115 define Device/globalscale_mirabox
116 $(Device/NAND-512K)
117 DEVICE_VENDOR := Globalscale
118 DEVICE_MODEL := Mirabox
119 SOC := armada-370
120 SUPPORTED_DEVICES += mirabox
121 endef
122 TARGET_DEVICES += globalscale_mirabox
123
124 define Device/iptime_nas1dual
125 DEVICE_VENDOR := ipTIME
126 DEVICE_MODEL := NAS1dual
127 DEVICE_PACKAGES := kmod-hwmon-drivetemp kmod-hwmon-gpiofan kmod-usb3
128 SOC := armada-385
129 KERNEL := kernel-bin | append-dtb | iptime-naspkg nas1dual
130 KERNEL_SIZE := 6144k
131 IMAGES := sysupgrade.bin
132 IMAGE_SIZE := 64256k
133 IMAGE/sysupgrade.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
134 append-rootfs | pad-rootfs | check-size | append-metadata
135 endef
136 TARGET_DEVICES += iptime_nas1dual
137
138 define Device/kobol_helios4
139 DEVICE_VENDOR := Kobol
140 DEVICE_MODEL := Helios4
141 KERNEL_INSTALL := 1
142 KERNEL := kernel-bin
143 DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
144 IMAGES := sdcard.img.gz
145 IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
146 SOC := armada-388
147 UBOOT := helios4-u-boot-with-spl.kwb
148 BOOT_SCRIPT := clearfog
149 endef
150 TARGET_DEVICES += kobol_helios4
151
152 define Device/linksys
153 $(Device/NAND-128K)
154 DEVICE_VENDOR := Linksys
155 DEVICE_PACKAGES := kmod-mwlwifi wpad-basic-mbedtls
156 IMAGES += factory.img
157 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
158 append-ubi | pad-to $$$$(PAGESIZE)
159 KERNEL_SIZE := 6144k
160 endef
161
162 define Device/linksys_wrt1200ac
163 $(call Device/linksys)
164 $(Device/dsa-migration)
165 DEVICE_MODEL := WRT1200AC
166 DEVICE_ALT0_VENDOR := Linksys
167 DEVICE_ALT0_MODEL := Caiman
168 DEVICE_DTS := armada-385-linksys-caiman
169 DEVICE_PACKAGES += mwlwifi-firmware-88w8864
170 SUPPORTED_DEVICES += armada-385-linksys-caiman linksys,caiman
171 endef
172 TARGET_DEVICES += linksys_wrt1200ac
173
174 define Device/linksys_wrt1900acs
175 $(call Device/linksys)
176 $(Device/dsa-migration)
177 DEVICE_MODEL := WRT1900ACS
178 DEVICE_VARIANT := v1
179 DEVICE_ALT0_VENDOR := Linksys
180 DEVICE_ALT0_MODEL := WRT1900ACS
181 DEVICE_ALT0_VARIANT := v2
182 DEVICE_ALT1_VENDOR := Linksys
183 DEVICE_ALT1_MODEL := Shelby
184 DEVICE_DTS := armada-385-linksys-shelby
185 DEVICE_PACKAGES += mwlwifi-firmware-88w8864
186 SUPPORTED_DEVICES += armada-385-linksys-shelby linksys,shelby
187 endef
188 TARGET_DEVICES += linksys_wrt1900acs
189
190 define Device/linksys_wrt1900ac-v1
191 $(call Device/linksys)
192 $(Device/kernel-size-migration)
193 DEVICE_MODEL := WRT1900AC
194 DEVICE_VARIANT := v1
195 DEVICE_ALT0_VENDOR := Linksys
196 DEVICE_ALT0_MODEL := Mamba
197 DEVICE_DTS := armada-xp-linksys-mamba
198 DEVICE_PACKAGES += mwlwifi-firmware-88w8864
199 KERNEL_SIZE := 4096k
200 SUPPORTED_DEVICES += armada-xp-linksys-mamba linksys,mamba
201 endef
202 TARGET_DEVICES += linksys_wrt1900ac-v1
203
204 define Device/linksys_wrt1900ac-v2
205 $(call Device/linksys)
206 $(Device/dsa-migration)
207 DEVICE_MODEL := WRT1900AC
208 DEVICE_VARIANT := v2
209 DEVICE_ALT0_VENDOR := Linksys
210 DEVICE_ALT0_MODEL := Cobra
211 DEVICE_DTS := armada-385-linksys-cobra
212 DEVICE_PACKAGES += mwlwifi-firmware-88w8864
213 SUPPORTED_DEVICES += armada-385-linksys-cobra linksys,cobra
214 endef
215 TARGET_DEVICES += linksys_wrt1900ac-v2
216
217 define Device/linksys_wrt3200acm
218 $(call Device/linksys)
219 $(Device/dsa-migration)
220 DEVICE_MODEL := WRT3200ACM
221 DEVICE_ALT0_VENDOR := Linksys
222 DEVICE_ALT0_MODEL := Rango
223 DEVICE_DTS := armada-385-linksys-rango
224 DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
225 SUPPORTED_DEVICES += armada-385-linksys-rango linksys,rango
226 endef
227 TARGET_DEVICES += linksys_wrt3200acm
228
229 define Device/linksys_wrt32x
230 $(call Device/linksys)
231 $(Device/kernel-size-migration)
232 DEVICE_MODEL := WRT32X
233 DEVICE_ALT0_VENDOR := Linksys
234 DEVICE_ALT0_MODEL := Venom
235 DEVICE_DTS := armada-385-linksys-venom
236 DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
237 KERNEL_SIZE := 6144k
238 KERNEL := kernel-bin | append-dtb
239 SUPPORTED_DEVICES += armada-385-linksys-venom linksys,venom
240 endef
241 TARGET_DEVICES += linksys_wrt32x
242
243 define Device/marvell_a370-db
244 $(Device/NAND-512K)
245 DEVICE_VENDOR := Marvell
246 DEVICE_MODEL := Armada 370 Development Board (DB-88F6710-BP-DDR3)
247 DEVICE_DTS := armada-370-db
248 SUPPORTED_DEVICES += armada-370-db
249 endef
250 TARGET_DEVICES += marvell_a370-db
251
252 define Device/marvell_a370-rd
253 $(Device/NAND-512K)
254 DEVICE_VENDOR := Marvell
255 DEVICE_MODEL := Armada 370 RD (RD-88F6710-A1)
256 DEVICE_DTS := armada-370-rd
257 SUPPORTED_DEVICES += armada-370-rd
258 endef
259 TARGET_DEVICES += marvell_a370-rd
260
261 define Device/marvell_a385-db-ap
262 $(Device/NAND-256K)
263 DEVICE_VENDOR := Marvell
264 DEVICE_MODEL := Armada 385 Development Board AP (DB-88F6820-AP)
265 DEVICE_DTS := armada-385-db-ap
266 IMAGES += factory.img
267 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
268 append-ubi | pad-to $$$$(PAGESIZE)
269 KERNEL_SIZE := 8192k
270 SUPPORTED_DEVICES += armada-385-db-ap
271 endef
272 TARGET_DEVICES += marvell_a385-db-ap
273
274 define Device/marvell_a388-rd
275 DEVICE_VENDOR := Marvell
276 DEVICE_MODEL := Armada 388 RD (RD-88F6820-AP)
277 DEVICE_DTS := armada-388-rd
278 IMAGES := firmware.bin
279 IMAGE/firmware.bin := append-kernel | pad-to 256k | append-rootfs | pad-rootfs
280 SUPPORTED_DEVICES := armada-388-rd marvell,a385-rd
281 endef
282 TARGET_DEVICES += marvell_a388-rd
283
284 define Device/marvell_axp-db
285 $(Device/NAND-512K)
286 DEVICE_VENDOR := Marvell
287 DEVICE_MODEL := Armada XP Development Board (DB-78460-BP)
288 DEVICE_DTS := armada-xp-db
289 SUPPORTED_DEVICES += armada-xp-db
290 endef
291 TARGET_DEVICES += marvell_axp-db
292
293 define Device/marvell_axp-gp
294 $(Device/NAND-512K)
295 DEVICE_VENDOR := Marvell
296 DEVICE_MODEL := Armada Armada XP GP (DB-MV784MP-GP)
297 DEVICE_DTS := armada-xp-gp
298 SUPPORTED_DEVICES += armada-xp-gp
299 endef
300 TARGET_DEVICES += marvell_axp-gp
301
302 define Device/plathome_openblocks-ax3-4
303 DEVICE_VENDOR := Plat'Home
304 DEVICE_MODEL := OpenBlocks AX3
305 DEVICE_VARIANT := 4 ports
306 SOC := armada-xp
307 SUPPORTED_DEVICES += openblocks-ax3-4
308 BLOCKSIZE := 128k
309 PAGESIZE := 1
310 IMAGES += factory.img
311 IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi
312 endef
313 TARGET_DEVICES += plathome_openblocks-ax3-4
314
315 define Device/solidrun_clearfog-base-a1
316 DEVICE_VENDOR := SolidRun
317 DEVICE_MODEL := ClearFog Base
318 KERNEL_INSTALL := 1
319 KERNEL := kernel-bin
320 DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
321 IMAGES := sdcard.img.gz
322 IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
323 DEVICE_DTS := armada-388-clearfog-base armada-388-clearfog-pro
324 UBOOT := clearfog-u-boot-with-spl.kwb
325 BOOT_SCRIPT := clearfog
326 SUPPORTED_DEVICES += armada-388-clearfog-base
327 DEVICE_COMPAT_VERSION := 1.1
328 DEVICE_COMPAT_MESSAGE := Ethernet interface rename has been dropped
329 endef
330 TARGET_DEVICES += solidrun_clearfog-base-a1
331
332 define Device/solidrun_clearfog-pro-a1
333 $(Device/dsa-migration)
334 DEVICE_VENDOR := SolidRun
335 DEVICE_MODEL := ClearFog Pro
336 KERNEL_INSTALL := 1
337 KERNEL := kernel-bin
338 DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
339 IMAGES := sdcard.img.gz
340 IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
341 DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
342 UBOOT := clearfog-u-boot-with-spl.kwb
343 BOOT_SCRIPT := clearfog
344 SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro
345 endef
346 TARGET_DEVICES += solidrun_clearfog-pro-a1