sunxi: add support for NextThing CHIP with Tzatziffy board
[openwrt/staging/wigyori.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-a64
33 UENV:=a64
34 ATF:=a64
35 endef
36
37 define U-Boot/a64-olinuxino-emmc
38 BUILD_SUBTARGET:=cortexa53
39 NAME:=Olimex A64-OLinuXino eMMC
40 BUILD_DEVICES:=olimex_a64-olinuxino-emmc
41 DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino-emmc:arm-trusted-firmware-sunxi-a64
42 UENV:=a64
43 ATF:=a64
44 endef
45
46 define U-Boot/A10-OLinuXino-Lime
47 BUILD_SUBTARGET:=cortexa8
48 NAME:=A10 OLinuXino LIME
49 BUILD_DEVICES:=olimex_a10-olinuxino-lime
50 endef
51
52 define U-Boot/A13-OLinuXino
53 BUILD_SUBTARGET:=cortexa8
54 NAME:=A13 OlinuXino
55 BUILD_DEVICES:=olimex_a13-olinuxino
56 endef
57
58 define U-Boot/A20-OLinuXino-Lime
59 BUILD_SUBTARGET:=cortexa7
60 NAME:=A20 OLinuXino LIME
61 BUILD_DEVICES:=olimex_a20-olinuxino-lime
62 endef
63
64 define U-Boot/A20-OLinuXino-Lime2
65 BUILD_SUBTARGET:=cortexa7
66 NAME:=A20 OLinuXino LIME2
67 BUILD_DEVICES:=olimex_a20-olinuxino-lime2
68 endef
69
70 define U-Boot/A20-OLinuXino-Lime2-eMMC
71 BUILD_SUBTARGET:=cortexa7
72 NAME:=A20 OLinuXino LIME2 eMMC
73 BUILD_DEVICES:=olimex_a20-olinuxino-lime2-emmc
74 endef
75
76 define U-Boot/A20-OLinuXino_MICRO
77 BUILD_SUBTARGET:=cortexa7
78 NAME:=A20 OLinuXino MICRO
79 BUILD_DEVICES:=olimex_a20-olinuxino-micro
80 endef
81
82 define U-Boot/Bananapi
83 BUILD_SUBTARGET:=cortexa7
84 NAME:=Bananapi
85 BUILD_DEVICES:=lemaker_bananapi
86 endef
87
88 define U-Boot/Bananapro
89 BUILD_SUBTARGET:=cortexa7
90 NAME:=Bananapro
91 BUILD_DEVICES:=lemaker_bananapro
92 endef
93
94 define U-Boot/CHIP
95 BUILD_SUBTARGET:=cortexa8
96 NAME:=CHIP
97 BUILD_DEVICES:=chip
98 endef
99
100 define U-Boot/Cubieboard
101 BUILD_SUBTARGET:=cortexa8
102 NAME:=Cubieboard
103 BUILD_DEVICES:=cubietech_a10-cubieboard
104 endef
105
106 define U-Boot/Cubieboard2
107 BUILD_SUBTARGET:=cortexa7
108 NAME:=Cubieboard2
109 BUILD_DEVICES:=cubietech_cubieboard2
110 endef
111
112 define U-Boot/Cubietruck
113 BUILD_SUBTARGET:=cortexa7
114 NAME:=Cubietruck
115 BUILD_DEVICES:=cubietech_cubietruck
116 endef
117
118 define U-Boot/Hummingbird_A31
119 BUILD_SUBTARGET:=cortexa7
120 NAME:=Hummingbird A31 board
121 endef
122
123 define U-Boot/Marsboard_A10
124 BUILD_SUBTARGET:=cortexa8
125 NAME:=Marsboard
126 BUILD_DEVICES:=marsboard_a10-marsboard
127 endef
128
129 define U-Boot/Mele_M9
130 BUILD_SUBTARGET:=cortexa7
131 NAME:=Mele M9 (A31)
132 BUILD_DEVICES:=mele_m9
133 endef
134
135 define U-Boot/OLIMEX_A13_SOM
136 BUILD_SUBTARGET:=cortexa8
137 NAME:=Olimex A13 SOM
138 BUILD_DEVICES:=olimex_a13-olimex-som
139 endef
140
141 define U-Boot/Linksprite_pcDuino
142 BUILD_SUBTARGET:=cortexa8
143 NAME:=Linksprite pcDuino
144 BUILD_DEVICES:=linksprite_a10-pcduino
145 endef
146
147 define U-Boot/Linksprite_pcDuino3
148 BUILD_SUBTARGET:=cortexa7
149 NAME:=Linksprite pcDuino3
150 BUILD_DEVICES:=linksprite_pcduino3
151 endef
152
153 define U-Boot/Linksprite_pcDuino3_Nano
154 BUILD_SUBTARGET:=cortexa7
155 NAME:=Linksprite pcDuino3 Nano
156 BUILD_DEVICES:=linksprite_pcduino3-nano
157 endef
158
159 define U-Boot/Lamobo_R1
160 BUILD_SUBTARGET:=cortexa7
161 NAME:=Lamobo R1
162 BUILD_DEVICES:=lamobo_lamobo-r1
163 endef
164
165 define U-Boot/nanopi_m1_plus
166 BUILD_SUBTARGET:=cortexa7
167 NAME:=NanoPi M1 Plus (H3)
168 BUILD_DEVICES:=friendlyarm_nanopi-m1-plus
169 endef
170
171 define U-Boot/zeropi
172 BUILD_SUBTARGET:=cortexa7
173 NAME:=ZeroPi (H3)
174 BUILD_DEVICES:=friendlyarm_zeropi
175 endef
176
177 define U-Boot/nanopi_neo_air
178 BUILD_SUBTARGET:=cortexa7
179 NAME:=U-Boot for NanoPi NEO Air (H3)
180 BUILD_DEVICES:=friendlyarm_nanopi-neo-air
181 endef
182
183 define U-Boot/nanopi_neo
184 BUILD_SUBTARGET:=cortexa7
185 NAME:=U-Boot for NanoPi NEO (H3)
186 BUILD_DEVICES:=friendlyarm_nanopi-neo
187 endef
188
189 define U-Boot/nanopi_r1
190 BUILD_SUBTARGET:=cortexa7
191 NAME:=U-Boot for NanoPi R1 (H3)
192 BUILD_DEVICES:=friendlyarm_nanopi-r1
193 endef
194
195 define U-Boot/orangepi_r1
196 BUILD_SUBTARGET:=cortexa7
197 NAME:=Orange Pi R1 (H2+)
198 BUILD_DEVICES:=xunlong_orangepi-r1
199 endef
200
201 define U-Boot/orangepi_zero
202 BUILD_SUBTARGET:=cortexa7
203 NAME:=Orange Pi Zero (H2+)
204 BUILD_DEVICES:=xunlong_orangepi-zero
205 endef
206
207 define U-Boot/orangepi_one
208 BUILD_SUBTARGET:=cortexa7
209 NAME:=Orange Pi One (H3)
210 BUILD_DEVICES:=xunlong_orangepi-one
211 endef
212
213 define U-Boot/orangepi_one_plus
214 BUILD_SUBTARGET:=cortexa53
215 NAME:=Orange Pi One Plus (H6)
216 DEPENDS:=+PACKAGE_u-boot-orangepi_one_plus:arm-trusted-firmware-sunxi-h6
217 BUILD_DEVICES:=xunlong_orangepi-one-plus
218 UENV:=h6
219 ATF:=h6
220 endef
221
222 define U-Boot/orangepi_pc
223 BUILD_SUBTARGET:=cortexa7
224 NAME:=Orange Pi PC (H3)
225 BUILD_DEVICES:=xunlong_orangepi-pc
226 endef
227
228 define U-Boot/orangepi_pc_plus
229 BUILD_SUBTARGET:=cortexa7
230 NAME:=Orange Pi PC Plus (H3)
231 BUILD_DEVICES:=xunlong_orangepi-pc-plus
232 endef
233
234 define U-Boot/orangepi_plus
235 BUILD_SUBTARGET:=cortexa7
236 NAME:=Orange Pi Plus (H3)
237 BUILD_DEVICES:=xunlong_orangepi-plus
238 endef
239
240 define U-Boot/orangepi_2
241 BUILD_SUBTARGET:=cortexa7
242 NAME:=Orange Pi 2 (H3)
243 BUILD_DEVICES:=xunlong_orangepi-2
244 endef
245
246 define U-Boot/pangolin
247 BUILD_SUBTARGET:=cortexa7
248 NAME:=Theobroma A31-yQ7 devboard
249 UENV:=pangolin
250 endef
251
252 define U-Boot/libretech_all_h3_cc_h5
253 BUILD_SUBTARGET:=cortexa53
254 NAME:=Libre Computer ALL-H3-CC H5
255 BUILD_DEVICES:=libretech_all-h3-cc-h5
256 DEPENDS:=+PACKAGE_u-boot-libretech_all_h3_cc_h5:arm-trusted-firmware-sunxi-a64
257 UENV:=a64
258 ATF:=a64
259 endef
260
261 define U-Boot/nanopi_neo_plus2
262 BUILD_SUBTARGET:=cortexa53
263 NAME:=NanoPi NEO Plus2 (H5)
264 BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2
265 DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:arm-trusted-firmware-sunxi-a64
266 UENV:=a64
267 ATF:=a64
268 endef
269
270 define U-Boot/nanopi_neo2
271 BUILD_SUBTARGET:=cortexa53
272 NAME:=NanoPi NEO2 (H5)
273 BUILD_DEVICES:=friendlyarm_nanopi-neo2
274 DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:arm-trusted-firmware-sunxi-a64
275 UENV:=a64
276 ATF:=a64
277 endef
278
279 define U-Boot/nanopi_r1s_h5
280 BUILD_SUBTARGET:=cortexa53
281 NAME:=NanoPi R1S (H5)
282 BUILD_DEVICES:=friendlyarm_nanopi-r1s-h5
283 DEPENDS:=+PACKAGE_u-boot-nanopi_r1s_h5:arm-trusted-firmware-sunxi-a64
284 UENV:=a64
285 ATF:=a64
286 endef
287
288 define U-Boot/pine64_plus
289 BUILD_SUBTARGET:=cortexa53
290 NAME:=Pine64 Plus A64
291 BUILD_DEVICES:=pine64_pine64-plus
292 DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi-a64
293 UENV:=a64
294 ATF:=a64
295 endef
296
297 define U-Boot/bananapi_m2_plus_h3
298 BUILD_SUBTARGET:=cortexa7
299 NAME:=Bananapi M2 Plus H3
300 BUILD_DEVICES:=sinovoip_bananapi-m2-plus
301 endef
302
303 define U-Boot/Sinovoip_BPI_M3
304 BUILD_SUBTARGET:=cortexa7
305 NAME:=Bananapi M3
306 BUILD_DEVICES:=sinovoip_bananapi-m3
307 endef
308
309 define U-Boot/sopine_baseboard
310 BUILD_SUBTARGET:=cortexa53
311 NAME:=Sopine Baseboard
312 BUILD_DEVICES:=pine64_sopine-baseboard
313 DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:arm-trusted-firmware-sunxi-a64
314 UENV:=a64
315 ATF:=a64
316 endef
317
318
319 define U-Boot/orangepi_zero_plus
320 BUILD_SUBTARGET:=cortexa53
321 NAME:=Xunlong Orange Pi Zero Plus
322 BUILD_DEVICES:=xunlong_orangepi-zero-plus
323 DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:arm-trusted-firmware-sunxi-a64
324 UENV:=a64
325 ATF:=a64
326 endef
327
328 define U-Boot/orangepi_pc2
329 BUILD_SUBTARGET:=cortexa53
330 NAME:=Xunlong Orange Pi PC2
331 BUILD_DEVICES:=xunlong_orangepi-pc2
332 DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:arm-trusted-firmware-sunxi-a64
333 UENV:=a64
334 ATF:=a64
335 endef
336
337 define U-Boot/Bananapi_M2_Ultra
338 BUILD_SUBTARGET:=cortexa7
339 NAME:=Bananapi M2 Ultra
340 BUILD_DEVICES:=sinovoip_bananapi-m2-ultra
341 endef
342
343 define U-Boot/bananapi_m2_berry
344 BUILD_SUBTARGET:=cortexa7
345 NAME:=Bananapi M2 Berry
346 BUILD_DEVICES:=sinovoip_bananapi-m2-berry
347 endef
348
349 UBOOT_TARGETS := \
350 a64-olinuxino \
351 a64-olinuxino-emmc \
352 A10-OLinuXino-Lime \
353 A13-OLinuXino \
354 A20-OLinuXino-Lime \
355 A20-OLinuXino-Lime2 \
356 A20-OLinuXino-Lime2-eMMC \
357 A20-OLinuXino_MICRO \
358 bananapi_m2_plus_h3 \
359 Bananapi \
360 bananapi_m2_berry \
361 Bananapi_M2_Ultra \
362 Bananapro \
363 CHIP \
364 Cubieboard \
365 Cubieboard2 \
366 Cubietruck \
367 Hummingbird_A31 \
368 Marsboard_A10 \
369 Mele_M9 \
370 OLIMEX_A13_SOM \
371 Linksprite_pcDuino \
372 Linksprite_pcDuino3 \
373 Linksprite_pcDuino3_Nano \
374 Lamobo_R1 \
375 nanopi_m1_plus \
376 zeropi \
377 nanopi_neo \
378 nanopi_neo_air \
379 nanopi_neo_plus2 \
380 nanopi_neo2 \
381 nanopi_r1 \
382 nanopi_r1s_h5 \
383 orangepi_zero \
384 orangepi_r1 \
385 orangepi_one \
386 orangepi_one_plus \
387 orangepi_pc \
388 orangepi_pc_plus \
389 orangepi_plus \
390 orangepi_2 \
391 orangepi_pc2 \
392 pangolin \
393 pine64_plus \
394 Sinovoip_BPI_M3 \
395 sopine_baseboard \
396 orangepi_zero_plus \
397 libretech_all_h3_cc_h5
398
399 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
400
401 UBOOT_MAKE_FLAGS += \
402 BL31=$(STAGING_DIR_IMAGE)/bl31_sun50i_$(ATF).bin
403
404 define Build/InstallDev
405 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
406 $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
407 mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
408 $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
409 endef
410
411 define Package/u-boot/install/default
412 endef
413
414 $(eval $(call BuildPackage/U-Boot))