2162338eb03200beea69e7ffac14dca272e4baef
[openwrt/openwrt.git] / package / boot / rkbin / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2021-2023 ImmortalWrt.org
4
5 include $(TOPDIR)/rules.mk
6
7 PKG_NAME:=rkbin
8 PKG_RELEASE:=1
9
10 PKG_SOURCE_PROTO:=git
11 PKG_SOURCE_URL:=https://github.com/rockchip-linux/rkbin.git
12 PKG_SOURCE_DATE:=2025-06-13
13 PKG_SOURCE_VERSION:=74213af1e952c4683d2e35952507133b61394862
14 PKG_MIRROR_HASH:=4b801b1301ae297f660340617b5f398b23a3f0b43bc7f0ef42c21f0f43eb8990
15
16 PKG_LICENSE_FILES:=LICENSE
17 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
18
19 include $(INCLUDE_DIR)/kernel.mk
20 include $(INCLUDE_DIR)/trusted-firmware-a.mk
21 include $(INCLUDE_DIR)/package.mk
22
23 define Trusted-Firmware-A/Default
24 NAME:=Rockchip $(1) SoCs
25 BUILD_TARGET:=rockchip
26 endef
27
28 define Trusted-Firmware-A/rk3308
29 BUILD_SUBTARGET:=armv8
30 ATF:=rk33/rk3308_bl31_v2.27.elf
31 TPL:=rk33/rk3308_ddr_589MHz_uart2_m1_v2.10.bin
32 endef
33
34 define Trusted-Firmware-A/rk3308-tpl-rock-pi-s
35 NAME:=Radxa ROCK Pi S board
36 BUILD_SUBTARGET:=armv8
37 TPL:=rk33/rk3308_ddr_589MHz_uart0_m0_v2.10.bin
38 endef
39
40 define Trusted-Firmware-A/rk3528
41 BUILD_SUBTARGET:=armv8
42 ATF:=rk35/rk3528_bl31_v1.20.elf
43 TPL:=rk35/rk3528_ddr_1056MHz_v1.11.bin
44 endef
45
46 define Trusted-Firmware-A/rk3566
47 BUILD_SUBTARGET:=armv8
48 ATF:=rk35/rk3568_bl31_v1.45.elf
49 TPL:=rk35/rk3566_ddr_1056MHz_v1.23.bin
50 endef
51
52 define Trusted-Firmware-A/rk3568
53 BUILD_SUBTARGET:=armv8
54 ATF:=rk35/rk3568_bl31_v1.45.elf
55 TPL:=rk35/rk3568_ddr_1560MHz_v1.23.bin
56 endef
57
58 define Trusted-Firmware-A/rk3568-tpl-e25
59 NAME:=Radxa E25 board
60 BUILD_SUBTARGET:=armv8
61 TPL:=rk35/rk3568_ddr_1560MHz_uart2_m0_115200_v1.23.bin
62 endef
63
64 define Trusted-Firmware-A/rk3576-tpl
65 NAME:=Rockchip RK3576 SoCs
66 BUILD_SUBTARGET:=armv8
67 TPL:=rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
68 endef
69
70 define Trusted-Firmware-A/rk3588-tpl
71 NAME:=Rockchip RK3588 SoCs
72 BUILD_SUBTARGET:=armv8
73 TPL:=rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.19.bin
74 endef
75
76 TFA_TARGETS:= \
77 rk3308 \
78 rk3308-tpl-rock-pi-s \
79 rk3528 \
80 rk3566 \
81 rk3568 \
82 rk3568-tpl-e25 \
83 rk3576-tpl \
84 rk3588-tpl
85
86 ifeq ($(BUILD_VARIANT),rk3308-tpl-rock-pi-s)
87 define Download/rk3308-tpl-rock-pi-s
88 FILE:=$(notdir $(TPL))
89 URL_FILE:=$(TPL)
90 URL:=https://github.com/radxa/rkbin/raw/2b54df9d062ef91a9fffbc85472b070c9220c4cf/bin/
91 HASH:=45af030ed2cb322cc5a91c32350130fc1f1ea9508794fa4b5d309eadf70e3d04
92 endef
93
94 define Build/Prepare
95 $(eval $(call Download,rk3308-tpl-rock-pi-s))
96 $(call Build/Prepare/Default)
97
98 $(CP) $(DL_DIR)/$(notdir $(TPL)) $(PKG_BUILD_DIR)/bin/$(TPL)
99 endef
100 endif
101
102 ifeq ($(BUILD_VARIANT),rk3568-tpl-e25)
103 define Download/rk3568-tpl-e25
104 FILE:=$(notdir $(TPL))
105 URL_FILE:=$(TPL)
106 URL:=https://github.com/radxa/rkbin/raw/2e77c53ab0279585b09ecdaa54fe3e2bf80f9475/bin/
107 HASH:=1bb9f92a6515a70b91c0f8bd3aa4dc31432afc4317b9408f82c43ca63cb10ab6
108 endef
109
110 define Build/Prepare
111 $(eval $(call Download,rk3568-tpl-e25))
112 $(call Build/Prepare/Default)
113
114 $(CP) $(DL_DIR)/$(notdir $(TPL)) $(PKG_BUILD_DIR)/bin/$(TPL)
115 endef
116 endif
117
118 define Build/Compile
119 endef
120
121 define Package/trusted-firmware-a/install
122 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
123
124 ifneq ($(ATF),)
125 $(CP) $(PKG_BUILD_DIR)/bin/$(ATF) $(STAGING_DIR_IMAGE)/
126 endif
127 $(CP) $(PKG_BUILD_DIR)/bin/$(TPL) $(STAGING_DIR_IMAGE)/
128 endef
129
130 $(eval $(call BuildPackage/Trusted-Firmware-A))