Makefile 7.6 KB

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