sunxi: add support for Sinovoip Banana Pi M2 Plus
[oweals/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_pc
160   BUILD_SUBTARGET:=cortexa7
161   NAME:=Orange Pi PC (H3)
162   BUILD_DEVICES:=sun8i-h3-orangepi-pc
163 endef
164
165 define U-Boot/orangepi_plus
166   BUILD_SUBTARGET:=cortexa7
167   NAME:=Orange Pi Plus (H3)
168   BUILD_DEVICES:=sun8i-h3-orangepi-plus
169 endef
170
171 define U-Boot/orangepi_2
172   BUILD_SUBTARGET:=cortexa7
173   NAME:=Orange Pi 2 (H3)
174   BUILD_DEVICES:=sun8i-h3-orangepi-2
175 endef
176
177 define U-Boot/pangolin
178   BUILD_SUBTARGET:=cortexa7
179   NAME:=Theobroma A31-yQ7 devboard
180   UENV:=pangolin
181 endef
182
183 define U-Boot/nanopi_neo_plus2
184   BUILD_SUBTARGET:=cortexa53
185   NAME:=NanoPi NEO Plus2 (H5)
186   BUILD_DEVICES:=sun50i-h5-nanopi-neo-plus2
187   DEPENDS:=+PACKAGE_u-boot-nanopi_neo_plus2:arm-trusted-firmware-sunxi
188   UENV:=a64
189 endef
190
191 define U-Boot/nanopi_neo2
192   BUILD_SUBTARGET:=cortexa53
193   NAME:=NanoPi NEO2 (H5)
194   BUILD_DEVICES:=sun50i-h5-nanopi-neo2
195   DEPENDS:=+PACKAGE_u-boot-nanopi_neo2:arm-trusted-firmware-sunxi
196   UENV:=a64
197 endef
198
199 define U-Boot/pine64_plus
200   BUILD_SUBTARGET:=cortexa53
201   NAME:=Pine64 Plus A64
202   BUILD_DEVICES:=sun50i-a64-pine64-plus
203   DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi
204   UENV:=a64
205 endef
206
207 define U-Boot/Sinovoip_BPI_M2_Plus
208   BUILD_SUBTARGET:=cortexa7
209   NAME:=Bananapi M2 Plus
210   BUILD_DEVICES:=sun8i-h3-bananapi-m2-plus
211 endef
212
213 define U-Boot/sopine_baseboard
214   BUILD_SUBTARGET:=cortexa53
215   NAME:=Sopine Baseboard
216   BUILD_DEVICES:=sun50i-a64-sopine-baseboard
217   DEPENDS:=+PACKAGE_u-boot-sopine_baseboard:arm-trusted-firmware-sunxi
218   UENV:=a64
219 endef
220
221
222 define U-Boot/orangepi_zero_plus
223   BUILD_SUBTARGET:=cortexa53
224   NAME:=Xunlong Orange Pi Zero Plus
225   BUILD_DEVICES:=sun50i-h5-orangepi-zero-plus
226   DEPENDS:=+PACKAGE_u-boot-orangepi_zero_plus:arm-trusted-firmware-sunxi
227   UENV:=a64
228 endef
229
230 define U-Boot/orangepi_pc2
231   BUILD_SUBTARGET:=cortexa53
232   NAME:=Xunlong Orange Pi PC2
233   BUILD_DEVICES:=sun50i-h5-orangepi-pc2
234   DEPENDS:=+PACKAGE_u-boot-orangepi_pc2:arm-trusted-firmware-sunxi
235   UENV:=a64
236 endef
237
238 UBOOT_TARGETS := \
239         A10-OLinuXino-Lime \
240         A13-OLinuXino \
241         A20-OLinuXino-Lime \
242         A20-OLinuXino-Lime2 \
243         A20-OLinuXino-Lime2-eMMC \
244         A20-OLinuXino_MICRO \
245         Bananapi \
246         Bananapro \
247         Cubieboard \
248         Cubieboard2 \
249         Cubietruck \
250         Hummingbird_A31 \
251         Marsboard_A10 \
252         Mele_M9 \
253         OLIMEX_A13_SOM \
254         Linksprite_pcDuino \
255         Linksprite_pcDuino3 \
256         Lamobo_R1 \
257         nanopi_m1_plus \
258         nanopi_neo \
259         nanopi_neo_plus2 \
260         nanopi_neo2 \
261         orangepi_zero \
262         orangepi_r1 \
263         orangepi_pc \
264         orangepi_plus \
265         orangepi_2 \
266         orangepi_pc2 \
267         pangolin \
268         pine64_plus \
269         Sinovoip_BPI_M2_Plus \
270         sopine_baseboard \
271         orangepi_zero_plus
272
273 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
274
275 UBOOT_MAKE_FLAGS += \
276         BL31=$(STAGING_DIR_IMAGE)/bl31.bin
277
278 define Build/InstallDev
279         $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
280         $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
281         mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
282                 $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
283 endef
284
285 define Package/u-boot/install/default
286 endef
287
288 $(eval $(call BuildPackage/U-Boot))