ecead6ef12fb1de8f2365a095b0746c34258bab6
[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:=2018.11
13
14 PKG_HASH:=737c93f2ea03fec669e840dbee32bcf6238e6924ff5f20e4f1c472ee24e5d37e
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/A10-OLinuXino-Lime
29 BUILD_SUBTARGET:=cortexa8
30 NAME:=A10 OLinuXino LIME
31 BUILD_DEVICES:=sun4i-a10-olinuxino-lime
32 endef
33
34 define U-Boot/A13-OLinuXino
35 BUILD_SUBTARGET:=cortexa8
36 NAME:=A13 OlinuXino
37 BUILD_DEVICES:=sun5i-a13-olinuxino
38 endef
39
40 define U-Boot/A20-OLinuXino-Lime
41 BUILD_SUBTARGET:=cortexa7
42 NAME:=A20 OLinuXino LIME
43 BUILD_DEVICES:=sun7i-a20-olinuxino-lime
44 endef
45
46 define U-Boot/A20-OLinuXino-Lime2
47 BUILD_SUBTARGET:=cortexa7
48 NAME:=A20 OLinuXino LIME2
49 BUILD_DEVICES:=sun7i-a20-olinuxino-lime2
50 endef
51
52 define U-Boot/A20-OLinuXino-Lime2-eMMC
53 BUILD_SUBTARGET:=cortexa7
54 NAME:=A20 OLinuXino LIME2 eMMC
55 BUILD_DEVICES:=sun7i-a20-olinuxino-lime2-emmc
56 endef
57
58 define U-Boot/A20-OLinuXino_MICRO
59 BUILD_SUBTARGET:=cortexa7
60 NAME:=A20 OLinuXino MICRO
61 BUILD_DEVICES:=sun7i-a20-olinuxino-micro
62 endef
63
64 define U-Boot/Bananapi
65 BUILD_SUBTARGET:=cortexa7
66 NAME:=Bananapi
67 BUILD_DEVICES:=sun7i-a20-bananapi
68 endef
69
70 define U-Boot/Bananapro
71 BUILD_SUBTARGET:=cortexa7
72 NAME:=Bananapro
73 BUILD_DEVICES:=sun7i-a20-bananapro
74 endef
75
76 define U-Boot/Cubieboard
77 BUILD_SUBTARGET:=cortexa8
78 NAME:=Cubieboard
79 BUILD_DEVICES:=sun4i-a10-cubieboard
80 endef
81
82 define U-Boot/Cubieboard2
83 BUILD_SUBTARGET:=cortexa7
84 NAME:=Cubieboard2
85 BUILD_DEVICES:=sun7i-a20-cubieboard2
86 endef
87
88 define U-Boot/Cubietruck
89 BUILD_SUBTARGET:=cortexa7
90 NAME:=Cubietruck
91 BUILD_DEVICES:=sun7i-a20-cubietruck
92 endef
93
94 define U-Boot/Hummingbird_A31
95 BUILD_SUBTARGET:=cortexa7
96 NAME:=Hummingbird A31 board
97 endef
98
99 define U-Boot/Marsboard_A10
100 BUILD_SUBTARGET:=cortexa8
101 NAME:=Marsboard
102 BUILD_DEVICES:=sun4i-a10-marsboard
103 endef
104
105 define U-Boot/Mele_M9
106 BUILD_SUBTARGET:=cortexa7
107 NAME:=Mele M9 (A31)
108 BUILD_DEVICES:=sun6i-a31-m9
109 endef
110
111 define U-Boot/OLIMEX_A13_SOM
112 BUILD_SUBTARGET:=cortexa8
113 NAME:=Olimex A13 SOM
114 BUILD_DEVICES:=sun5i-a13-olimex-som
115 endef
116
117 define U-Boot/Linksprite_pcDuino
118 BUILD_SUBTARGET:=cortexa8
119 NAME:=Linksprite pcDuino
120 BUILD_DEVICES:=sun4i-a10-pcduino
121 endef
122
123 define U-Boot/Linksprite_pcDuino3
124 BUILD_SUBTARGET:=cortexa7
125 NAME:=Linksprite pcDuino3
126 BUILD_DEVICES:=sun7i-a20-pcduino3
127 endef
128
129 define U-Boot/Lamobo_R1
130 BUILD_SUBTARGET:=cortexa7
131 NAME:=Lamobo R1
132 BUILD_DEVICES:=sun7i-a20-lamobo-r1
133 endef
134
135 define U-Boot/nanopi_m1_plus
136 BUILD_SUBTARGET:=cortexa7
137 NAME:=NanoPi M1 Plus (H3)
138 BUILD_DEVICES:=sun8i-h3-nanopi-m1-plus
139 endef
140
141 define U-Boot/nanopi_neo
142 BUILD_SUBTARGET:=cortexa7
143 NAME:=U-Boot for NanoPi NEO (H3)
144 BUILD_DEVICES:=sun8i-h3-nanopi-neo
145 endef
146
147 define U-Boot/orangepi_r1
148 BUILD_SUBTARGET:=cortexa7
149 NAME:=Orange Pi R1 (H2+)
150 BUILD_DEVICES:=sun8i-h2-plus-orangepi-r1
151 endef
152
153 define U-Boot/orangepi_zero
154 BUILD_SUBTARGET:=cortexa7
155 NAME:=Orange Pi Zero (H2+)
156 BUILD_DEVICES:=sun8i-h2-plus-orangepi-zero
157 endef
158
159 define U-Boot/orangepi_one
160 BUILD_SUBTARGET:=cortexa7
161 NAME:=Orange Pi One (H3)
162 BUILD_DEVICES:=sun8i-h3-orangepi-one
163 endef
164
165 define U-Boot/orangepi_pc
166 BUILD_SUBTARGET:=cortexa7
167 NAME:=Orange Pi PC (H3)
168 BUILD_DEVICES:=sun8i-h3-orangepi-pc
169 endef
170
171 define U-Boot/orangepi_pc_plus
172 BUILD_SUBTARGET:=cortexa7
173 NAME:=Orange Pi PC Plus (H3)
174 BUILD_DEVICES:=sun8i-h3-orangepi-pc-plus
175 endef
176
177 define U-Boot/orangepi_plus
178 BUILD_SUBTARGET:=cortexa7
179 NAME:=Orange Pi Plus (H3)
180 BUILD_DEVICES:=sun8i-h3-orangepi-plus
181 endef
182
183 define U-Boot/orangepi_2
184 BUILD_SUBTARGET:=cortexa7
185 NAME:=Orange Pi 2 (H3)
186 BUILD_DEVICES:=sun8i-h3-orangepi-2
187 endef
188
189 define U-Boot/pangolin
190 BUILD_SUBTARGET:=cortexa7
191 NAME:=Theobroma A31-yQ7 devboard
192 UENV:=pangolin
193 endef
194
195 define U-Boot/nanopi_neo_plus2
196 BUILD_SUBTARGET:=cortexa53
197 NAME:=NanoPi NEO Plus2 (H5)
198 BUILD_DEVICES:=sun50i-h5-nanopi-neo-plus2
199 DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:arm-trusted-firmware-sunxi
200 UENV:=a64
201 endef
202
203 define U-Boot/nanopi_neo2
204 BUILD_SUBTARGET:=cortexa53
205 NAME:=NanoPi NEO2 (H5)
206 BUILD_DEVICES:=sun50i-h5-nanopi-neo2
207 DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:arm-trusted-firmware-sunxi
208 UENV:=a64
209 endef
210
211 define U-Boot/pine64_plus
212 BUILD_SUBTARGET:=cortexa53
213 NAME:=Pine64 Plus A64
214 BUILD_DEVICES:=sun50i-a64-pine64-plus
215 DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi
216 UENV:=a64
217 endef
218
219 define U-Boot/Sinovoip_BPI_M2_Plus
220 BUILD_SUBTARGET:=cortexa7
221 NAME:=Bananapi M2 Plus
222 BUILD_DEVICES:=sun8i-h3-bananapi-m2-plus
223 endef
224
225 define U-Boot/sopine_baseboard
226 BUILD_SUBTARGET:=cortexa53
227 NAME:=Sopine Baseboard
228 BUILD_DEVICES:=sun50i-a64-sopine-baseboard
229 DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:arm-trusted-firmware-sunxi
230 UENV:=a64
231 endef
232
233
234 define U-Boot/orangepi_zero_plus
235 BUILD_SUBTARGET:=cortexa53
236 NAME:=Xunlong Orange Pi Zero Plus
237 BUILD_DEVICES:=sun50i-h5-orangepi-zero-plus
238 DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:arm-trusted-firmware-sunxi
239 UENV:=a64
240 endef
241
242 define U-Boot/orangepi_pc2
243 BUILD_SUBTARGET:=cortexa53
244 NAME:=Xunlong Orange Pi PC2
245 BUILD_DEVICES:=sun50i-h5-orangepi-pc2
246 DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:arm-trusted-firmware-sunxi
247 UENV:=a64
248 endef
249
250 UBOOT_TARGETS := \
251 A10-OLinuXino-Lime \
252 A13-OLinuXino \
253 A20-OLinuXino-Lime \
254 A20-OLinuXino-Lime2 \
255 A20-OLinuXino-Lime2-eMMC \
256 A20-OLinuXino_MICRO \
257 Bananapi \
258 Bananapro \
259 Cubieboard \
260 Cubieboard2 \
261 Cubietruck \
262 Hummingbird_A31 \
263 Marsboard_A10 \
264 Mele_M9 \
265 OLIMEX_A13_SOM \
266 Linksprite_pcDuino \
267 Linksprite_pcDuino3 \
268 Lamobo_R1 \
269 nanopi_m1_plus \
270 nanopi_neo \
271 nanopi_neo_plus2 \
272 nanopi_neo2 \
273 orangepi_zero \
274 orangepi_r1 \
275 orangepi_one \
276 orangepi_pc \
277 orangepi_pc_plus \
278 orangepi_plus \
279 orangepi_2 \
280 orangepi_pc2 \
281 pangolin \
282 pine64_plus \
283 Sinovoip_BPI_M2_Plus \
284 sopine_baseboard \
285 orangepi_zero_plus
286
287 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
288
289 UBOOT_MAKE_FLAGS += \
290 BL31=$(STAGING_DIR_IMAGE)/bl31.bin
291
292 define Build/InstallDev
293 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
294 $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
295 mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
296 $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
297 endef
298
299 define Package/u-boot/install/default
300 endef
301
302 $(eval $(call BuildPackage/U-Boot))