uboot-rockchip: add Orange Pi R1 Plus LTS support
[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.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/orangepi-r1-plus-rk3328
49 $(U-Boot/rk3328/Default)
50 NAME:=Orange Pi R1 Plus
51 BUILD_DEVICES:= \
52 xunlong_orangepi-r1-plus
53 endef
54
55 define U-Boot/orangepi-r1-plus-lts-rk3328
56 $(U-Boot/rk3328/Default)
57 NAME:=Orange Pi R1 Plus LTS
58 BUILD_DEVICES:= \
59 xunlong_orangepi-r1-plus-lts
60 endef
61
62 define U-Boot/roc-cc-rk3328
63 $(U-Boot/rk3328/Default)
64 NAME:=ROC-RK3328-CC
65 BUILD_DEVICES:= \
66 firefly_roc-rk3328-cc
67 endef
68
69 # RK3399 boards
70
71 define U-Boot/rk3399/Default
72 BUILD_SUBTARGET:=armv8
73 DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rockchip
74 ATF:=rk3399_bl31.elf
75 endef
76
77 define U-Boot/nanopi-r4s-rk3399
78 $(U-Boot/rk3399/Default)
79 NAME:=NanoPi R4S
80 BUILD_DEVICES:= \
81 friendlyarm_nanopi-r4s
82 endef
83
84 define U-Boot/rock-pi-4-rk3399
85 $(U-Boot/rk3399/Default)
86 NAME:=Rock Pi 4
87 BUILD_DEVICES:= \
88 radxa_rock-pi-4a
89 endef
90
91 define U-Boot/rockpro64-rk3399
92 $(U-Boot/rk3399/Default)
93 NAME:=RockPro64
94 BUILD_DEVICES:= \
95 pine64_rockpro64
96 endef
97
98 UBOOT_TARGETS := \
99 nanopi-r4s-rk3399 \
100 rock-pi-4-rk3399 \
101 rockpro64-rk3399 \
102 nanopi-r2c-rk3328 \
103 nanopi-r2s-rk3328 \
104 orangepi-r1-plus-rk3328 \
105 orangepi-r1-plus-lts-rk3328 \
106 roc-cc-rk3328
107
108 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
109
110 UBOOT_MAKE_FLAGS += \
111 BL31=$(STAGING_DIR_IMAGE)/$(ATF)
112
113 define Build/Configure
114 $(call Build/Configure/U-Boot)
115
116 ifneq ($(OF_PLATDATA),)
117 mkdir -p $(PKG_BUILD_DIR)/tpl/dts
118 mkdir -p $(PKG_BUILD_DIR)/include/generated
119
120 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-plat.c $(PKG_BUILD_DIR)/tpl/dts/dt-plat.c
121 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-structs-gen.h $(PKG_BUILD_DIR)/include/generated/dt-structs-gen.h
122 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-decl.h $(PKG_BUILD_DIR)/include/generated/dt-decl.h
123 endif
124
125 $(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
126 endef
127
128 define Build/InstallDev
129 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
130 $(CP) $(PKG_BUILD_DIR)/idbloader.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-idbloader.img
131 $(CP) $(PKG_BUILD_DIR)/u-boot.itb $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.itb
132 endef
133
134 define Package/u-boot/install/default
135 endef
136
137 $(eval $(call BuildPackage/U-Boot))