2
0

Makefile 9.7 KB

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