Makefile 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  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/openmesh_a42
  154. $(call Device/FitImageLzma)
  155. DEVICE_DTS := qcom-ipq4019-a42
  156. KERNEL_LOADADDR := 0x80208000
  157. BLOCKSIZE := 64k
  158. SUPPORTED_DEVICES := openmesh,a42
  159. DEVICE_TITLE := OpenMesh A42
  160. KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
  161. IMAGE_SIZE := 15616k
  162. IMAGES = factory.bin sysupgrade.bin
  163. IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
  164. IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
  165. DEVICE_PACKAGES := ath10k-firmware-qca4019 uboot-envtools ipq-wifi-openmesh_a42
  166. endef
  167. TARGET_DEVICES += openmesh_a42
  168. define Device/qcom_ap-dk01.1-c1
  169. DEVICE_TITLE := QCA AP-DK01.1-C1
  170. BOARD_NAME := ap-dk01.1-c1
  171. DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
  172. KERNEL_LOADADDR := 0x80208000
  173. KERNEL_INSTALL := 1
  174. KERNEL_SIZE := 4096k
  175. IMAGE_SIZE := 26624k
  176. $(call Device/FitImage)
  177. IMAGES := sysupgrade.bin
  178. IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
  179. DEVICE_PACKAGES := ath10k-firmware-qca4019
  180. endef
  181. TARGET_DEVICES += qcom_ap-dk01.1-c1
  182. define Device/qcom_ap-dk04.1-c1
  183. $(call Device/FitImage)
  184. $(call Device/UbiFit)
  185. DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
  186. KERNEL_LOADADDR := 0x80208000
  187. KERNEL_INSTALL := 1
  188. KERNEL_SIZE := 4048k
  189. BLOCKSIZE := 128k
  190. PAGESIZE := 2048
  191. BOARD_NAME := ap-dk04.1-c1
  192. DEVICE_TITLE := QCA AP-DK04.1-C1
  193. endef
  194. TARGET_DEVICES += qcom_ap-dk04.1-c1
  195. define Device/qcom_ipq8064-ap148
  196. $(call Device/FitImage)
  197. $(call Device/UbiFit)
  198. DEVICE_DTS := qcom-ipq8064-ap148
  199. KERNEL_INSTALL := 1
  200. BLOCKSIZE := 128k
  201. PAGESIZE := 2048
  202. BOARD_NAME := ap148
  203. SUPPORTED_DEVICES += ap148
  204. DEVICE_TITLE := Qualcomm AP148
  205. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  206. endef
  207. TARGET_DEVICES += qcom_ipq8064-ap148
  208. define Device/qcom_ipq8064-ap148-legacy
  209. $(call Device/LegacyImage)
  210. $(call Device/UbiFit)
  211. DEVICE_DTS := qcom-ipq8064-ap148
  212. BLOCKSIZE := 128k
  213. PAGESIZE := 2048
  214. BOARD_NAME := ap148
  215. SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
  216. DEVICE_TITLE := Qualcomm AP148 (legacy)
  217. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  218. endef
  219. TARGET_DEVICES += qcom_ipq8064-ap148-legacy
  220. define Device/qcom_ipq8064-db149
  221. $(call Device/FitImage)
  222. DEVICE_DTS := qcom-ipq8064-db149
  223. KERNEL_INSTALL := 1
  224. BOARD_NAME := db149
  225. DEVICE_TITLE := Qualcomm DB149
  226. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  227. endef
  228. TARGET_DEVICES += qcom_ipq8064-db149
  229. define Device/tplink_c2600
  230. $(call Device/TpSafeImage)
  231. DEVICE_DTS := qcom-ipq8064-c2600
  232. BLOCKSIZE := 128k
  233. PAGESIZE := 2048
  234. BOARD_NAME := c2600
  235. SUPPORTED_DEVICES += c2600
  236. TPLINK_BOARD_ID := C2600
  237. DEVICE_TITLE := TP-Link Archer C2600
  238. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  239. endef
  240. TARGET_DEVICES += tplink_c2600
  241. define Device/tplink_vr2600v
  242. KERNEL_SUFFIX := -uImage
  243. KERNEL = kernel-bin | append-dtb | uImage none
  244. KERNEL_NAME := zImage
  245. KERNEL_SIZE := 2097152
  246. DEVICE_DTS := qcom-ipq8064-vr2600v
  247. BLOCKSIZE := 128k
  248. PAGESIZE := 2048
  249. BOARD_NAME := vr2600v
  250. SUPPORTED_DEVICES += vr2600v
  251. DEVICE_TITLE := TP-Link Archer VR2600v
  252. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  253. IMAGES := sysupgrade.bin
  254. IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
  255. endef
  256. TARGET_DEVICES += tplink_vr2600v
  257. define Device/zyxel_nbg6817
  258. DEVICE_DTS := qcom-ipq8065-nbg6817
  259. KERNEL_SIZE := 4096k
  260. BLOCKSIZE := 64k
  261. BOARD_NAME := nbg6817
  262. SUPPORTED_DEVICES += nbg6817
  263. DEVICE_TITLE := ZyXEL NBG6817
  264. DEVICE_PACKAGES := ath10k-firmware-qca9984 e2fsprogs kmod-fs-ext4 losetup
  265. $(call Device/ZyXELImage)
  266. endef
  267. TARGET_DEVICES += zyxel_nbg6817
  268. $(eval $(call BuildImage))