75825ce6900bde9ffcf34fe6deca33be5524538e
[openwrt/openwrt.git] / package / boot / uboot-rockchip / Makefile
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
8 PKG_VERSION:=2021.04
9 PKG_RELEASE:=1
10
11 PKG_HASH:=0d438b1bb5cceb57a18ea2de4a0d51f7be5b05b98717df05938636e0aadfe11a
12
13 PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
14
15 include $(INCLUDE_DIR)/u-boot.mk
16 include $(INCLUDE_DIR)/package.mk
17
18 define U-Boot/Default
19 BUILD_TARGET:=rockchip
20 UENV:=default
21 HIDDEN:=1
22 endef
23
24
25 # RK3328 boards
26
27 define U-Boot/nanopi-r2s-rk3328
28 BUILD_SUBTARGET:=armv8
29 NAME:=NanoPi R2S
30 BUILD_DEVICES:= \
31 friendlyarm_nanopi-r2s
32 DEPENDS:=+PACKAGE_u-boot-nanopi-r2s-rk3328:arm-trusted-firmware-rockchip
33 PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
34 ATF:=rk3328_bl31.elf
35 OF_PLATDATA:=$(1)
36 endef
37
38
39 # RK3399 boards
40
41 define U-Boot/nanopi-r4s-rk3399
42 BUILD_SUBTARGET:=armv8
43 NAME:=NanoPi R4S
44 BUILD_DEVICES:= \
45 friendlyarm_nanopi-r4s
46 DEPENDS:=+PACKAGE_u-boot-nanopi-r4s-rk3399:arm-trusted-firmware-rockchip
47 PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
48 ATF:=rk3399_bl31.elf
49 endef
50
51 define U-Boot/rock-pi-4-rk3399
52 BUILD_SUBTARGET:=armv8
53 NAME:=Rock Pi 4
54 BUILD_DEVICES:= \
55 radxa_rock-pi-4
56 DEPENDS:=+PACKAGE_u-boot-rock-pi-4-rk3399:arm-trusted-firmware-rockchip
57 PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
58 ATF:=rk3399_bl31.elf
59 endef
60
61 define U-Boot/rockpro64-rk3399
62 BUILD_SUBTARGET:=armv8
63 NAME:=RockPro64
64 BUILD_DEVICES:= \
65 pine64_rockpro64
66 DEPENDS:=+PACKAGE_u-boot-rockpro64-rk3399:arm-trusted-firmware-rockchip
67 PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
68 ATF:=rk3399_bl31.elf
69 endef
70
71 UBOOT_TARGETS := \
72 nanopi-r4s-rk3399 \
73 rock-pi-4-rk3399 \
74 rockpro64-rk3399 \
75 nanopi-r2s-rk3328
76
77 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
78
79 UBOOT_MAKE_FLAGS += \
80 BL31=$(STAGING_DIR_IMAGE)/$(ATF)
81
82 define Build/Configure
83 $(call Build/Configure/U-Boot)
84
85 ifneq ($(OF_PLATDATA),)
86 mkdir -p $(PKG_BUILD_DIR)/tpl/dts
87 mkdir -p $(PKG_BUILD_DIR)/include/generated
88
89 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-plat.c $(PKG_BUILD_DIR)/tpl/dts/dt-plat.c
90 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-structs-gen.h $(PKG_BUILD_DIR)/include/generated/dt-structs-gen.h
91 endif
92
93 $(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
94 echo 'CONFIG_IDENT_STRING=" OpenWrt"' >> $(PKG_BUILD_DIR)/.config
95 endef
96
97 define Build/InstallDev
98 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
99 $(CP) $(PKG_BUILD_DIR)/idbloader.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-idbloader.img
100 $(CP) $(PKG_BUILD_DIR)/u-boot.itb $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.itb
101 endef
102
103 define Package/u-boot/install/default
104 endef
105
106 $(eval $(call BuildPackage/U-Boot))