Makefile 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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.bin nand-sysupgrade.bin
  33. IMAGE/nand-factory.bin := 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-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | netgear-dni
  45. IMAGE/sysupgrade.bin := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem | 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/compex_wpq864
  68. $(call Device/FitImage)
  69. $(call Device/UbiFit)
  70. BLOCKSIZE := 128k
  71. PAGESIZE := 2048
  72. DEVICE_DTS := qcom-ipq8064-wpq864
  73. DEVICE_TITLE := Compex WPQ864
  74. DEVICE_PACKAGES := kmod-gpio-beeper
  75. endef
  76. TARGET_DEVICES += compex_wpq864
  77. define Device/linksys_ea8500
  78. $(call Device/LegacyImage)
  79. DEVICE_DTS := qcom-ipq8064-ea8500
  80. PAGESIZE := 2048
  81. BLOCKSIZE := 128k
  82. KERNEL_SIZE := 3072k
  83. KERNEL = kernel-bin | append-dtb | uImage none | append-uImage-fakehdr filesystem
  84. BOARD_NAME := ea8500
  85. SUPPORTED_DEVICES += ea8500
  86. UBINIZE_OPTS := -E 5
  87. IMAGES := factory.bin sysupgrade.bin
  88. IMAGE/factory.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-ubi
  89. DEVICE_TITLE := Linksys EA8500
  90. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  91. endef
  92. TARGET_DEVICES += linksys_ea8500
  93. define Device/nec_wg2600hp
  94. $(call Device/LegacyImage)
  95. DEVICE_DTS := qcom-ipq8064-wg2600hp
  96. BLOCKSIZE := 64k
  97. BOARD_NAME := wg2600hp
  98. DEVICE_TITLE := NEC Aterm WG2600HP
  99. IMAGES := sysupgrade.bin
  100. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
  101. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  102. endef
  103. TARGET_DEVICES += nec_wg2600hp
  104. define Device/netgear_d7800
  105. $(call Device/DniImage)
  106. DEVICE_DTS := qcom-ipq8064-d7800
  107. KERNEL_SIZE := 4096k
  108. NETGEAR_BOARD_ID := D7800
  109. NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
  110. BLOCKSIZE := 128k
  111. PAGESIZE := 2048
  112. BOARD_NAME := d7800
  113. SUPPORTED_DEVICES += d7800
  114. DEVICE_TITLE := Netgear Nighthawk X4 D7800
  115. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  116. endef
  117. TARGET_DEVICES += netgear_d7800
  118. define Device/netgear_r7500
  119. $(call Device/DniImage)
  120. DEVICE_DTS := qcom-ipq8064-r7500
  121. KERNEL_SIZE := 4096k
  122. NETGEAR_BOARD_ID := R7500
  123. NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4
  124. BLOCKSIZE := 128k
  125. PAGESIZE := 2048
  126. BOARD_NAME := r7500
  127. SUPPORTED_DEVICES += r7500
  128. DEVICE_TITLE := Netgear Nighthawk X4 R7500
  129. DEVICE_PACKAGES := ath10k-firmware-qca988x
  130. endef
  131. TARGET_DEVICES += netgear_r7500
  132. define Device/netgear_r7500v2
  133. $(call Device/DniImage)
  134. DEVICE_DTS := qcom-ipq8064-r7500v2
  135. KERNEL_SIZE := 4096k
  136. NETGEAR_BOARD_ID := R7500v2
  137. NETGEAR_HW_ID := 29764958+0+128+512+3x3+4x4
  138. BLOCKSIZE := 128k
  139. PAGESIZE := 2048
  140. BOARD_NAME := r7500v2
  141. SUPPORTED_DEVICES += r7500v2
  142. DEVICE_TITLE := Netgear Nighthawk X4 R7500v2
  143. DEVICE_PACKAGES := ath10k-firmware-qca99x0 ath10k-firmware-qca988x
  144. endef
  145. TARGET_DEVICES += netgear_r7500v2
  146. define Device/netgear_r7800
  147. $(call Device/DniImage)
  148. DEVICE_DTS := qcom-ipq8065-r7800
  149. KERNEL_SIZE := 4096k
  150. NETGEAR_BOARD_ID := R7800
  151. NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4+cascade
  152. BLOCKSIZE := 128k
  153. PAGESIZE := 2048
  154. BOARD_NAME := r7800
  155. SUPPORTED_DEVICES += r7800
  156. DEVICE_TITLE := Netgear Nighthawk X4S R7800
  157. DEVICE_PACKAGES := ath10k-firmware-qca9984
  158. endef
  159. TARGET_DEVICES += netgear_r7800
  160. define Device/qcom_ipq8064-ap148
  161. $(call Device/FitImage)
  162. $(call Device/UbiFit)
  163. DEVICE_DTS := qcom-ipq8064-ap148
  164. KERNEL_INSTALL := 1
  165. BLOCKSIZE := 128k
  166. PAGESIZE := 2048
  167. BOARD_NAME := ap148
  168. SUPPORTED_DEVICES += ap148
  169. DEVICE_TITLE := Qualcomm AP148
  170. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  171. endef
  172. TARGET_DEVICES += qcom_ipq8064-ap148
  173. define Device/qcom_ipq8064-ap148-legacy
  174. $(call Device/LegacyImage)
  175. $(call Device/UbiFit)
  176. DEVICE_DTS := qcom-ipq8064-ap148
  177. BLOCKSIZE := 128k
  178. PAGESIZE := 2048
  179. BOARD_NAME := ap148
  180. SUPPORTED_DEVICES := qcom,ipq8064-ap148 ap148
  181. DEVICE_TITLE := Qualcomm AP148 (legacy)
  182. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  183. endef
  184. TARGET_DEVICES += qcom_ipq8064-ap148-legacy
  185. define Device/qcom_ipq8064-db149
  186. $(call Device/FitImage)
  187. DEVICE_DTS := qcom-ipq8064-db149
  188. KERNEL_INSTALL := 1
  189. BOARD_NAME := db149
  190. DEVICE_TITLE := Qualcomm DB149
  191. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  192. endef
  193. TARGET_DEVICES += qcom_ipq8064-db149
  194. define Device/tplink_c2600
  195. $(call Device/TpSafeImage)
  196. DEVICE_DTS := qcom-ipq8064-c2600
  197. BLOCKSIZE := 128k
  198. PAGESIZE := 2048
  199. BOARD_NAME := c2600
  200. SUPPORTED_DEVICES += c2600
  201. TPLINK_BOARD_ID := C2600
  202. DEVICE_TITLE := TP-Link Archer C2600
  203. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  204. endef
  205. TARGET_DEVICES += tplink_c2600
  206. define Device/tplink_vr2600v
  207. KERNEL_SUFFIX := -uImage
  208. KERNEL = kernel-bin | append-dtb | uImage none
  209. KERNEL_NAME := zImage
  210. KERNEL_SIZE := 3072k
  211. DEVICE_DTS := qcom-ipq8064-vr2600v
  212. BLOCKSIZE := 128k
  213. PAGESIZE := 2048
  214. BOARD_NAME := vr2600v
  215. SUPPORTED_DEVICES += vr2600v
  216. DEVICE_TITLE := TP-Link Archer VR2600v
  217. DEVICE_PACKAGES := ath10k-firmware-qca99x0
  218. IMAGES := sysupgrade.bin
  219. IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
  220. endef
  221. TARGET_DEVICES += tplink_vr2600v
  222. define Device/zyxel_nbg6817
  223. DEVICE_DTS := qcom-ipq8065-nbg6817
  224. KERNEL_SIZE := 4096k
  225. BLOCKSIZE := 64k
  226. BOARD_NAME := nbg6817
  227. SUPPORTED_DEVICES += nbg6817
  228. DEVICE_TITLE := ZyXEL NBG6817
  229. DEVICE_PACKAGES := ath10k-firmware-qca9984 e2fsprogs kmod-fs-ext4 losetup
  230. $(call Device/ZyXELImage)
  231. endef
  232. TARGET_DEVICES += zyxel_nbg6817
  233. $(eval $(call BuildImage))