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