cortexa9.mk 11 KB

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