Makefile 11 KB

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