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