Makefile 9.9 KB

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