Makefile 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  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:=2025.01
  11. PKG_HASH:=cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f
  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/beelink_x2
  79. BUILD_SUBTARGET:=cortexa7
  80. NAME:=Beelink X2 (H3)
  81. BUILD_DEVICES:=roofull_beelink-x2
  82. endef
  83. define U-Boot/Cubieboard
  84. BUILD_SUBTARGET:=cortexa8
  85. NAME:=Cubieboard
  86. BUILD_DEVICES:=cubietech_a10-cubieboard
  87. endef
  88. define U-Boot/Cubieboard2
  89. BUILD_SUBTARGET:=cortexa7
  90. NAME:=Cubieboard2
  91. BUILD_DEVICES:=cubietech_cubieboard2
  92. endef
  93. define U-Boot/Cubietruck
  94. BUILD_SUBTARGET:=cortexa7
  95. NAME:=Cubietruck
  96. BUILD_DEVICES:=cubietech_cubietruck
  97. endef
  98. define U-Boot/Hummingbird_A31
  99. BUILD_SUBTARGET:=cortexa7
  100. NAME:=Hummingbird A31 board
  101. BUILD_DEVICES:=merrii_hummingbird
  102. endef
  103. define U-Boot/Marsboard_A10
  104. BUILD_SUBTARGET:=cortexa8
  105. NAME:=HAOYU Marsboard A10
  106. BUILD_DEVICES:=haoyu_a10-marsboard
  107. endef
  108. define U-Boot/Mele_M9
  109. BUILD_SUBTARGET:=cortexa7
  110. NAME:=Mele M9 (A31)
  111. BUILD_DEVICES:=mele_m9
  112. endef
  113. define U-Boot/OLIMEX_A13_SOM
  114. BUILD_SUBTARGET:=cortexa8
  115. NAME:=Olimex A13 SOM
  116. BUILD_DEVICES:=olimex_a13-olimex-som
  117. endef
  118. define U-Boot/Linksprite_pcDuino
  119. BUILD_SUBTARGET:=cortexa8
  120. NAME:=Linksprite pcDuino
  121. BUILD_DEVICES:=linksprite_a10-pcduino
  122. endef
  123. define U-Boot/LicheePi_Zero
  124. BUILD_SUBTARGET:=cortexa7
  125. NAME:=Lichee Pi Zero V3s
  126. BUILD_DEVICES:=licheepi_licheepi-zero-dock
  127. endef
  128. define U-Boot/Linksprite_pcDuino3
  129. BUILD_SUBTARGET:=cortexa7
  130. NAME:=Linksprite pcDuino3
  131. BUILD_DEVICES:=linksprite_pcduino3
  132. endef
  133. define U-Boot/Linksprite_pcDuino3_Nano
  134. BUILD_SUBTARGET:=cortexa7
  135. NAME:=Linksprite pcDuino3 Nano
  136. BUILD_DEVICES:=linksprite_pcduino3-nano
  137. endef
  138. define U-Boot/Lamobo_R1
  139. BUILD_SUBTARGET:=cortexa7
  140. NAME:=Lamobo R1
  141. BUILD_DEVICES:=lamobo_lamobo-r1
  142. endef
  143. define U-Boot/nanopi_m1_plus
  144. BUILD_SUBTARGET:=cortexa7
  145. NAME:=NanoPi M1 Plus (H3)
  146. BUILD_DEVICES:=friendlyarm_nanopi-m1-plus
  147. endef
  148. define U-Boot/zeropi
  149. BUILD_SUBTARGET:=cortexa7
  150. NAME:=ZeroPi (H3)
  151. BUILD_DEVICES:=friendlyarm_zeropi
  152. endef
  153. define U-Boot/nanopi_neo_air
  154. BUILD_SUBTARGET:=cortexa7
  155. NAME:=U-Boot for NanoPi NEO Air (H3)
  156. BUILD_DEVICES:=friendlyarm_nanopi-neo-air
  157. endef
  158. define U-Boot/nanopi_neo
  159. BUILD_SUBTARGET:=cortexa7
  160. NAME:=U-Boot for NanoPi NEO (H3)
  161. BUILD_DEVICES:=friendlyarm_nanopi-neo
  162. endef
  163. define U-Boot/nanopi_r1
  164. BUILD_SUBTARGET:=cortexa7
  165. NAME:=U-Boot for NanoPi R1 (H3)
  166. BUILD_DEVICES:=friendlyarm_nanopi-r1
  167. endef
  168. define U-Boot/orangepi_r1
  169. BUILD_SUBTARGET:=cortexa7
  170. NAME:=Orange Pi R1 (H2+)
  171. BUILD_DEVICES:=xunlong_orangepi-r1
  172. endef
  173. define U-Boot/orangepi_zero
  174. BUILD_SUBTARGET:=cortexa7
  175. NAME:=Orange Pi Zero (H2+)
  176. BUILD_DEVICES:=xunlong_orangepi-zero
  177. endef
  178. define U-Boot/orangepi_one
  179. BUILD_SUBTARGET:=cortexa7
  180. NAME:=Orange Pi One (H3)
  181. BUILD_DEVICES:=xunlong_orangepi-one
  182. endef
  183. define U-Boot/orangepi_one_plus
  184. BUILD_SUBTARGET:=cortexa53
  185. NAME:=Orange Pi One Plus (H6)
  186. DEPENDS:=+PACKAGE_u-boot-orangepi_one_plus:trusted-firmware-a-sunxi-h6
  187. BUILD_DEVICES:=xunlong_orangepi-one-plus
  188. UENV:=h6
  189. ATF:=h6
  190. endef
  191. define U-Boot/orangepi_pc
  192. BUILD_SUBTARGET:=cortexa7
  193. NAME:=Orange Pi PC (H3)
  194. BUILD_DEVICES:=xunlong_orangepi-pc
  195. endef
  196. define U-Boot/orangepi_pc_plus
  197. BUILD_SUBTARGET:=cortexa7
  198. NAME:=Orange Pi PC Plus (H3)
  199. BUILD_DEVICES:=xunlong_orangepi-pc-plus
  200. endef
  201. define U-Boot/orangepi_plus
  202. BUILD_SUBTARGET:=cortexa7
  203. NAME:=Orange Pi Plus (H3)
  204. BUILD_DEVICES:=xunlong_orangepi-plus
  205. endef
  206. define U-Boot/orangepi_2
  207. BUILD_SUBTARGET:=cortexa7
  208. NAME:=Orange Pi 2 (H3)
  209. BUILD_DEVICES:=xunlong_orangepi-2
  210. endef
  211. define U-Boot/pangolin
  212. BUILD_SUBTARGET:=cortexa7
  213. NAME:=Theobroma A31-yQ7 devboard
  214. UENV:=pangolin
  215. endef
  216. define U-Boot/libretech_all_h3_cc_h5
  217. BUILD_SUBTARGET:=cortexa53
  218. NAME:=Libre Computer ALL-H3-CC H5
  219. BUILD_DEVICES:=libretech_all-h3-cc-h5
  220. DEPENDS:=+PACKAGE_u-boot-libretech_all_h3_cc_h5:trusted-firmware-a-sunxi-a64
  221. UENV:=a64
  222. ATF:=a64
  223. endef
  224. define U-Boot/nanopi_neo_plus2
  225. BUILD_SUBTARGET:=cortexa53
  226. NAME:=NanoPi NEO Plus2 (H5)
  227. BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2
  228. DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:trusted-firmware-a-sunxi-a64
  229. UENV:=a64
  230. ATF:=a64
  231. endef
  232. define U-Boot/nanopi_neo2
  233. BUILD_SUBTARGET:=cortexa53
  234. NAME:=NanoPi NEO2 (H5)
  235. BUILD_DEVICES:=friendlyarm_nanopi-neo2
  236. DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:trusted-firmware-a-sunxi-a64
  237. UENV:=a64
  238. ATF:=a64
  239. endef
  240. define U-Boot/nanopi_r1s_h5
  241. BUILD_SUBTARGET:=cortexa53
  242. NAME:=NanoPi R1S (H5)
  243. BUILD_DEVICES:=friendlyarm_nanopi-r1s-h5
  244. DEPENDS:=+PACKAGE_u-boot-nanopi_r1s_h5:trusted-firmware-a-sunxi-a64
  245. UENV:=a64
  246. ATF:=a64
  247. endef
  248. define U-Boot/pine64_plus
  249. BUILD_SUBTARGET:=cortexa53
  250. NAME:=Pine64 Plus A64
  251. BUILD_DEVICES:=pine64_pine64-plus
  252. DEPENDS:=+PACKAGE_u-boot-pine64_plus:trusted-firmware-a-sunxi-a64
  253. UENV:=a64
  254. ATF:=a64
  255. endef
  256. define U-Boot/bananapi_m2_plus_h3
  257. BUILD_SUBTARGET:=cortexa7
  258. NAME:=Bananapi M2 Plus H3
  259. BUILD_DEVICES:=sinovoip_bananapi-m2-plus
  260. endef
  261. define U-Boot/Sinovoip_BPI_M3
  262. BUILD_SUBTARGET:=cortexa7
  263. NAME:=Bananapi M3
  264. BUILD_DEVICES:=sinovoip_bananapi-m3
  265. endef
  266. define U-Boot/sopine_baseboard
  267. BUILD_SUBTARGET:=cortexa53
  268. NAME:=Sopine Baseboard
  269. BUILD_DEVICES:=pine64_sopine-baseboard
  270. DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:trusted-firmware-a-sunxi-a64
  271. UENV:=a64
  272. ATF:=a64
  273. endef
  274. define U-Boot/orangepi_zero_plus
  275. BUILD_SUBTARGET:=cortexa53
  276. NAME:=Xunlong Orange Pi Zero Plus
  277. BUILD_DEVICES:=xunlong_orangepi-zero-plus
  278. DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:trusted-firmware-a-sunxi-a64
  279. UENV:=a64
  280. ATF:=a64
  281. endef
  282. define U-Boot/orangepi_pc2
  283. BUILD_SUBTARGET:=cortexa53
  284. NAME:=Xunlong Orange Pi PC2
  285. BUILD_DEVICES:=xunlong_orangepi-pc2
  286. DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:trusted-firmware-a-sunxi-a64
  287. UENV:=a64
  288. ATF:=a64
  289. endef
  290. define U-Boot/orangepi_zero2
  291. BUILD_SUBTARGET:=cortexa53
  292. NAME:=Xunlong Orange Pi Zero2
  293. BUILD_DEVICES:=xunlong_orangepi-zero2
  294. DEPENDS:=+PACKAGE_u-boot-orangepi_zero2:trusted-firmware-a-sunxi-h616
  295. UENV:=h616
  296. ATF:=h616
  297. endef
  298. define U-Boot/orangepi_zero2w
  299. BUILD_SUBTARGET:=cortexa53
  300. NAME:=Xunlong Orange Pi Zero2W
  301. BUILD_DEVICES:=xunlong_orangepi-zero2w
  302. DEPENDS:=+PACKAGE_u-boot-orangepi_zero2w:trusted-firmware-a-sunxi-h616
  303. UENV:=h616
  304. ATF:=h616
  305. endef
  306. define U-Boot/orangepi_zero3
  307. BUILD_SUBTARGET:=cortexa53
  308. NAME:=Xunlong Orange Pi Zero3
  309. BUILD_DEVICES:=xunlong_orangepi-zero3
  310. DEPENDS:=+PACKAGE_u-boot-orangepi_zero3:trusted-firmware-a-sunxi-h616
  311. UENV:=h616
  312. ATF:=h616
  313. endef
  314. define U-Boot/Bananapi_M2_Ultra
  315. BUILD_SUBTARGET:=cortexa7
  316. NAME:=Bananapi M2 Ultra
  317. BUILD_DEVICES:=sinovoip_bananapi-m2-ultra
  318. endef
  319. define U-Boot/bananapi_m2_berry
  320. BUILD_SUBTARGET:=cortexa7
  321. NAME:=Bananapi M2 Berry
  322. BUILD_DEVICES:=sinovoip_bananapi-m2-berry
  323. endef
  324. define U-Boot/bananapi_p2_zero
  325. BUILD_SUBTARGET:=cortexa7
  326. NAME:=Bananapi P2 Zero
  327. BUILD_DEVICES:=sinovoip_bananapi-p2-zero
  328. endef
  329. UBOOT_TARGETS := \
  330. a64-olinuxino \
  331. a64-olinuxino-emmc \
  332. A10-OLinuXino-Lime \
  333. A13-OLinuXino \
  334. A20-OLinuXino-Lime \
  335. A20-OLinuXino-Lime2 \
  336. A20-OLinuXino-Lime2-eMMC \
  337. A20-OLinuXino_MICRO \
  338. bananapi_m2_plus_h3 \
  339. Bananapi \
  340. bananapi_m2_berry \
  341. bananapi_p2_zero \
  342. Bananapi_M2_Ultra \
  343. Bananapro \
  344. beelink_x2 \
  345. Cubieboard \
  346. Cubieboard2 \
  347. Cubietruck \
  348. Hummingbird_A31 \
  349. Marsboard_A10 \
  350. Mele_M9 \
  351. OLIMEX_A13_SOM \
  352. LicheePi_Zero \
  353. Linksprite_pcDuino \
  354. Linksprite_pcDuino3 \
  355. Linksprite_pcDuino3_Nano \
  356. Lamobo_R1 \
  357. nanopi_m1_plus \
  358. zeropi \
  359. nanopi_neo \
  360. nanopi_neo_air \
  361. nanopi_neo_plus2 \
  362. nanopi_neo2 \
  363. nanopi_r1 \
  364. nanopi_r1s_h5 \
  365. orangepi_zero \
  366. orangepi_r1 \
  367. orangepi_one \
  368. orangepi_one_plus \
  369. orangepi_pc \
  370. orangepi_pc_plus \
  371. orangepi_plus \
  372. orangepi_2 \
  373. orangepi_pc2 \
  374. orangepi_zero2 \
  375. orangepi_zero2w \
  376. orangepi_zero3 \
  377. pangolin \
  378. pine64_plus \
  379. Sinovoip_BPI_M3 \
  380. sopine_baseboard \
  381. orangepi_zero_plus \
  382. libretech_all_h3_cc_h5
  383. UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
  384. UBOOT_CUSTOMIZE_CONFIG := \
  385. --disable TOOLS_KWBIMAGE \
  386. --disable TOOLS_LIBCRYPTO \
  387. --disable TOOLS_MKEFICAPSULE
  388. UBOOT_MAKE_FLAGS += \
  389. BL31=$(STAGING_DIR_IMAGE)/bl31_sunxi-$(ATF).bin SCP=/dev/null
  390. define Build/InstallDev
  391. $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
  392. $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
  393. mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
  394. $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
  395. endef
  396. define Package/u-boot/install/default
  397. endef
  398. $(eval $(call BuildPackage/U-Boot))