ath79: rb91x: enable pcie power early (WIP)
[openwrt/staging/xback.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/Linksprite_pcDuino3
144 BUILD_SUBTARGET:=cortexa7
145 NAME:=Linksprite pcDuino3
146 BUILD_DEVICES:=linksprite_pcduino3
147 endef
148
149 define U-Boot/Linksprite_pcDuino3_Nano
150 BUILD_SUBTARGET:=cortexa7
151 NAME:=Linksprite pcDuino3 Nano
152 BUILD_DEVICES:=linksprite_pcduino3-nano
153 endef
154
155 define U-Boot/Lamobo_R1
156 BUILD_SUBTARGET:=cortexa7
157 NAME:=Lamobo R1
158 BUILD_DEVICES:=lamobo_lamobo-r1
159 endef
160
161 define U-Boot/nanopi_m1_plus
162 BUILD_SUBTARGET:=cortexa7
163 NAME:=NanoPi M1 Plus (H3)
164 BUILD_DEVICES:=friendlyarm_nanopi-m1-plus
165 endef
166
167 define U-Boot/zeropi
168 BUILD_SUBTARGET:=cortexa7
169 NAME:=ZeroPi (H3)
170 BUILD_DEVICES:=friendlyarm_zeropi
171 endef
172
173 define U-Boot/nanopi_neo_air
174 BUILD_SUBTARGET:=cortexa7
175 NAME:=U-Boot for NanoPi NEO Air (H3)
176 BUILD_DEVICES:=friendlyarm_nanopi-neo-air
177 endef
178
179 define U-Boot/nanopi_neo
180 BUILD_SUBTARGET:=cortexa7
181 NAME:=U-Boot for NanoPi NEO (H3)
182 BUILD_DEVICES:=friendlyarm_nanopi-neo
183 endef
184
185 define U-Boot/nanopi_r1
186 BUILD_SUBTARGET:=cortexa7
187 NAME:=U-Boot for NanoPi R1 (H3)
188 BUILD_DEVICES:=friendlyarm_nanopi-r1
189 endef
190
191 define U-Boot/orangepi_r1
192 BUILD_SUBTARGET:=cortexa7
193 NAME:=Orange Pi R1 (H2+)
194 BUILD_DEVICES:=xunlong_orangepi-r1
195 endef
196
197 define U-Boot/orangepi_zero
198 BUILD_SUBTARGET:=cortexa7
199 NAME:=Orange Pi Zero (H2+)
200 BUILD_DEVICES:=xunlong_orangepi-zero
201 endef
202
203 define U-Boot/orangepi_one
204 BUILD_SUBTARGET:=cortexa7
205 NAME:=Orange Pi One (H3)
206 BUILD_DEVICES:=xunlong_orangepi-one
207 endef
208
209 define U-Boot/orangepi_one_plus
210 BUILD_SUBTARGET:=cortexa53
211 NAME:=Orange Pi One Plus (H6)
212 DEPENDS:=+PACKAGE_u-boot-orangepi_one_plus:trusted-firmware-a-sunxi-h6
213 BUILD_DEVICES:=xunlong_orangepi-one-plus
214 UENV:=h6
215 ATF:=h6
216 endef
217
218 define U-Boot/orangepi_pc
219 BUILD_SUBTARGET:=cortexa7
220 NAME:=Orange Pi PC (H3)
221 BUILD_DEVICES:=xunlong_orangepi-pc
222 endef
223
224 define U-Boot/orangepi_pc_plus
225 BUILD_SUBTARGET:=cortexa7
226 NAME:=Orange Pi PC Plus (H3)
227 BUILD_DEVICES:=xunlong_orangepi-pc-plus
228 endef
229
230 define U-Boot/orangepi_plus
231 BUILD_SUBTARGET:=cortexa7
232 NAME:=Orange Pi Plus (H3)
233 BUILD_DEVICES:=xunlong_orangepi-plus
234 endef
235
236 define U-Boot/orangepi_2
237 BUILD_SUBTARGET:=cortexa7
238 NAME:=Orange Pi 2 (H3)
239 BUILD_DEVICES:=xunlong_orangepi-2
240 endef
241
242 define U-Boot/pangolin
243 BUILD_SUBTARGET:=cortexa7
244 NAME:=Theobroma A31-yQ7 devboard
245 UENV:=pangolin
246 endef
247
248 define U-Boot/libretech_all_h3_cc_h5
249 BUILD_SUBTARGET:=cortexa53
250 NAME:=Libre Computer ALL-H3-CC H5
251 BUILD_DEVICES:=libretech_all-h3-cc-h5
252 DEPENDS:=+PACKAGE_u-boot-libretech_all_h3_cc_h5:trusted-firmware-a-sunxi-a64
253 UENV:=a64
254 ATF:=a64
255 endef
256
257 define U-Boot/nanopi_neo_plus2
258 BUILD_SUBTARGET:=cortexa53
259 NAME:=NanoPi NEO Plus2 (H5)
260 BUILD_DEVICES:=friendlyarm_nanopi-neo-plus2
261 DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:trusted-firmware-a-sunxi-a64
262 UENV:=a64
263 ATF:=a64
264 endef
265
266 define U-Boot/nanopi_neo2
267 BUILD_SUBTARGET:=cortexa53
268 NAME:=NanoPi NEO2 (H5)
269 BUILD_DEVICES:=friendlyarm_nanopi-neo2
270 DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:trusted-firmware-a-sunxi-a64
271 UENV:=a64
272 ATF:=a64
273 endef
274
275 define U-Boot/nanopi_r1s_h5
276 BUILD_SUBTARGET:=cortexa53
277 NAME:=NanoPi R1S (H5)
278 BUILD_DEVICES:=friendlyarm_nanopi-r1s-h5
279 DEPENDS:=+PACKAGE_u-boot-nanopi_r1s_h5:trusted-firmware-a-sunxi-a64
280 UENV:=a64
281 ATF:=a64
282 endef
283
284 define U-Boot/pine64_plus
285 BUILD_SUBTARGET:=cortexa53
286 NAME:=Pine64 Plus A64
287 BUILD_DEVICES:=pine64_pine64-plus
288 DEPENDS:=+PACKAGE_u-boot-pine64_plus:trusted-firmware-a-sunxi-a64
289 UENV:=a64
290 ATF:=a64
291 endef
292
293 define U-Boot/bananapi_m2_plus_h3
294 BUILD_SUBTARGET:=cortexa7
295 NAME:=Bananapi M2 Plus H3
296 BUILD_DEVICES:=sinovoip_bananapi-m2-plus
297 endef
298
299 define U-Boot/Sinovoip_BPI_M3
300 BUILD_SUBTARGET:=cortexa7
301 NAME:=Bananapi M3
302 BUILD_DEVICES:=sinovoip_bananapi-m3
303 endef
304
305 define U-Boot/sopine_baseboard
306 BUILD_SUBTARGET:=cortexa53
307 NAME:=Sopine Baseboard
308 BUILD_DEVICES:=pine64_sopine-baseboard
309 DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:trusted-firmware-a-sunxi-a64
310 UENV:=a64
311 ATF:=a64
312 endef
313
314
315 define U-Boot/orangepi_zero_plus
316 BUILD_SUBTARGET:=cortexa53
317 NAME:=Xunlong Orange Pi Zero Plus
318 BUILD_DEVICES:=xunlong_orangepi-zero-plus
319 DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:trusted-firmware-a-sunxi-a64
320 UENV:=a64
321 ATF:=a64
322 endef
323
324 define U-Boot/orangepi_pc2
325 BUILD_SUBTARGET:=cortexa53
326 NAME:=Xunlong Orange Pi PC2
327 BUILD_DEVICES:=xunlong_orangepi-pc2
328 DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:trusted-firmware-a-sunxi-a64
329 UENV:=a64
330 ATF:=a64
331 endef
332
333 define U-Boot/orangepi_zero2
334 BUILD_SUBTARGET:=cortexa53
335 NAME:=Xunlong Orange Pi Zero2
336 BUILD_DEVICES:=xunlong_orangepi-zero2
337 DEPENDS:=+PACKAGE_u-boot-orangepi_zero2:trusted-firmware-a-sunxi-h616
338 UENV:=h616
339 ATF:=h616
340 endef
341
342 define U-Boot/orangepi_zero3
343 BUILD_SUBTARGET:=cortexa53
344 NAME:=Xunlong Orange Pi Zero3
345 BUILD_DEVICES:=xunlong_orangepi-zero3
346 DEPENDS:=+PACKAGE_u-boot-orangepi_zero3:trusted-firmware-a-sunxi-h616
347 UENV:=h616
348 ATF:=h616
349 endef
350
351 define U-Boot/Bananapi_M2_Ultra
352 BUILD_SUBTARGET:=cortexa7
353 NAME:=Bananapi M2 Ultra
354 BUILD_DEVICES:=sinovoip_bananapi-m2-ultra
355 endef
356
357 define U-Boot/bananapi_m2_berry
358 BUILD_SUBTARGET:=cortexa7
359 NAME:=Bananapi M2 Berry
360 BUILD_DEVICES:=sinovoip_bananapi-m2-berry
361 endef
362
363 define U-Boot/bananapi_p2_zero
364 BUILD_SUBTARGET:=cortexa7
365 NAME:=Bananapi P2 Zero
366 BUILD_DEVICES:=sinovoip_bananapi-p2-zero
367 endef
368
369
370 UBOOT_TARGETS := \
371 a64-olinuxino \
372 a64-olinuxino-emmc \
373 A10-OLinuXino-Lime \
374 A13-OLinuXino \
375 A20-OLinuXino-Lime \
376 A20-OLinuXino-Lime2 \
377 A20-OLinuXino-Lime2-eMMC \
378 A20-OLinuXino_MICRO \
379 bananapi_m2_plus_h3 \
380 Bananapi \
381 bananapi_m2_berry \
382 bananapi_p2_zero \
383 Bananapi_M2_Ultra \
384 Bananapro \
385 Cubieboard \
386 Cubieboard2 \
387 Cubietruck \
388 Hummingbird_A31 \
389 Marsboard_A10 \
390 Mele_M9 \
391 OLIMEX_A13_SOM \
392 Linksprite_pcDuino \
393 Linksprite_pcDuino3 \
394 Linksprite_pcDuino3_Nano \
395 Lamobo_R1 \
396 nanopi_m1_plus \
397 zeropi \
398 nanopi_neo \
399 nanopi_neo_air \
400 nanopi_neo_plus2 \
401 nanopi_neo2 \
402 nanopi_r1 \
403 nanopi_r1s_h5 \
404 orangepi_zero \
405 orangepi_r1 \
406 orangepi_one \
407 orangepi_one_plus \
408 orangepi_pc \
409 orangepi_pc_plus \
410 orangepi_plus \
411 orangepi_2 \
412 orangepi_pc2 \
413 orangepi_zero2 \
414 orangepi_zero3 \
415 pangolin \
416 pine64_plus \
417 Sinovoip_BPI_M3 \
418 sopine_baseboard \
419 orangepi_zero_plus \
420 libretech_all_h3_cc_h5
421
422 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
423
424 UBOOT_MAKE_FLAGS += \
425 BL31=$(STAGING_DIR_IMAGE)/bl31_sunxi-$(ATF).bin SCP=/dev/null
426
427 define Build/InstallDev
428 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
429 $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
430 mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
431 $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
432 endef
433
434 define Package/u-boot/install/default
435 endef
436
437 $(eval $(call BuildPackage/U-Boot))