uboot-rockchip: add FriendlyARM NanoPC T4 support
[openwrt/staging/hauke.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):trusted-firmware-a-rk3328
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):trusted-firmware-a-rk3399
74 ATF:=rk3399_bl31.elf
75 endef
76
77 define U-Boot/nanopc-t4-rk3399
78 $(U-Boot/rk3399/Default)
79 NAME:=NanoPC T4
80 BUILD_DEVICES:= \
81 friendlyarm_nanopc-t4
82 endef
83
84 define U-Boot/nanopi-r4s-rk3399
85 $(U-Boot/rk3399/Default)
86 NAME:=NanoPi R4S
87 BUILD_DEVICES:= \
88 friendlyarm_nanopi-r4s
89 endef
90
91 define U-Boot/rock-pi-4-rk3399
92 $(U-Boot/rk3399/Default)
93 NAME:=Rock Pi 4
94 BUILD_DEVICES:= \
95 radxa_rock-pi-4a
96 endef
97
98 define U-Boot/rockpro64-rk3399
99 $(U-Boot/rk3399/Default)
100 NAME:=RockPro64
101 BUILD_DEVICES:= \
102 pine64_rockpro64
103 endef
104
105 UBOOT_TARGETS := \
106 nanopc-t4-rk3399 \
107 nanopi-r4s-rk3399 \
108 rock-pi-4-rk3399 \
109 rockpro64-rk3399 \
110 nanopi-r2c-rk3328 \
111 nanopi-r2s-rk3328 \
112 orangepi-r1-plus-rk3328 \
113 orangepi-r1-plus-lts-rk3328 \
114 roc-cc-rk3328
115
116 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
117
118 UBOOT_MAKE_FLAGS += \
119 BL31=$(STAGING_DIR_IMAGE)/$(ATF)
120
121 define Build/Configure
122 $(call Build/Configure/U-Boot)
123
124 ifneq ($(OF_PLATDATA),)
125 mkdir -p $(PKG_BUILD_DIR)/tpl/dts
126 mkdir -p $(PKG_BUILD_DIR)/include/generated
127
128 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-plat.c $(PKG_BUILD_DIR)/tpl/dts/dt-plat.c
129 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-structs-gen.h $(PKG_BUILD_DIR)/include/generated/dt-structs-gen.h
130 $(CP) $(PKG_BUILD_DIR)/of-platdata/$(OF_PLATDATA)/dt-decl.h $(PKG_BUILD_DIR)/include/generated/dt-decl.h
131 endif
132
133 $(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
134 endef
135
136 define Build/InstallDev
137 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
138 $(CP) $(PKG_BUILD_DIR)/idbloader.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-idbloader.img
139 $(CP) $(PKG_BUILD_DIR)/u-boot.itb $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.itb
140 endef
141
142 define Package/u-boot/install/default
143 endef
144
145 $(eval $(call BuildPackage/U-Boot))