sunxi: add support for Banana Pi M2 Berry
[openwrt/staging/pepe2k.git] / package / boot / uboot-sunxi / Makefile
1 #
2 # Copyright (C) 2013-2016 OpenWrt.org
3 # Copyright (C) 2017 Yousong Zhou
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
11
12 PKG_VERSION:=2020.04
13
14 PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372
15
16 PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
17
18 include $(INCLUDE_DIR)/u-boot.mk
19 include $(INCLUDE_DIR)/package.mk
20
21 define U-Boot/Default
22 BUILD_TARGET:=sunxi
23 UBOOT_IMAGE:=u-boot-sunxi-with-spl.bin
24 UENV:=default
25 HIDDEN:=1
26 endef
27
28 define U-Boot/a64-olinuxino
29 BUILD_SUBTARGET:=cortexa53
30 NAME:=Olimex A64-OLinuXino
31 BUILD_DEVICES:=olimex_a64-olinuxino
32 DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino:arm-trusted-firmware-sunxi
33 UENV:=a64
34 endef
35
36 define U-Boot/a64-olinuxino-emmc
37 BUILD_SUBTARGET:=cortexa53
38 NAME:=Olimex A64-OLinuXino eMMC
39 BUILD_DEVICES:=olimex_a64-olinuxino-emmc
40 DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino-emmc:arm-trusted-firmware-sunxi
41 UENV:=a64
42 endef
43
44 define U-Boot/A10-OLinuXino-Lime
45 BUILD_SUBTARGET:=cortexa8
46 NAME:=A10 OLinuXino LIME
47 BUILD_DEVICES:=olimex_a10-olinuxino-lime
48 endef
49
50 define U-Boot/A13-OLinuXino
51 BUILD_SUBTARGET:=cortexa8
52 NAME:=A13 OlinuXino
53 BUILD_DEVICES:=olimex_a13-olinuxino
54 endef
55
56 define U-Boot/A20-OLinuXino-Lime
57 BUILD_SUBTARGET:=cortexa7
58 NAME:=A20 OLinuXino LIME
59 BUILD_DEVICES:=olimex_a20-olinuxino-lime
60 endef
61
62 define U-Boot/A20-OLinuXino-Lime2
63 BUILD_SUBTARGET:=cortexa7
64 NAME:=A20 OLinuXino LIME2
65 BUILD_DEVICES:=olimex_a20-olinuxino-lime2
66 endef
67
68 define U-Boot/A20-OLinuXino-Lime2-eMMC
69 BUILD_SUBTARGET:=cortexa7
70 NAME:=A20 OLinuXino LIME2 eMMC
71 BUILD_DEVICES:=olimex_a20-olinuxino-lime2-emmc
72 endef
73
74 define U-Boot/A20-OLinuXino_MICRO
75 BUILD_SUBTARGET:=cortexa7
76 NAME:=A20 OLinuXino MICRO
77 BUILD_DEVICES:=olimex_a20-olinuxino-micro
78 endef
79
80 define U-Boot/Bananapi
81 BUILD_SUBTARGET:=cortexa7
82 NAME:=Bananapi
83 BUILD_DEVICES:=lemaker_bananapi
84 endef
85
86 define U-Boot/Bananapro
87 BUILD_SUBTARGET:=cortexa7
88 NAME:=Bananapro
89 BUILD_DEVICES:=lemaker_bananapro
90 endef
91
92 define U-Boot/Cubieboard
93 BUILD_SUBTARGET:=cortexa8
94 NAME:=Cubieboard
95 BUILD_DEVICES:=cubietech_a10-cubieboard
96 endef
97
98 define U-Boot/Cubieboard2
99 BUILD_SUBTARGET:=cortexa7
100 NAME:=Cubieboard2
101 BUILD_DEVICES:=cubietech_cubieboard2
102 endef
103
104 define U-Boot/Cubietruck
105 BUILD_SUBTARGET:=cortexa7
106 NAME:=Cubietruck
107 BUILD_DEVICES:=cubietech_cubietruck
108 endef
109
110 define U-Boot/Hummingbird_A31
111 BUILD_SUBTARGET:=cortexa7
112 NAME:=Hummingbird A31 board
113 endef
114
115 define U-Boot/Marsboard_A10
116 BUILD_SUBTARGET:=cortexa8
117 NAME:=Marsboard
118 BUILD_DEVICES:=marsboard_a10-marsboard
119 endef
120
121 define U-Boot/Mele_M9
122 BUILD_SUBTARGET:=cortexa7
123 NAME:=Mele M9 (A31)
124 BUILD_DEVICES:=mele_m9
125 endef
126
127 define U-Boot/OLIMEX_A13_SOM
128 BUILD_SUBTARGET:=cortexa8
129 NAME:=Olimex A13 SOM
130 BUILD_DEVICES:=olimex_a13-olimex-som
131 endef
132
133 define U-Boot/Linksprite_pcDuino
134 BUILD_SUBTARGET:=cortexa8
135 NAME:=Linksprite pcDuino
136 BUILD_DEVICES:=linksprite_a10-pcduino
137 endef
138
139 define U-Boot/Linksprite_pcDuino3
140 BUILD_SUBTARGET:=cortexa7
141 NAME:=Linksprite pcDuino3
142 BUILD_DEVICES:=linksprite_pcduino3
143 endef
144
145 define U-Boot/Linksprite_pcDuino3_Nano
146 BUILD_SUBTARGET:=cortexa7
147 NAME:=Linksprite pcDuino3 Nano
148 BUILD_DEVICES:=linksprite_pcduino3-nano
149 endef
150
151 define U-Boot/Lamobo_R1
152 BUILD_SUBTARGET:=cortexa7
153 NAME:=Lamobo R1
154 BUILD_DEVICES:=lamobo_lamobo-r1
155 endef
156
157 define U-Boot/nanopi_m1_plus
158 BUILD_SUBTARGET:=cortexa7
159 NAME:=NanoPi M1 Plus (H3)
160 BUILD_DEVICES:=friendlyarm_nanopi-m1-plus
161 endef
162
163 define U-Boot/zeropi
164 BUILD_SUBTARGET:=cortexa7
165 NAME:=ZeroPi (H3)
166 BUILD_DEVICES:=friendlyarm_zeropi
167 endef
168
169 define U-Boot/nanopi_neo_air
170 BUILD_SUBTARGET:=cortexa7
171 NAME:=U-Boot for NanoPi NEO Air (H3)
172 BUILD_DEVICES:=friendlyarm_nanopi-neo-air
173 endef
174
175 define U-Boot/nanopi_neo
176 BUILD_SUBTARGET:=cortexa7
177 NAME:=U-Boot for NanoPi NEO (H3)
178 BUILD_DEVICES:=friendlyarm_nanopi-neo
179 endef
180
181 define U-Boot/nanopi_r1
182 BUILD_SUBTARGET:=cortexa7
183 NAME:=U-Boot for NanoPi R1 (H3)
184 BUILD_DEVICES:=friendlyarm_nanopi-r1
185 endef
186
187 define U-Boot/orangepi_r1
188 BUILD_SUBTARGET:=cortexa7
189 NAME:=Orange Pi R1 (H2+)
190 BUILD_DEVICES:=xunlong_orangepi-r1
191 endef
192
193 define U-Boot/orangepi_zero
194 BUILD_SUBTARGET:=cortexa7
195 NAME:=Orange Pi Zero (H2+)
196 BUILD_DEVICES:=xunlong_orangepi-zero
197 endef
198
199 define U-Boot/orangepi_one
200 BUILD_SUBTARGET:=cortexa7
201 NAME:=Orange Pi One (H3)
202 BUILD_DEVICES:=xunlong_orangepi-one
203 endef
204
205 define U-Boot/orangepi_pc
206 BUILD_SUBTARGET:=cortexa7
207 NAME:=Orange Pi PC (H3)
208 BUILD_DEVICES:=xunlong_orangepi-pc
209 endef
210
211 define U-Boot/orangepi_pc_plus
212 BUILD_SUBTARGET:=cortexa7
213 NAME:=Orange Pi PC Plus (H3)
214 BUILD_DEVICES:=xunlong_orangepi-pc-plus
215 endef
216
217 define U-Boot/orangepi_plus
218 BUILD_SUBTARGET:=cortexa7
219 NAME:=Orange Pi Plus (H3)
220 BUILD_DEVICES:=xunlong_orangepi-plus
221 endef
222
223 define U-Boot/orangepi_2
224 BUILD_SUBTARGET:=cortexa7
225 NAME:=Orange Pi 2 (H3)
226 BUILD_DEVICES:=xunlong_orangepi-2
227 endef
228
229 define U-Boot/pangolin
230 BUILD_SUBTARGET:=cortexa7
231 NAME:=Theobroma A31-yQ7 devboard
232 UENV:=pangolin
233 endef
234
235 define U-Boot/libretech_all_h3_cc_h5
236 BUILD_SUBTARGET:=cortexa53
237 NAME:=Libre Computer ALL-H3-CC H5
238 BUILD_DEVICES:=libretech_all-h3-cc-h5
239 DEPENDS:=+PACKAGE_u-boot-libretech_all_h3_cc_h5:arm-trusted-firmware-sunxi
240 UENV:=a64
241 endef
242
243 define U-Boot/nanopi_neo_plus2
244 BUILD_SUBTARGET:=cortexa53
245 NAME:=NanoPi NEO Plus2 (H5)
246 BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2
247 DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:arm-trusted-firmware-sunxi
248 UENV:=a64
249 endef
250
251 define U-Boot/nanopi_neo2
252 BUILD_SUBTARGET:=cortexa53
253 NAME:=NanoPi NEO2 (H5)
254 BUILD_DEVICES:=friendlyarm_nanopi-neo2
255 DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:arm-trusted-firmware-sunxi
256 UENV:=a64
257 endef
258
259 define U-Boot/pine64_plus
260 BUILD_SUBTARGET:=cortexa53
261 NAME:=Pine64 Plus A64
262 BUILD_DEVICES:=pine64_pine64-plus
263 DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi
264 UENV:=a64
265 endef
266
267 define U-Boot/bananapi_m2_plus_h3
268 BUILD_SUBTARGET:=cortexa7
269 NAME:=Bananapi M2 Plus H3
270 BUILD_DEVICES:=sinovoip_bananapi-m2-plus
271 endef
272
273 define U-Boot/sopine_baseboard
274 BUILD_SUBTARGET:=cortexa53
275 NAME:=Sopine Baseboard
276 BUILD_DEVICES:=pine64_sopine-baseboard
277 DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:arm-trusted-firmware-sunxi
278 UENV:=a64
279 endef
280
281
282 define U-Boot/orangepi_zero_plus
283 BUILD_SUBTARGET:=cortexa53
284 NAME:=Xunlong Orange Pi Zero Plus
285 BUILD_DEVICES:=xunlong_orangepi-zero-plus
286 DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:arm-trusted-firmware-sunxi
287 UENV:=a64
288 endef
289
290 define U-Boot/orangepi_pc2
291 BUILD_SUBTARGET:=cortexa53
292 NAME:=Xunlong Orange Pi PC2
293 BUILD_DEVICES:=xunlong_orangepi-pc2
294 DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:arm-trusted-firmware-sunxi
295 UENV:=a64
296 endef
297
298 define U-Boot/Bananapi_M2_Ultra
299 BUILD_SUBTARGET:=cortexa7
300 NAME:=Bananapi M2 Ultra
301 BUILD_DEVICES:=sinovoip_bananapi-m2-ultra
302 endef
303
304 define U-Boot/bananapi_m2_berry
305 BUILD_SUBTARGET:=cortexa7
306 NAME:=Bananapi M2 Berry
307 BUILD_DEVICES:=sinovoip_bananapi-m2-berry
308 endef
309
310 UBOOT_TARGETS := \
311 a64-olinuxino \
312 a64-olinuxino-emmc \
313 A10-OLinuXino-Lime \
314 A13-OLinuXino \
315 A20-OLinuXino-Lime \
316 A20-OLinuXino-Lime2 \
317 A20-OLinuXino-Lime2-eMMC \
318 A20-OLinuXino_MICRO \
319 bananapi_m2_plus_h3 \
320 Bananapi \
321 bananapi_m2_berry \
322 Bananapi_M2_Ultra \
323 Bananapro \
324 Cubieboard \
325 Cubieboard2 \
326 Cubietruck \
327 Hummingbird_A31 \
328 Marsboard_A10 \
329 Mele_M9 \
330 OLIMEX_A13_SOM \
331 Linksprite_pcDuino \
332 Linksprite_pcDuino3 \
333 Linksprite_pcDuino3_Nano \
334 Lamobo_R1 \
335 nanopi_m1_plus \
336 zeropi \
337 nanopi_neo \
338 nanopi_neo_air \
339 nanopi_neo_plus2 \
340 nanopi_neo2 \
341 nanopi_r1 \
342 orangepi_zero \
343 orangepi_r1 \
344 orangepi_one \
345 orangepi_pc \
346 orangepi_pc_plus \
347 orangepi_plus \
348 orangepi_2 \
349 orangepi_pc2 \
350 pangolin \
351 pine64_plus \
352 sopine_baseboard \
353 orangepi_zero_plus \
354 libretech_all_h3_cc_h5
355
356 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
357
358 UBOOT_MAKE_FLAGS += \
359 BL31=$(STAGING_DIR_IMAGE)/bl31.bin
360
361 define Build/InstallDev
362 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
363 $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
364 mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
365 $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
366 endef
367
368 define Package/u-boot/install/default
369 endef
370
371 $(eval $(call BuildPackage/U-Boot))