Makefile 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. #
  2. # Copyright (C) 2013-2016 OpenWrt.org
  3. # Copyright (C) 2017 Yousong Zhou
  4. #
  5. # This is free software, licensed under the GNU General Public License v2.
  6. # See /LICENSE for more information.
  7. #
  8. include $(TOPDIR)/rules.mk
  9. include $(INCLUDE_DIR)/kernel.mk
  10. PKG_VERSION:=2024.01
  11. PKG_HASH:=b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3
  12. PKG_MAINTAINER:=Zoltan HERPAI <[email protected]>
  13. UBOOT_USE_INTREE_DTC:=1
  14. include $(INCLUDE_DIR)/u-boot.mk
  15. include $(INCLUDE_DIR)/package.mk
  16. define U-Boot/Default
  17. BUILD_TARGET:=sunxi
  18. UBOOT_IMAGE:=u-boot-sunxi-with-spl.bin
  19. UENV:=default
  20. HIDDEN:=1
  21. endef
  22. define U-Boot/a64-olinuxino
  23. BUILD_SUBTARGET:=cortexa53
  24. NAME:=Olimex A64-OLinuXino
  25. BUILD_DEVICES:=olimex_a64-olinuxino
  26. DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino:trusted-firmware-a-sunxi-a64
  27. UENV:=a64
  28. ATF:=a64
  29. endef
  30. define U-Boot/a64-olinuxino-emmc
  31. BUILD_SUBTARGET:=cortexa53
  32. NAME:=Olimex A64-OLinuXino eMMC
  33. BUILD_DEVICES:=olimex_a64-olinuxino-emmc
  34. DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino-emmc:trusted-firmware-a-sunxi-a64
  35. UENV:=a64
  36. ATF:=a64
  37. endef
  38. define U-Boot/A10-OLinuXino-Lime
  39. BUILD_SUBTARGET:=cortexa8
  40. NAME:=A10 OLinuXino LIME
  41. BUILD_DEVICES:=olimex_a10-olinuxino-lime
  42. endef
  43. define U-Boot/A13-OLinuXino
  44. BUILD_SUBTARGET:=cortexa8
  45. NAME:=A13 OlinuXino
  46. BUILD_DEVICES:=olimex_a13-olinuxino
  47. endef
  48. define U-Boot/A20-OLinuXino-Lime
  49. BUILD_SUBTARGET:=cortexa7
  50. NAME:=A20 OLinuXino LIME
  51. BUILD_DEVICES:=olimex_a20-olinuxino-lime
  52. endef
  53. define U-Boot/A20-OLinuXino-Lime2
  54. BUILD_SUBTARGET:=cortexa7
  55. NAME:=A20 OLinuXino LIME2
  56. BUILD_DEVICES:=olimex_a20-olinuxino-lime2
  57. endef
  58. define U-Boot/A20-OLinuXino-Lime2-eMMC
  59. BUILD_SUBTARGET:=cortexa7
  60. NAME:=A20 OLinuXino LIME2 eMMC
  61. BUILD_DEVICES:=olimex_a20-olinuxino-lime2-emmc
  62. endef
  63. define U-Boot/A20-OLinuXino_MICRO
  64. BUILD_SUBTARGET:=cortexa7
  65. NAME:=A20 OLinuXino MICRO
  66. BUILD_DEVICES:=olimex_a20-olinuxino-micro
  67. endef
  68. define U-Boot/Bananapi
  69. BUILD_SUBTARGET:=cortexa7
  70. NAME:=Bananapi
  71. BUILD_DEVICES:=lemaker_bananapi
  72. endef
  73. define U-Boot/Bananapro
  74. BUILD_SUBTARGET:=cortexa7
  75. NAME:=Bananapro
  76. BUILD_DEVICES:=lemaker_bananapro
  77. endef
  78. define U-Boot/Cubieboard
  79. BUILD_SUBTARGET:=cortexa8
  80. NAME:=Cubieboard
  81. BUILD_DEVICES:=cubietech_a10-cubieboard
  82. endef
  83. define U-Boot/Cubieboard2
  84. BUILD_SUBTARGET:=cortexa7
  85. NAME:=Cubieboard2
  86. BUILD_DEVICES:=cubietech_cubieboard2
  87. endef
  88. define U-Boot/Cubietruck
  89. BUILD_SUBTARGET:=cortexa7
  90. NAME:=Cubietruck
  91. BUILD_DEVICES:=cubietech_cubietruck
  92. endef
  93. define U-Boot/Hummingbird_A31
  94. BUILD_SUBTARGET:=cortexa7
  95. NAME:=Hummingbird A31 board
  96. endef
  97. define U-Boot/Marsboard_A10
  98. BUILD_SUBTARGET:=cortexa8
  99. NAME:=HAOYU Marsboard A10
  100. BUILD_DEVICES:=haoyu_a10-marsboard
  101. endef
  102. define U-Boot/Mele_M9
  103. BUILD_SUBTARGET:=cortexa7
  104. NAME:=Mele M9 (A31)
  105. BUILD_DEVICES:=mele_m9
  106. endef
  107. define U-Boot/OLIMEX_A13_SOM
  108. BUILD_SUBTARGET:=cortexa8
  109. NAME:=Olimex A13 SOM
  110. BUILD_DEVICES:=olimex_a13-olimex-som
  111. endef
  112. define U-Boot/Linksprite_pcDuino
  113. BUILD_SUBTARGET:=cortexa8
  114. NAME:=Linksprite pcDuino
  115. BUILD_DEVICES:=linksprite_a10-pcduino
  116. endef
  117. define U-Boot/Linksprite_pcDuino3
  118. BUILD_SUBTARGET:=cortexa7
  119. NAME:=Linksprite pcDuino3
  120. BUILD_DEVICES:=linksprite_pcduino3
  121. endef
  122. define U-Boot/Linksprite_pcDuino3_Nano
  123. BUILD_SUBTARGET:=cortexa7
  124. NAME:=Linksprite pcDuino3 Nano
  125. BUILD_DEVICES:=linksprite_pcduino3-nano
  126. endef
  127. define U-Boot/Lamobo_R1
  128. BUILD_SUBTARGET:=cortexa7
  129. NAME:=Lamobo R1
  130. BUILD_DEVICES:=lamobo_lamobo-r1
  131. endef
  132. define U-Boot/nanopi_m1_plus
  133. BUILD_SUBTARGET:=cortexa7
  134. NAME:=NanoPi M1 Plus (H3)
  135. BUILD_DEVICES:=friendlyarm_nanopi-m1-plus
  136. endef
  137. define U-Boot/zeropi
  138. BUILD_SUBTARGET:=cortexa7
  139. NAME:=ZeroPi (H3)
  140. BUILD_DEVICES:=friendlyarm_zeropi
  141. endef
  142. define U-Boot/nanopi_neo_air
  143. BUILD_SUBTARGET:=cortexa7
  144. NAME:=U-Boot for NanoPi NEO Air (H3)
  145. BUILD_DEVICES:=friendlyarm_nanopi-neo-air
  146. endef
  147. define U-Boot/nanopi_neo
  148. BUILD_SUBTARGET:=cortexa7
  149. NAME:=U-Boot for NanoPi NEO (H3)
  150. BUILD_DEVICES:=friendlyarm_nanopi-neo
  151. endef
  152. define U-Boot/nanopi_r1
  153. BUILD_SUBTARGET:=cortexa7
  154. NAME:=U-Boot for NanoPi R1 (H3)
  155. BUILD_DEVICES:=friendlyarm_nanopi-r1
  156. endef
  157. define U-Boot/orangepi_r1
  158. BUILD_SUBTARGET:=cortexa7
  159. NAME:=Orange Pi R1 (H2+)
  160. BUILD_DEVICES:=xunlong_orangepi-r1
  161. endef
  162. define U-Boot/orangepi_zero
  163. BUILD_SUBTARGET:=cortexa7
  164. NAME:=Orange Pi Zero (H2+)
  165. BUILD_DEVICES:=xunlong_orangepi-zero
  166. endef
  167. define U-Boot/orangepi_one
  168. BUILD_SUBTARGET:=cortexa7
  169. NAME:=Orange Pi One (H3)
  170. BUILD_DEVICES:=xunlong_orangepi-one
  171. endef
  172. define U-Boot/orangepi_one_plus
  173. BUILD_SUBTARGET:=cortexa53
  174. NAME:=Orange Pi One Plus (H6)
  175. DEPENDS:=+PACKAGE_u-boot-orangepi_one_plus:trusted-firmware-a-sunxi-h6
  176. BUILD_DEVICES:=xunlong_orangepi-one-plus
  177. UENV:=h6
  178. ATF:=h6
  179. endef
  180. define U-Boot/orangepi_pc
  181. BUILD_SUBTARGET:=cortexa7
  182. NAME:=Orange Pi PC (H3)
  183. BUILD_DEVICES:=xunlong_orangepi-pc
  184. endef
  185. define U-Boot/orangepi_pc_plus
  186. BUILD_SUBTARGET:=cortexa7
  187. NAME:=Orange Pi PC Plus (H3)
  188. BUILD_DEVICES:=xunlong_orangepi-pc-plus
  189. endef
  190. define U-Boot/orangepi_plus
  191. BUILD_SUBTARGET:=cortexa7
  192. NAME:=Orange Pi Plus (H3)
  193. BUILD_DEVICES:=xunlong_orangepi-plus
  194. endef
  195. define U-Boot/orangepi_2
  196. BUILD_SUBTARGET:=cortexa7
  197. NAME:=Orange Pi 2 (H3)
  198. BUILD_DEVICES:=xunlong_orangepi-2
  199. endef
  200. define U-Boot/pangolin
  201. BUILD_SUBTARGET:=cortexa7
  202. NAME:=Theobroma A31-yQ7 devboard
  203. UENV:=pangolin
  204. endef
  205. define U-Boot/libretech_all_h3_cc_h5
  206. BUILD_SUBTARGET:=cortexa53
  207. NAME:=Libre Computer ALL-H3-CC H5
  208. BUILD_DEVICES:=libretech_all-h3-cc-h5
  209. DEPENDS:=+PACKAGE_u-boot-libretech_all_h3_cc_h5:trusted-firmware-a-sunxi-a64
  210. UENV:=a64
  211. ATF:=a64
  212. endef
  213. define U-Boot/nanopi_neo_plus2
  214. BUILD_SUBTARGET:=cortexa53
  215. NAME:=NanoPi NEO Plus2 (H5)
  216. BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2
  217. DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:trusted-firmware-a-sunxi-a64
  218. UENV:=a64
  219. ATF:=a64
  220. endef
  221. define U-Boot/nanopi_neo2
  222. BUILD_SUBTARGET:=cortexa53
  223. NAME:=NanoPi NEO2 (H5)
  224. BUILD_DEVICES:=friendlyarm_nanopi-neo2
  225. DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:trusted-firmware-a-sunxi-a64
  226. UENV:=a64
  227. ATF:=a64
  228. endef
  229. define U-Boot/nanopi_r1s_h5
  230. BUILD_SUBTARGET:=cortexa53
  231. NAME:=NanoPi R1S (H5)
  232. BUILD_DEVICES:=friendlyarm_nanopi-r1s-h5
  233. DEPENDS:=+PACKAGE_u-boot-nanopi_r1s_h5:trusted-firmware-a-sunxi-a64
  234. UENV:=a64
  235. ATF:=a64
  236. endef
  237. define U-Boot/pine64_plus
  238. BUILD_SUBTARGET:=cortexa53
  239. NAME:=Pine64 Plus A64
  240. BUILD_DEVICES:=pine64_pine64-plus
  241. DEPENDS:=+PACKAGE_u-boot-pine64_plus:trusted-firmware-a-sunxi-a64
  242. UENV:=a64
  243. ATF:=a64
  244. endef
  245. define U-Boot/bananapi_m2_plus_h3
  246. BUILD_SUBTARGET:=cortexa7
  247. NAME:=Bananapi M2 Plus H3
  248. BUILD_DEVICES:=sinovoip_bananapi-m2-plus
  249. endef
  250. define U-Boot/Sinovoip_BPI_M3
  251. BUILD_SUBTARGET:=cortexa7
  252. NAME:=Bananapi M3
  253. BUILD_DEVICES:=sinovoip_bananapi-m3
  254. endef
  255. define U-Boot/sopine_baseboard
  256. BUILD_SUBTARGET:=cortexa53
  257. NAME:=Sopine Baseboard
  258. BUILD_DEVICES:=pine64_sopine-baseboard
  259. DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:trusted-firmware-a-sunxi-a64
  260. UENV:=a64
  261. ATF:=a64
  262. endef
  263. define U-Boot/orangepi_zero_plus
  264. BUILD_SUBTARGET:=cortexa53
  265. NAME:=Xunlong Orange Pi Zero Plus
  266. BUILD_DEVICES:=xunlong_orangepi-zero-plus
  267. DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:trusted-firmware-a-sunxi-a64
  268. UENV:=a64
  269. ATF:=a64
  270. endef
  271. define U-Boot/orangepi_pc2
  272. BUILD_SUBTARGET:=cortexa53
  273. NAME:=Xunlong Orange Pi PC2
  274. BUILD_DEVICES:=xunlong_orangepi-pc2
  275. DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:trusted-firmware-a-sunxi-a64
  276. UENV:=a64
  277. ATF:=a64
  278. endef
  279. define U-Boot/orangepi_zero2
  280. BUILD_SUBTARGET:=cortexa53
  281. NAME:=Xunlong Orange Pi Zero2
  282. BUILD_DEVICES:=xunlong_orangepi-zero2
  283. DEPENDS:=+PACKAGE_u-boot-orangepi_zero2:trusted-firmware-a-sunxi-h616
  284. UENV:=h616
  285. ATF:=h616
  286. endef
  287. define U-Boot/orangepi_zero3
  288. BUILD_SUBTARGET:=cortexa53
  289. NAME:=Xunlong Orange Pi Zero3
  290. BUILD_DEVICES:=xunlong_orangepi-zero3
  291. DEPENDS:=+PACKAGE_u-boot-orangepi_zero3:trusted-firmware-a-sunxi-h616
  292. UENV:=h616
  293. ATF:=h616
  294. endef
  295. define U-Boot/Bananapi_M2_Ultra
  296. BUILD_SUBTARGET:=cortexa7
  297. NAME:=Bananapi M2 Ultra
  298. BUILD_DEVICES:=sinovoip_bananapi-m2-ultra
  299. endef
  300. define U-Boot/bananapi_m2_berry
  301. BUILD_SUBTARGET:=cortexa7
  302. NAME:=Bananapi M2 Berry
  303. BUILD_DEVICES:=sinovoip_bananapi-m2-berry
  304. endef
  305. define U-Boot/bananapi_p2_zero
  306. BUILD_SUBTARGET:=cortexa7
  307. NAME:=Bananapi P2 Zero
  308. BUILD_DEVICES:=sinovoip_bananapi-p2-zero
  309. endef
  310. UBOOT_TARGETS := \
  311. a64-olinuxino \
  312. a64-olinuxino-emmc \
  313. A10-OLinuXino-Lime \
  314. A13-OLinuXino \
  315. A20-OLinuXino-Lime \
  316. A20-OLinuXino-Lime2 \
  317. A20-OLinuXino-Lime2-eMMC \
  318. A20-OLinuXino_MICRO \
  319. bananapi_m2_plus_h3 \
  320. Bananapi \
  321. bananapi_m2_berry \
  322. bananapi_p2_zero \
  323. Bananapi_M2_Ultra \
  324. Bananapro \
  325. Cubieboard \
  326. Cubieboard2 \
  327. Cubietruck \
  328. Hummingbird_A31 \
  329. Marsboard_A10 \
  330. Mele_M9 \
  331. OLIMEX_A13_SOM \
  332. Linksprite_pcDuino \
  333. Linksprite_pcDuino3 \
  334. Linksprite_pcDuino3_Nano \
  335. Lamobo_R1 \
  336. nanopi_m1_plus \
  337. zeropi \
  338. nanopi_neo \
  339. nanopi_neo_air \
  340. nanopi_neo_plus2 \
  341. nanopi_neo2 \
  342. nanopi_r1 \
  343. nanopi_r1s_h5 \
  344. orangepi_zero \
  345. orangepi_r1 \
  346. orangepi_one \
  347. orangepi_one_plus \
  348. orangepi_pc \
  349. orangepi_pc_plus \
  350. orangepi_plus \
  351. orangepi_2 \
  352. orangepi_pc2 \
  353. orangepi_zero2 \
  354. orangepi_zero3 \
  355. pangolin \
  356. pine64_plus \
  357. Sinovoip_BPI_M3 \
  358. sopine_baseboard \
  359. orangepi_zero_plus \
  360. libretech_all_h3_cc_h5
  361. UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
  362. UBOOT_MAKE_FLAGS += \
  363. BL31=$(STAGING_DIR_IMAGE)/bl31_sunxi-$(ATF).bin SCP=/dev/null
  364. define Build/InstallDev
  365. $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
  366. $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
  367. mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
  368. $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
  369. endef
  370. define Package/u-boot/install/default
  371. endef
  372. $(eval $(call BuildPackage/U-Boot))