bdd1f5d5d886744efeeeda408332da6598808094
[openwrt/staging/jow.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.07
9 PKG_RELEASE:=5
10
11 PKG_HASH:=312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e
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/rk3328/Default
28 BUILD_SUBTARGET:=armv8
29 DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rockchip
30 ATF:=rk3328_bl31.elf
31 OF_PLATDATA:=$(1)
32 endef
33
34 define U-Boot/nanopi-r2c-rk3328
35 $(U-Boot/rk3328/Default)
36 NAME:=NanoPi R2C
37 BUILD_DEVICES:= \
38 friendlyarm_nanopi-r2c
39 endef
40
41 define U-Boot/nanopi-r2s-rk3328
42 $(U-Boot/rk3328/Default)
43 NAME:=NanoPi R2S
44 BUILD_DEVICES:= \
45 friendlyarm_nanopi-r2s
46 endef
47
48 define U-Boot/roc-cc-rk3328
49 $(U-Boot/rk3328/Default)
50 NAME:=ROC-RK3328-CC
51 BUILD_DEVICES:= \
52 firefly_roc-rk3328-cc
53 endef
54
55 # RK3399 boards
56
57 define U-Boot/rk3399/Default
58 BUILD_SUBTARGET:=armv8
59 DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rockchip
60 ATF:=rk3399_bl31.elf
61 endef
62
63 define U-Boot/nanopi-r4s-rk3399
64 $(U-Boot/rk3399/Default)
65 NAME:=NanoPi R4S
66 BUILD_DEVICES:= \
67 friendlyarm_nanopi-r4s
68 endef
69
70 define U-Boot/rock-pi-4-rk3399
71 $(U-Boot/rk3399/Default)
72 NAME:=Rock Pi 4
73 BUILD_DEVICES:= \
74 radxa_rock-pi-4a
75 endef
76
77 define U-Boot/rockpro64-rk3399
78 $(U-Boot/rk3399/Default)
79 NAME:=RockPro64
80 BUILD_DEVICES:= \
81 pine64_rockpro64
82 endef
83
84 UBOOT_TARGETS := \
85 nanopi-r4s-rk3399 \
86 rock-pi-4-rk3399 \
87 rockpro64-rk3399 \
88 nanopi-r2c-rk3328 \
89 nanopi-r2s-rk3328 \
90 roc-cc-rk3328
91
92 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
93
94 UBOOT_MAKE_FLAGS += \
95 BL31=$(STAGING_DIR_IMAGE)/$(ATF)
96
97 define Build/Configure
98 $(call Build/Configure/U-Boot)
99
100 ifneq ($(OF_PLATDATA),)
101 mkdir -p $(PKG_BUILD_DIR)/tpl/dts
102 mkdir -p $(PKG_BUILD_DIR)/include/generated
103
104 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-plat.c $(PKG_BUILD_DIR)/tpl/dts/dt-plat.c
105 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-structs-gen.h $(PKG_BUILD_DIR)/include/generated/dt-structs-gen.h
106 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-decl.h $(PKG_BUILD_DIR)/include/generated/dt-decl.h
107 endif
108
109 $(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
110 endef
111
112 define Build/InstallDev
113 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
114 $(CP) $(PKG_BUILD_DIR)/idbloader.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-idbloader.img
115 $(CP) $(PKG_BUILD_DIR)/u-boot.itb $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.itb
116 endef
117
118 define Package/u-boot/install/default
119 endef
120
121 $(eval $(call BuildPackage/U-Boot))