2 # Copyright (C) 2013-2016 OpenWrt.org
3 # Copyright (C) 2017 Yousong Zhou
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
14 PKG_HASH:=5374bfdc8acb9a38c025371b1ff20f45e7533668e84e685d0df5d9e7c0e4feff
16 PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
18 include $(INCLUDE_DIR)/u-boot.mk
19 include $(INCLUDE_DIR)/package.mk
23 UBOOT_IMAGE:=u-boot-sunxi-with-spl.bin
28 define U-Boot/A10-OLinuXino-Lime
29 BUILD_SUBTARGET:=cortexa8
30 NAME:=A10 OLinuXino LIME
31 BUILD_DEVICES:=sun4i-a10-olinuxino-lime
34 define U-Boot/A13-OLinuXino
35 BUILD_SUBTARGET:=cortexa8
37 BUILD_DEVICES:=sun5i-a13-olinuxino
40 define U-Boot/A20-OLinuXino-Lime
41 BUILD_SUBTARGET:=cortexa7
42 NAME:=A20 OLinuXino LIME
43 BUILD_DEVICES:=sun7i-a20-olinuxino-lime
46 define U-Boot/A20-OLinuXino-Lime2
47 BUILD_SUBTARGET:=cortexa7
48 NAME:=A20 OLinuXino LIME2
49 BUILD_DEVICES:=sun7i-a20-olinuxino-lime2
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
58 define U-Boot/A20-OLinuXino_MICRO
59 BUILD_SUBTARGET:=cortexa7
60 NAME:=A20 OLinuXino MICRO
61 BUILD_DEVICES:=sun7i-a20-olinuxino-micro
64 define U-Boot/Bananapi
65 BUILD_SUBTARGET:=cortexa7
67 BUILD_DEVICES:=sun7i-a20-bananapi
70 define U-Boot/Bananapro
71 BUILD_SUBTARGET:=cortexa7
73 BUILD_DEVICES:=sun7i-a20-bananapro
76 define U-Boot/Cubieboard
77 BUILD_SUBTARGET:=cortexa8
79 BUILD_DEVICES:=sun4i-a10-cubieboard
82 define U-Boot/Cubieboard2
83 BUILD_SUBTARGET:=cortexa7
85 BUILD_DEVICES:=sun7i-a20-cubieboard2
88 define U-Boot/Cubietruck
89 BUILD_SUBTARGET:=cortexa7
91 BUILD_DEVICES:=sun7i-a20-cubietruck
94 define U-Boot/Hummingbird_A31
95 BUILD_SUBTARGET:=cortexa7
96 NAME:=Hummingbird A31 board
100 BUILD_SUBTARGET:=cortexa7
102 BUILD_DEVICES:=sun6i-a31-m9
105 define U-Boot/OLIMEX_A13_SOM
106 BUILD_SUBTARGET:=cortexa8
108 BUILD_DEVICES:=sun5i-a13-olimex-som
111 define U-Boot/Linksprite_pcDuino
112 BUILD_SUBTARGET:=cortexa8
113 NAME:=Linksprite pcDuino
114 BUILD_DEVICES:=sun4i-a10-pcduino
117 define U-Boot/Linksprite_pcDuino3
118 BUILD_SUBTARGET:=cortexa7
119 NAME:=Linksprite pcDuino3
120 BUILD_DEVICES:=sun7i-a20-pcduino3
123 define U-Boot/Lamobo_R1
124 BUILD_SUBTARGET:=cortexa7
126 BUILD_DEVICES:=sun7i-a20-lamobo-r1
129 define U-Boot/orangepi_r1
130 BUILD_SUBTARGET:=cortexa7
131 NAME:=Orange Pi R1 (H2+)
132 BUILD_DEVICES:=sun8i-h2-plus-orangepi-r1
135 define U-Boot/orangepi_plus
136 BUILD_SUBTARGET:=cortexa7
137 NAME:=Orange Pi Plus (H3)
138 BUILD_DEVICES:=sun8i-h3-orangepi-plus
141 define U-Boot/pangolin
142 BUILD_SUBTARGET:=cortexa7
143 NAME:=Theobroma A31-yQ7 devboard
147 define U-Boot/pine64_plus
148 BUILD_SUBTARGET:=cortexa53
149 NAME:=Pine64 Plus A64
150 BUILD_DEVICES:=sun50i-a64-pine64-plus
151 DEPENDS:=+PACKAGE_u-boot-pine64_plus:arm-trusted-firmware-sunxi
159 A20-OLinuXino-Lime2 \
160 A20-OLinuXino-Lime2-eMMC \
161 A20-OLinuXino_MICRO \
171 Linksprite_pcDuino3 \
178 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
180 UBOOT_MAKE_FLAGS += \
181 BL31=$(STAGING_DIR_IMAGE)/bl31.bin
183 define Build/InstallDev
184 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
185 ifeq ($(SUBTARGET),cortexa53)
186 cat $(PKG_BUILD_DIR)/spl/sunxi-spl.bin $(PKG_BUILD_DIR)/u-boot.itb > $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
188 $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-u-boot-with-spl.bin
190 mkimage -C none -A arm -T script -d uEnv-$(UENV).txt \
191 $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
194 define Package/u-boot/install/default
197 $(eval $(call BuildPackage/U-Boot))