Makefile 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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:=2024.04
  8. PKG_RELEASE:=1
  9. PKG_HASH:=18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a
  10. PKG_MAINTAINER:=Tobias 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. # RK3328 boards
  21. define U-Boot/rk3328/Default
  22. BUILD_SUBTARGET:=armv8
  23. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3328
  24. ATF:=rk3328_bl31.elf
  25. endef
  26. define U-Boot/nanopi-r2c-rk3328
  27. $(U-Boot/rk3328/Default)
  28. NAME:=NanoPi R2C
  29. BUILD_DEVICES:= \
  30. friendlyarm_nanopi-r2c
  31. endef
  32. define U-Boot/nanopi-r2c-plus-rk3328
  33. $(U-Boot/rk3328/Default)
  34. NAME:=NanoPi R2C Plus
  35. BUILD_DEVICES:= \
  36. friendlyarm_nanopi-r2c-plus
  37. endef
  38. define U-Boot/nanopi-r2s-rk3328
  39. $(U-Boot/rk3328/Default)
  40. NAME:=NanoPi R2S
  41. BUILD_DEVICES:= \
  42. friendlyarm_nanopi-r2s
  43. endef
  44. define U-Boot/orangepi-r1-plus-rk3328
  45. $(U-Boot/rk3328/Default)
  46. NAME:=Orange Pi R1 Plus
  47. BUILD_DEVICES:= \
  48. xunlong_orangepi-r1-plus
  49. endef
  50. define U-Boot/orangepi-r1-plus-lts-rk3328
  51. $(U-Boot/rk3328/Default)
  52. NAME:=Orange Pi R1 Plus LTS
  53. BUILD_DEVICES:= \
  54. xunlong_orangepi-r1-plus-lts
  55. endef
  56. define U-Boot/roc-cc-rk3328
  57. $(U-Boot/rk3328/Default)
  58. NAME:=ROC-RK3328-CC
  59. BUILD_DEVICES:= \
  60. firefly_roc-rk3328-cc
  61. endef
  62. define U-Boot/rock64-rk3328
  63. $(U-Boot/rk3328/Default)
  64. NAME:=Rock64
  65. BUILD_DEVICES:= \
  66. pine64_rock64
  67. endef
  68. define U-Boot/rock-pi-e-rk3328
  69. $(U-Boot/rk3328/Default)
  70. NAME:=ROCK Pi E
  71. BUILD_DEVICES:= \
  72. radxa_rock-pi-e
  73. endef
  74. # RK3399 boards
  75. define U-Boot/rk3399/Default
  76. BUILD_SUBTARGET:=armv8
  77. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3399
  78. ATF:=rk3399_bl31.elf
  79. endef
  80. define U-Boot/nanopc-t4-rk3399
  81. $(U-Boot/rk3399/Default)
  82. NAME:=NanoPC T4
  83. BUILD_DEVICES:= \
  84. friendlyarm_nanopc-t4
  85. endef
  86. define U-Boot/nanopi-r4s-rk3399
  87. $(U-Boot/rk3399/Default)
  88. NAME:=NanoPi R4S
  89. BUILD_DEVICES:= \
  90. friendlyarm_nanopi-r4s \
  91. friendlyarm_nanopi-r4s-enterprise
  92. endef
  93. define U-Boot/rock-pi-4-rk3399
  94. $(U-Boot/rk3399/Default)
  95. NAME:=Rock Pi 4
  96. BUILD_DEVICES:= \
  97. radxa_rock-pi-4a
  98. endef
  99. define U-Boot/rockpro64-rk3399
  100. $(U-Boot/rk3399/Default)
  101. NAME:=RockPro64
  102. BUILD_DEVICES:= \
  103. pine64_rockpro64
  104. endef
  105. # RK3566 boards
  106. define U-Boot/rk3566/Default
  107. BUILD_SUBTARGET:=armv8
  108. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3566
  109. ATF:=rk3568_bl31_v1.44.elf
  110. TPL:=rk3566_ddr_1056MHz_v1.21.bin
  111. endef
  112. define U-Boot/radxa-cm3-io-rk3566
  113. $(U-Boot/rk3566/Default)
  114. NAME:=CM3 IO
  115. BUILD_DEVICES:= \
  116. radxa_cm3-io
  117. endef
  118. # RK3568 boards
  119. define U-Boot/rk3568/Default
  120. BUILD_SUBTARGET:=armv8
  121. DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3568
  122. ATF:=rk3568_bl31_v1.44.elf
  123. TPL:=rk3568_ddr_1560MHz_v1.21.bin
  124. endef
  125. define U-Boot/nanopi-r5c-rk3568
  126. $(U-Boot/rk3568/Default)
  127. NAME:=NanoPi R5C
  128. BUILD_DEVICES:= \
  129. friendlyarm_nanopi-r5c
  130. endef
  131. define U-Boot/nanopi-r5s-rk3568
  132. $(U-Boot/rk3568/Default)
  133. NAME:=NanoPi R5S
  134. BUILD_DEVICES:= \
  135. friendlyarm_nanopi-r5s
  136. endef
  137. define U-Boot/radxa-e25-rk3568
  138. $(U-Boot/rk3568/Default)
  139. NAME:=E25
  140. BUILD_DEVICES:= \
  141. radxa_e25
  142. endef
  143. UBOOT_TARGETS := \
  144. nanopc-t4-rk3399 \
  145. nanopi-r4s-rk3399 \
  146. rock-pi-4-rk3399 \
  147. rockpro64-rk3399 \
  148. nanopi-r2c-rk3328 \
  149. nanopi-r2c-plus-rk3328 \
  150. nanopi-r2s-rk3328 \
  151. orangepi-r1-plus-rk3328 \
  152. orangepi-r1-plus-lts-rk3328 \
  153. roc-cc-rk3328 \
  154. rock64-rk3328 \
  155. rock-pi-e-rk3328 \
  156. radxa-cm3-io-rk3566 \
  157. nanopi-r5c-rk3568 \
  158. nanopi-r5s-rk3568 \
  159. radxa-e25-rk3568
  160. UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
  161. UBOOT_CUSTOMIZE_CONFIG := \
  162. --disable SPL_FIT_SIGNATURE \
  163. --disable TOOLS_MKEFICAPSULE \
  164. --set-str MKIMAGE_DTC_PATH $(PKG_BUILD_DIR)/scripts/dtc/dtc
  165. UBOOT_MAKE_FLAGS += \
  166. BL31=$(STAGING_DIR_IMAGE)/$(ATF) \
  167. $(if $(TPL),ROCKCHIP_TPL=$(STAGING_DIR_IMAGE)/$(TPL))
  168. define Build/InstallDev
  169. $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
  170. $(CP) $(PKG_BUILD_DIR)/idbloader.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-idbloader.img
  171. $(CP) $(PKG_BUILD_DIR)/u-boot.itb $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.itb
  172. endef
  173. define Package/u-boot/install/default
  174. endef
  175. $(eval $(call BuildPackage/U-Boot))