Makefile 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  1. #
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. include $(TOPDIR)/rules.mk
  6. include $(INCLUDE_DIR)/kernel.mk
  7. PKG_VERSION:=2025.10
  8. PKG_RELEASE:=1
  9. PKG_HASH:=b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a
  10. PKG_MAINTAINER:=Sarah Maedel <[email protected]>
  11. UBOOT_USE_BINMAN:=1
  12. UBOOT_USE_INTREE_DTC:=1
  13. include $(INCLUDE_DIR)/u-boot.mk
  14. include $(INCLUDE_DIR)/package.mk
  15. define U-Boot/Default
  16. BUILD_TARGET:=rockchip
  17. UENV:=default
  18. HIDDEN:=1
  19. endef
  20. # RK3308 boards
  21. define U-Boot/rk3308/Default
  22. BUILD_SUBTARGET:=armv8
  23. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3308
  24. ATF:=rk3308_bl31_v2.27.elf
  25. TPL:=rk3308_ddr_589MHz_uart2_m1_v2.10.bin
  26. endef
  27. define U-Boot/rock-pi-s-rk3308
  28. $(U-Boot/rk3308/Default)
  29. DEPENDS+=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3308-tpl-rock-pi-s
  30. TPL:=rk3308_ddr_589MHz_uart0_m0_v2.10.bin
  31. NAME:=ROCK Pi S
  32. BUILD_DEVICES:= \
  33. radxa_rock-pi-s
  34. endef
  35. # RK3328 boards
  36. define U-Boot/rk3328/Default
  37. BUILD_SUBTARGET:=armv8
  38. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3328
  39. ATF:=rk3328_bl31.elf
  40. endef
  41. define U-Boot/nanopi-r2c-rk3328
  42. $(U-Boot/rk3328/Default)
  43. NAME:=NanoPi R2C
  44. BUILD_DEVICES:= \
  45. friendlyarm_nanopi-r2c
  46. endef
  47. define U-Boot/nanopi-r2c-plus-rk3328
  48. $(U-Boot/rk3328/Default)
  49. NAME:=NanoPi R2C Plus
  50. BUILD_DEVICES:= \
  51. friendlyarm_nanopi-r2c-plus
  52. endef
  53. define U-Boot/nanopi-r2s-rk3328
  54. $(U-Boot/rk3328/Default)
  55. NAME:=NanoPi R2S
  56. BUILD_DEVICES:= \
  57. friendlyarm_nanopi-r2s
  58. endef
  59. define U-Boot/orangepi-r1-plus-rk3328
  60. $(U-Boot/rk3328/Default)
  61. NAME:=Orange Pi R1 Plus
  62. BUILD_DEVICES:= \
  63. xunlong_orangepi-r1-plus
  64. endef
  65. define U-Boot/orangepi-r1-plus-lts-rk3328
  66. $(U-Boot/rk3328/Default)
  67. NAME:=Orange Pi R1 Plus LTS
  68. BUILD_DEVICES:= \
  69. xunlong_orangepi-r1-plus-lts
  70. endef
  71. define U-Boot/roc-cc-rk3328
  72. $(U-Boot/rk3328/Default)
  73. NAME:=ROC-RK3328-CC
  74. BUILD_DEVICES:= \
  75. firefly_roc-rk3328-cc
  76. endef
  77. define U-Boot/rock64-rk3328
  78. $(U-Boot/rk3328/Default)
  79. NAME:=Rock64
  80. BUILD_DEVICES:= \
  81. pine64_rock64
  82. endef
  83. define U-Boot/rock-pi-e-rk3328
  84. $(U-Boot/rk3328/Default)
  85. NAME:=ROCK Pi E
  86. BUILD_DEVICES:= \
  87. radxa_rock-pi-e
  88. endef
  89. define U-Boot/rock-pi-e-v3-rk3328
  90. $(U-Boot/rk3328/Default)
  91. NAME:=ROCK Pi E v3.0
  92. BUILD_DEVICES:= \
  93. radxa_rock-pi-e-v3
  94. endef
  95. # RK3399 boards
  96. define U-Boot/rk3399/Default
  97. BUILD_SUBTARGET:=armv8
  98. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3399
  99. ATF:=rk3399_bl31.elf
  100. endef
  101. define U-Boot/nanopc-t4-rk3399
  102. $(U-Boot/rk3399/Default)
  103. NAME:=NanoPC T4
  104. BUILD_DEVICES:= \
  105. friendlyarm_nanopc-t4
  106. endef
  107. define U-Boot/nanopi-r4s-rk3399
  108. $(U-Boot/rk3399/Default)
  109. NAME:=NanoPi R4S
  110. BUILD_DEVICES:= \
  111. friendlyarm_nanopi-r4s \
  112. friendlyarm_nanopi-r4s-enterprise
  113. endef
  114. define U-Boot/rock-4c-plus-rk3399
  115. $(U-Boot/rk3399/Default)
  116. NAME:=ROCK 4C+
  117. BUILD_DEVICES:= \
  118. radxa_rock-4c-plus
  119. endef
  120. define U-Boot/rock-4se-rk3399
  121. $(U-Boot/rk3399/Default)
  122. NAME:=ROCK 4SE
  123. BUILD_DEVICES:= \
  124. radxa_rock-4se
  125. endef
  126. define U-Boot/rock-pi-4-rk3399
  127. $(U-Boot/rk3399/Default)
  128. NAME:=ROCK Pi 4
  129. BUILD_DEVICES:= \
  130. radxa_rock-pi-4a
  131. endef
  132. define U-Boot/rockpro64-rk3399
  133. $(U-Boot/rk3399/Default)
  134. NAME:=RockPro64
  135. BUILD_DEVICES:= \
  136. pine64_rockpro64
  137. endef
  138. # RK3528 boards
  139. define U-Boot/rk3528/Default
  140. BUILD_SUBTARGET:=armv8
  141. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3528
  142. ATF:=rk3528_bl31_v1.20.elf
  143. TPL:=rk3528_ddr_1056MHz_v1.11.bin
  144. endef
  145. define U-Boot/radxa-e20c-rk3528
  146. $(U-Boot/rk3528/Default)
  147. NAME:=E20C
  148. BUILD_DEVICES:= \
  149. radxa_e20c
  150. endef
  151. define U-Boot/rock-2-rk3528
  152. $(U-Boot/rk3528/Default)
  153. NAME:=ROCK 2A/2F
  154. BUILD_DEVICES:= \
  155. radxa_rock-2a \
  156. radxa_rock-2f
  157. endef
  158. # RK3566 boards
  159. define U-Boot/rk3566/Default
  160. BUILD_SUBTARGET:=armv8
  161. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3566
  162. ATF:=rk3568_bl31_v1.45.elf
  163. TPL:=rk3566_ddr_1056MHz_v1.23.bin
  164. endef
  165. define U-Boot/nanopi-r3s-rk3566
  166. $(U-Boot/rk3566/Default)
  167. NAME:=NanoPi R3S
  168. BUILD_DEVICES:= \
  169. friendlyarm_nanopi-r3s
  170. endef
  171. define U-Boot/radxa-cm3-io-rk3566
  172. $(U-Boot/rk3566/Default)
  173. NAME:=CM3 IO
  174. BUILD_DEVICES:= \
  175. radxa_cm3-io
  176. endef
  177. define U-Boot/radxa-zero-3-rk3566
  178. $(U-Boot/rk3566/Default)
  179. NAME:=ZERO 3E/3W
  180. BUILD_DEVICES:= \
  181. radxa_zero-3e \
  182. radxa_zero-3w
  183. endef
  184. define U-Boot/rock-3c-rk3566
  185. $(U-Boot/rk3566/Default)
  186. NAME:=ROCK 3C
  187. BUILD_DEVICES:= \
  188. radxa_rock-3c
  189. endef
  190. # RK3568 boards
  191. define U-Boot/rk3568/Default
  192. BUILD_SUBTARGET:=armv8
  193. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3568
  194. ATF:=rk3568_bl31_v1.45.elf
  195. TPL:=rk3568_ddr_1560MHz_v1.23.bin
  196. endef
  197. define U-Boot/bpi-r2-pro-rk3568
  198. $(U-Boot/rk3568/Default)
  199. NAME:=Bananapi-R2 Pro
  200. BUILD_DEVICES:= \
  201. sinovoip_bpi-r2-pro
  202. endef
  203. define U-Boot/easepi-r1-rk3568
  204. $(U-Boot/rk3568/Default)
  205. NAME:=LinkEase EasePi R1
  206. BUILD_DEVICES:= \
  207. linkease_easepi-r1
  208. endef
  209. define U-Boot/fastrhino-r66s-rk3568
  210. $(U-Boot/rk3568/Default)
  211. NAME:=FastRhino R66S
  212. BUILD_DEVICES:= \
  213. lunzn_fastrhino-r66s
  214. endef
  215. define U-Boot/nanopi-r5c-rk3568
  216. $(U-Boot/rk3568/Default)
  217. NAME:=NanoPi R5C
  218. BUILD_DEVICES:= \
  219. friendlyarm_nanopi-r5c
  220. endef
  221. define U-Boot/nanopi-r5s-rk3568
  222. $(U-Boot/rk3568/Default)
  223. NAME:=NanoPi R5S
  224. BUILD_DEVICES:= \
  225. friendlyarm_nanopi-r5s
  226. endef
  227. define U-Boot/radxa-e25-rk3568
  228. $(U-Boot/rk3568/Default)
  229. DEPENDS+=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3568-tpl-e25
  230. TPL:=rk3568_ddr_1560MHz_uart2_m0_115200_v1.23.bin
  231. NAME:=E25
  232. BUILD_DEVICES:= \
  233. radxa_e25
  234. endef
  235. define U-Boot/rock-3a-rk3568
  236. $(U-Boot/rk3568/Default)
  237. NAME:=ROCK 3A
  238. BUILD_DEVICES:= \
  239. radxa_rock-3a
  240. endef
  241. define U-Boot/rock-3b-rk3568
  242. $(U-Boot/rk3568/Default)
  243. NAME:=ROCK 3B
  244. BUILD_DEVICES:= \
  245. radxa_rock-3b
  246. endef
  247. # RK3576 boards
  248. define U-Boot/rk3576/Default
  249. BUILD_SUBTARGET:=armv8
  250. DEPENDS:= \
  251. +PACKAGE_u-boot-$(1):trusted-firmware-a-rk3576 \
  252. +PACKAGE_u-boot-$(1):trusted-firmware-a-rk3576-tpl
  253. ATF:=rk3576_bl31.elf
  254. TPL:=rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
  255. endef
  256. define U-Boot/generic-rk3576
  257. $(U-Boot/rk3576/Default)
  258. NAME:=Generic RK3576
  259. BUILD_DEVICES:= \
  260. friendlyarm_nanopi-r76s
  261. endef
  262. define U-Boot/rock-4d-rk3576
  263. $(U-Boot/rk3576/Default)
  264. NAME:=ROCK 4D
  265. BUILD_DEVICES:= \
  266. radxa_rock-4d
  267. endef
  268. # RK358x boards
  269. define U-Boot/rk358x/Default
  270. BUILD_SUBTARGET:=armv8
  271. DEPENDS:= \
  272. +PACKAGE_u-boot-$(1):trusted-firmware-a-rk3588 \
  273. +PACKAGE_u-boot-$(1):trusted-firmware-a-rk3588-tpl
  274. ATF:=rk3588_bl31.elf
  275. TPL:=rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.19.bin
  276. endef
  277. define U-Boot/generic-rk3588
  278. $(U-Boot/rk358x/Default)
  279. NAME:=Generic RK358x board
  280. BUILD_DEVICES:= \
  281. radxa_e52c \
  282. radxa_rock-5b-plus \
  283. radxa_rock-5t
  284. endef
  285. # RK3588 boards
  286. define U-Boot/nanopc-t6-rk3588
  287. $(U-Boot/rk358x/Default)
  288. NAME:=NanoPC T6
  289. BUILD_DEVICES:= \
  290. friendlyarm_nanopc-t6
  291. endef
  292. define U-Boot/rock-5-itx-rk3588
  293. $(U-Boot/rk358x/Default)
  294. NAME:=ROCK 5 ITX/ITX+
  295. BUILD_DEVICES:= \
  296. radxa_rock-5-itx
  297. endef
  298. define U-Boot/rock5b-rk3588
  299. $(U-Boot/rk358x/Default)
  300. NAME:=ROCK 5B
  301. BUILD_DEVICES:= \
  302. radxa_rock-5b
  303. endef
  304. define U-Boot/sige7-rk3588
  305. $(U-Boot/rk358x/Default)
  306. NAME:=Sige7
  307. BUILD_DEVICES:= \
  308. armsom_sige7
  309. endef
  310. # RK3588S boards
  311. define U-Boot/nanopi-r6c-rk3588s
  312. $(U-Boot/rk358x/Default)
  313. NAME:=NanoPi R6C
  314. BUILD_DEVICES:= \
  315. friendlyarm_nanopi-r6c
  316. endef
  317. define U-Boot/nanopi-r6s-rk3588s
  318. $(U-Boot/rk358x/Default)
  319. NAME:=NanoPi R6S
  320. BUILD_DEVICES:= \
  321. friendlyarm_nanopi-r6s
  322. endef
  323. define U-Boot/rock5a-rk3588s
  324. $(U-Boot/rk358x/Default)
  325. NAME:=ROCK 5A
  326. BUILD_DEVICES:= \
  327. radxa_rock-5a
  328. endef
  329. define U-Boot/rock-5c-rk3588s
  330. $(U-Boot/rk358x/Default)
  331. NAME:=ROCK 5C/5C Lite
  332. BUILD_DEVICES:= \
  333. radxa_rock-5c
  334. endef
  335. UBOOT_TARGETS := \
  336. nanopc-t4-rk3399 \
  337. nanopi-r4s-rk3399 \
  338. rock-4c-plus-rk3399 \
  339. rock-4se-rk3399 \
  340. rock-pi-4-rk3399 \
  341. rockpro64-rk3399 \
  342. rock-pi-s-rk3308 \
  343. nanopi-r2c-rk3328 \
  344. nanopi-r2c-plus-rk3328 \
  345. nanopi-r2s-rk3328 \
  346. orangepi-r1-plus-rk3328 \
  347. orangepi-r1-plus-lts-rk3328 \
  348. roc-cc-rk3328 \
  349. rock64-rk3328 \
  350. rock-pi-e-rk3328 \
  351. rock-pi-e-v3-rk3328 \
  352. radxa-e20c-rk3528 \
  353. rock-2-rk3528 \
  354. nanopi-r3s-rk3566 \
  355. radxa-cm3-io-rk3566 \
  356. radxa-zero-3-rk3566 \
  357. rock-3c-rk3566 \
  358. bpi-r2-pro-rk3568 \
  359. easepi-r1-rk3568 \
  360. fastrhino-r66s-rk3568 \
  361. nanopi-r5c-rk3568 \
  362. nanopi-r5s-rk3568 \
  363. radxa-e25-rk3568 \
  364. rock-3a-rk3568 \
  365. rock-3b-rk3568 \
  366. generic-rk3576 \
  367. rock-4d-rk3576 \
  368. generic-rk3588 \
  369. nanopc-t6-rk3588 \
  370. rock-5-itx-rk3588 \
  371. rock5b-rk3588 \
  372. sige7-rk3588 \
  373. nanopi-r6c-rk3588s \
  374. nanopi-r6s-rk3588s \
  375. rock5a-rk3588s \
  376. rock-5c-rk3588s
  377. UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
  378. UBOOT_CUSTOMIZE_CONFIG := \
  379. --disable TOOLS_MKEFICAPSULE \
  380. --set-str MKIMAGE_DTC_PATH $(PKG_BUILD_DIR)/scripts/dtc/dtc
  381. UBOOT_MAKE_FLAGS += \
  382. BL31=$(STAGING_DIR_IMAGE)/$(ATF) \
  383. $(if $(TPL),ROCKCHIP_TPL=$(STAGING_DIR_IMAGE)/$(TPL))
  384. define Build/InstallDev
  385. $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
  386. $(CP) $(PKG_BUILD_DIR)/u-boot-rockchip.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot-rockchip.bin
  387. endef
  388. define Package/u-boot/install/default
  389. endef
  390. $(eval $(call BuildPackage/U-Boot))