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