Makefile 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. # Copyright (c) 2014 The Linux Foundation. All rights reserved.
  2. #
  3. include $(TOPDIR)/rules.mk
  4. include $(INCLUDE_DIR)/image.mk
  5. define Device/Default
  6. PROFILES := Default
  7. KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
  8. KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
  9. KERNEL_PREFIX := $$(IMAGE_PREFIX)
  10. KERNEL_LOADADDR = 0x42208000
  11. SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
  12. IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
  13. IMAGE/sysupgrade.bin/squashfs :=
  14. endef
  15. define Device/LegacyImage
  16. KERNEL_SUFFIX := -uImage
  17. KERNEL = kernel-bin | append-dtb | uImage none
  18. KERNEL_NAME := zImage
  19. endef
  20. define Device/FitImage
  21. KERNEL_SUFFIX := -fit-uImage.itb
  22. KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
  23. KERNEL_NAME := Image
  24. endef
  25. define Device/FitImageLzma
  26. KERNEL_SUFFIX := -fit-uImage.itb
  27. KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
  28. KERNEL_NAME := Image
  29. endef
  30. define Device/UbiFit
  31. KERNEL_IN_UBI := 1
  32. IMAGES := nand-factory.ubi nand-sysupgrade.bin
  33. IMAGE/nand-factory.ubi := append-ubi
  34. IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
  35. endef
  36. define Device/DniImage
  37. KERNEL_SUFFIX := -uImage
  38. KERNEL = kernel-bin | append-dtb | uImage none
  39. KERNEL_NAME := zImage
  40. NETGEAR_BOARD_ID :=
  41. NETGEAR_HW_ID :=
  42. UBINIZE_OPTS := -E 5
  43. IMAGES := factory.img sysupgrade.bin
  44. IMAGE/factory.img := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakeroot-hdr | pad-to $$$$(KERNEL_SIZE) | append-ubi | netgear-dni
  45. IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakeroot-hdr | sysupgrade-tar kernel=$$$$@ | append-metadata
  46. endef
  47. DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
  48. define Device/TpSafeImage
  49. KERNEL_SUFFIX := -uImage
  50. KERNEL = kernel-bin | append-dtb | uImage none
  51. KERNEL_NAME := zImage
  52. TPLINK_BOARD_ID :=
  53. IMAGES := factory.bin sysupgrade.bin
  54. IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
  55. IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata
  56. endef
  57. DEVICE_VARS += TPLINK_BOARD_ID
  58. define Device/ZyXELImage
  59. KERNEL_SUFFIX := -uImage
  60. KERNEL = kernel-bin | append-dtb | uImage none | pad-to $${KERNEL_SIZE}
  61. KERNEL_NAME := zImage
  62. IMAGES := sysupgrade.bin mmcblk0p5-rootfs.bin mmcblk0p4-kernel.bin
  63. IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$${BLOCKSIZE} | sysupgrade-tar rootfs=$$$$@ | append-metadata
  64. IMAGE/mmcblk0p5-rootfs.bin := append-rootfs | pad-rootfs | pad-to $$$${BLOCKSIZE}
  65. IMAGE/mmcblk0p4-kernel.bin := append-kernel
  66. endef
  67. define Device/avm_fritzbox-4040
  68. $(call Device/FitImageLzma)
  69. DEVICE_DTS := qcom-ipq4019-fritz4040
  70. KERNEL_LOADADDR := 0x80208000
  71. BLOCKSIZE := 4k
  72. PAGESIZE := 256
  73. BOARD_NAME := fritz4040
  74. DEVICE_TITLE := AVM Fritz!Box 4040
  75. IMAGE_SIZE := 29753344
  76. IMAGES = sysupgrade.bin
  77. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
  78. DEVICE_PACKAGES := ipq-wifi-avm_fritzbox-4040 fritz-tffs fritz-caldata u-boot-fritz4040
  79. endef
  80. TARGET_DEVICES += avm_fritzbox-4040
  81. define Device/linksys_ea8500
  82. $(call Device/LegacyImage)
  83. DEVICE_DTS := qcom-ipq8064-ea8500
  84. PAGESIZE := 2048
  85. BLOCKSIZE := 128k
  86. KERNEL_SIZE := 3072k
  87. KERNEL = kernel-bin | append-dtb | uImage none | append-uImage-fakeroot-hdr
  88. BOARD_NAME := ea8500
  89. SUPPORTED_DEVICES += ea8500
  90. UBINIZE_OPTS := -E 5
  91. IMAGES := factory.bin sysupgrade.bin
  92. IMAGE/factory.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi
  93. DEVICE_TITLE := Linksys EA8500
  94. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  95. endef
  96. TARGET_DEVICES += linksys_ea8500
  97. define Device/netgear_d7800
  98. $(call Device/DniImage)
  99. DEVICE_DTS := qcom-ipq8064-d7800
  100. KERNEL_SIZE := 2097152
  101. NETGEAR_BOARD_ID := D7800
  102. NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
  103. BLOCKSIZE := 128k
  104. PAGESIZE := 2048
  105. BOARD_NAME := d7800
  106. SUPPORTED_DEVICES += d7800
  107. DEVICE_TITLE := Netgear Nighthawk X4 D7800
  108. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  109. endef
  110. TARGET_DEVICES += netgear_d7800
  111. define Device/netgear_r7500
  112. $(call Device/DniImage)
  113. DEVICE_DTS := qcom-ipq8064-r7500
  114. KERNEL_SIZE := 2097152
  115. NETGEAR_BOARD_ID := R7500
  116. NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4
  117. BLOCKSIZE := 128k
  118. PAGESIZE := 2048
  119. BOARD_NAME := r7500
  120. SUPPORTED_DEVICES += r7500
  121. DEVICE_TITLE := Netgear Nighthawk X4 R7500
  122. DEVICE_PACKAGES := ath10k-firmware-qca988x
  123. endef
  124. TARGET_DEVICES += netgear_r7500
  125. define Device/netgear_r7500v2
  126. $(call Device/DniImage)
  127. DEVICE_DTS := qcom-ipq8064-r7500v2
  128. KERNEL_SIZE := 2097152
  129. NETGEAR_BOARD_ID := R7500v2
  130. NETGEAR_HW_ID := 29764958+0+128+512+3x3+4x4
  131. BLOCKSIZE := 128k
  132. PAGESIZE := 2048
  133. BOARD_NAME := r7500v2
  134. SUPPORTED_DEVICES += r7500v2
  135. DEVICE_TITLE := Netgear Nighthawk X4 R7500v2
  136. DEVICE_PACKAGES := ath10k-firmware-qca99x0 ath10k-firmware-qca988x
  137. endef
  138. TARGET_DEVICES += netgear_r7500v2
  139. define Device/netgear_r7800
  140. $(call Device/DniImage)
  141. DEVICE_DTS := qcom-ipq8065-r7800
  142. KERNEL_SIZE := 2097152
  143. NETGEAR_BOARD_ID := R7800
  144. NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4+cascade
  145. BLOCKSIZE := 128k
  146. PAGESIZE := 2048
  147. BOARD_NAME := r7800
  148. SUPPORTED_DEVICES += r7800
  149. DEVICE_TITLE := Netgear Nighthawk X4S R7800
  150. DEVICE_PACKAGES := ath10k-firmware-qca9984
  151. endef
  152. TARGET_DEVICES += netgear_r7800
  153. define Device/glinet_gl-b1300
  154. DEVICE_TITLE := GL.iNet GL-B1300
  155. BOARD_NAME := gl-b1300
  156. DEVICE_DTS := qcom-ipq4019-gl-b1300
  157. KERNEL_LOADADDR := 0x80208000
  158. KERNEL_INSTALL := 1
  159. KERNEL_SIZE := 4096k
  160. IMAGE_SIZE := 26624k
  161. $(call Device/FitImage)
  162. IMAGES := sysupgrade.bin
  163. IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
  164. DEVICE_PACKAGES := ipq-wifi-glinet_gl-b1300
  165. endef
  166. TARGET_DEVICES += glinet_gl-b1300
  167. define Device/openmesh_a42
  168. $(call Device/FitImageLzma)
  169. DEVICE_DTS := qcom-ipq4019-a42
  170. KERNEL_LOADADDR := 0x80208000
  171. BLOCKSIZE := 64k
  172. SUPPORTED_DEVICES := openmesh,a42
  173. DEVICE_TITLE := OpenMesh A42
  174. KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
  175. IMAGE_SIZE := 15616k
  176. IMAGES = factory.bin sysupgrade.bin
  177. IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
  178. IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
  179. DEVICE_PACKAGES := ath10k-firmware-qca4019 uboot-envtools
  180. endef
  181. TARGET_DEVICES += openmesh_a42
  182. define Device/qcom_ap-dk01.1-c1
  183. DEVICE_TITLE := QCA AP-DK01.1-C1
  184. BOARD_NAME := ap-dk01.1-c1
  185. DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
  186. KERNEL_LOADADDR := 0x80208000
  187. KERNEL_INSTALL := 1
  188. KERNEL_SIZE := 4096k
  189. IMAGE_SIZE := 26624k
  190. $(call Device/FitImage)
  191. IMAGES := sysupgrade.bin
  192. IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
  193. DEVICE_PACKAGES := ath10k-firmware-qca4019
  194. endef
  195. TARGET_DEVICES += qcom_ap-dk01.1-c1
  196. define Device/qcom_ap-dk04.1-c1
  197. $(call Device/FitImage)
  198. $(call Device/UbiFit)
  199. DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
  200. KERNEL_LOADADDR := 0x80208000
  201. KERNEL_INSTALL := 1
  202. KERNEL_SIZE := 4048k
  203. BLOCKSIZE := 128k
  204. PAGESIZE := 2048
  205. BOARD_NAME := ap-dk04.1-c1
  206. DEVICE_TITLE := QCA AP-DK04.1-C1
  207. endef
  208. TARGET_DEVICES += qcom_ap-dk04.1-c1
  209. define Device/qcom_ipq8064-ap148
  210. $(call Device/FitImage)
  211. $(call Device/UbiFit)
  212. DEVICE_DTS := qcom-ipq8064-ap148
  213. KERNEL_INSTALL := 1
  214. BLOCKSIZE := 128k
  215. PAGESIZE := 2048
  216. BOARD_NAME := ap148
  217. SUPPORTED_DEVICES += ap148
  218. DEVICE_TITLE := Qualcomm AP148
  219. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  220. endef
  221. TARGET_DEVICES += qcom_ipq8064-ap148
  222. define Device/qcom_ipq8064-ap148-legacy
  223. $(call Device/LegacyImage)
  224. $(call Device/UbiFit)
  225. DEVICE_DTS := qcom-ipq8064-ap148
  226. BLOCKSIZE := 128k
  227. PAGESIZE := 2048
  228. BOARD_NAME := ap148
  229. SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
  230. DEVICE_TITLE := Qualcomm AP148 (legacy)
  231. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  232. endef
  233. TARGET_DEVICES += qcom_ipq8064-ap148-legacy
  234. define Device/qcom_ipq8064-db149
  235. $(call Device/FitImage)
  236. DEVICE_DTS := qcom-ipq8064-db149
  237. KERNEL_INSTALL := 1
  238. BOARD_NAME := db149
  239. DEVICE_TITLE := Qualcomm DB149
  240. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  241. endef
  242. TARGET_DEVICES += qcom_ipq8064-db149
  243. define Device/tplink_c2600
  244. $(call Device/TpSafeImage)
  245. DEVICE_DTS := qcom-ipq8064-c2600
  246. BLOCKSIZE := 128k
  247. PAGESIZE := 2048
  248. BOARD_NAME := c2600
  249. SUPPORTED_DEVICES += c2600
  250. TPLINK_BOARD_ID := C2600
  251. DEVICE_TITLE := TP-Link Archer C2600
  252. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  253. endef
  254. TARGET_DEVICES += tplink_c2600
  255. define Device/tplink_vr2600v
  256. KERNEL_SUFFIX := -uImage
  257. KERNEL = kernel-bin | append-dtb | uImage none
  258. KERNEL_NAME := zImage
  259. KERNEL_SIZE := 2097152
  260. DEVICE_DTS := qcom-ipq8064-vr2600v
  261. BLOCKSIZE := 128k
  262. PAGESIZE := 2048
  263. BOARD_NAME := vr2600v
  264. SUPPORTED_DEVICES += vr2600v
  265. DEVICE_TITLE := TP-Link Archer VR2600v
  266. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  267. IMAGES := sysupgrade.bin
  268. IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
  269. endef
  270. TARGET_DEVICES += tplink_vr2600v
  271. define Device/zyxel_nbg6817
  272. DEVICE_DTS := qcom-ipq8065-nbg6817
  273. KERNEL_SIZE := 4096k
  274. BLOCKSIZE := 64k
  275. BOARD_NAME := nbg6817
  276. SUPPORTED_DEVICES += nbg6817
  277. DEVICE_TITLE := ZyXEL NBG6817
  278. DEVICE_PACKAGES := ath10k-firmware-qca9984 e2fsprogs kmod-fs-ext4 losetup
  279. $(call Device/ZyXELImage)
  280. endef
  281. TARGET_DEVICES += zyxel_nbg6817
  282. $(eval $(call BuildImage))