summaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc')
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc290
1 files changed, 290 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
new file mode 100644
index 00000000..4b9f543c
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
@@ -0,0 +1,290 @@
1# UBOOT_LOCALVERSION can be set to add a tag to the end of the
2# U-boot version string. such as the commit id
3def get_git_revision(p):
4 import subprocess
5
6 try:
7 return subprocess.Popen("git rev-parse HEAD 2>/dev/null ", cwd=p, shell=True, stdout=subprocess.PIPE, universal_newlines=True).communicate()[0].rstrip()
8 except OSError:
9 return None
10
11UBOOT_LOCALVERSION = "-g${@get_git_revision('${S}').__str__()[:10]}"
12
13UBOOT_SUFFIX ?= "img"
14SPL_BINARY ?= "MLO"
15
16require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot-common.inc
17require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
18
19FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot:"
20
21SUMMARY = "u-boot bootloader for TI devices"
22
23LICENSE = "GPLv2+"
24LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
25
26BRANCH ?= "master"
27UBOOT_GIT_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git"
28UBOOT_GIT_PROTOCOL = "git"
29SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};branch=${BRANCH}"
30
31PV:append = "+git${SRCPV}"
32
33# u-boot needs devtree compiler to parse dts files
34DEPENDS += "dtc-native bc-native lzop-native flex-native bison-native"
35
36DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
37
38PACKAGECONFIG[atf] = "ATF=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
39PACKAGECONFIG[optee] = "TEE=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/bl32.bin,,optee-os"
40PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-ipc/${DM_FIRMWARE},,ti-rtos-firmware"
41
42PACKAGECONFIG:append:aarch64 = " atf optee"
43PACKAGECONFIG:append:j7 = " dm"
44
45COMPATIBLE_MACHINE = "(ti-soc)"
46
47EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
48
49PROVIDES += "u-boot"
50PKG:${PN} = "u-boot"
51PKG:${PN}-dev = "u-boot-dev"
52PKG:${PN}-dbg = "u-boot-dbg"
53
54S = "${WORKDIR}/git"
55
56# Support for secure devices - detailed info is in doc/README.ti-secure
57TI_SECURE_DEV_PKG ?= ""
58export TI_SECURE_DEV_PKG
59
60SYSROOT_DIRS += "/boot"
61
62# SPL (Second Program Loader) to be loaded over UART
63SPL_UART_BINARY = "u-boot-spl.bin"
64SPL_UART_BINARY:k3r5 = ""
65SPL_UART_BINARY:lego-ev3 = ""
66SPL_UART_BINARY:j7200-evm-k3r5 = "u-boot-spl.bin"
67SPL_UART_BINARY:j7200-hs-evm-k3r5 = "u-boot-spl.bin"
68SPL_UART_BINARY:am64xx-evm-k3r5 = "u-boot-spl.bin"
69SPL_UART_BINARY:am64xx-hs-evm-k3r5 = "u-boot-spl.bin"
70
71SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
72SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
73
74# SPI NOR Flash binaries
75UBOOT_SPI_SPL_BINARY = "u-boot-spl.bin"
76UBOOT_SPI_BINARY = "u-boot.img"
77UBOOT_SPI_GPH_BINARY = "u-boot-spi.gph"
78
79# SPI NOR Flash deployed images
80UBOOT_SPI_SPL_IMAGE = "u-boot-spl-${MACHINE}-${PV}-${PR}.bin"
81UBOOT_SPI_SPL_SYMLINK = "u-boot-spl-${MACHINE}.bin"
82UBOOT_SPI_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
83UBOOT_SPI_SYMLINK = "u-boot-${MACHINE}.img"
84UBOOT_SPI_GPH_IMAGE = "u-boot-spi-${MACHINE}-${PV}-${PR}.gph"
85UBOOT_SPI_GPH_SYMLINK = "u-boot-spi-${MACHINE}.gph"
86
87# HS XLD
88UBOOT_HS_XLD_BINARY = "u-boot-spl_HS_X-LOADER"
89UBOOT_HS_XLD_IMAGE = "u-boot-spl_HS_X-LOADER-${MACHINE}-${PV}-${PR}"
90UBOOT_HS_XLD_SYMLINK = "u-boot-spl_HS_X-LOADER-${MACHINE}"
91
92# HS MLO
93UBOOT_HS_MLO_BINARY = "u-boot_HS_MLO"
94UBOOT_HS_MLO_IMAGE = "u-boot_HS_MLO-${MACHINE}-${PV}-${PR}"
95UBOOT_HS_MLO_SYMLINK = "u-boot_HS_MLO-${MACHINE}"
96
97# HS ISSW
98UBOOT_HS_ISSW_BINARY = "u-boot-spl_HS_ISSW"
99UBOOT_HS_ISSW_IMAGE = "u-boot-spl_HS_ISSW-${MACHINE}-${PV}-${PR}"
100UBOOT_HS_ISSW_SYMLINK = "u-boot-spl_HS_ISSW-${MACHINE}"
101
102# HS 2ND
103UBOOT_HS_2ND_BINARY = "u-boot-spl_HS_2ND"
104UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}"
105UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}"
106
107do_install:append () {
108 if [ -n "${UBOOT_CONFIG}" ]
109 then
110 for config in ${UBOOT_MACHINE}; do
111 i=$(expr $i + 1);
112 for type in ${UBOOT_CONFIG}; do
113 j=$(expr $j + 1);
114 if [ $j -eq $i ]
115 then
116 if [ "x${SPL_UART_BINARY}" != "x" ]; then
117 install ${B}/${config}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}-${type}
118 ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}-${type}
119 ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}
120 fi
121 if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then
122 install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}-${type}
123 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}-${type}
124 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}
125 fi
126 if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then
127 install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}-${type}
128 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}-${type}
129 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}
130 fi
131 if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then
132 install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}-${type}
133 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}-${type}
134 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}
135 fi
136 if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then
137 install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}-${type}
138 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}-${type}
139 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}
140 fi
141 fi
142 done
143 unset j
144 done
145 unset i
146 else
147 if [ "x${SPL_UART_BINARY}" != "x" ]; then
148 install ${B}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}
149 ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY}
150 fi
151 if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then
152 install ${B}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}
153 ln -sf ${UBOOT_HS_XLD_IMAGE} ${D}/boot/${UBOOT_HS_XLD_BINARY}
154 fi
155 if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then
156 install ${B}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}
157 ln -sf ${UBOOT_HS_MLO_IMAGE} ${D}/boot/${UBOOT_HS_MLO_BINARY}
158 fi
159 if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then
160 install ${B}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}
161 ln -sf ${UBOOT_HS_ISSW_IMAGE} ${D}/boot/${UBOOT_HS_ISSW_BINARY}
162 fi
163 if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then
164 install ${B}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}
165 ln -sf ${UBOOT_HS_2ND_IMAGE} ${D}/boot/${UBOOT_HS_2ND_BINARY}
166 fi
167 fi
168}
169
170do_deploy:append () {
171 if [ -n "${UBOOT_CONFIG}" ]
172 then
173 for config in ${UBOOT_MACHINE}; do
174 i=$(expr $i + 1);
175 for type in ${UBOOT_CONFIG}; do
176 j=$(expr $j + 1);
177 if [ $j -eq $i ]
178 then
179 cd ${DEPLOYDIR}
180 if [ "x${SPL_UART_BINARY}" != "x" ]; then
181 install ${B}/${config}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}-${type}
182 rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
183 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_BINARY}-${type}
184 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_BINARY}
185 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_SYMLINK}-${type}
186 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
187 fi
188 if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then
189 install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${DEPLOYDIR}/${UBOOT_HS_XLD_IMAGE}-${type}
190 rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK}
191 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}-${type}
192 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}
193 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}-${type}
194 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}
195 fi
196 if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then
197 install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${DEPLOYDIR}/${UBOOT_HS_MLO_IMAGE}-${type}
198 rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK}
199 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}-${type}
200 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}
201 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}-${type}
202 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}
203 fi
204 if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then
205 install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${DEPLOYDIR}/${UBOOT_HS_ISSW_IMAGE}-${type}
206 rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK}
207 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}-${type}
208 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}
209 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}-${type}
210 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}
211 fi
212 if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then
213 install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${DEPLOYDIR}/${UBOOT_HS_2ND_IMAGE}-${type}
214 rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK}
215 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}-${type}
216 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}
217 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}-${type}
218 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}
219 fi
220 fi
221 done
222 unset j
223 done
224 unset i
225 else
226 cd ${DEPLOYDIR}
227 if [ "x${SPL_UART_BINARY}" != "x" ]; then
228 install ${B}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}
229 rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
230 ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_BINARY}
231 ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
232 fi
233 if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then
234 install ${B}/${UBOOT_HS_XLD_BINARY} ${DEPLOYDIR}/${UBOOT_HS_XLD_IMAGE}
235 rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK}
236 ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_SYMLINK}
237 ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_BINARY}
238 fi
239 if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then
240 install ${B}/${UBOOT_HS_MLO_BINARY} ${DEPLOYDIR}/${UBOOT_HS_MLO_IMAGE}
241 rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK}
242 ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_SYMLINK}
243 ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_BINARY}
244 fi
245 if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then
246 install ${B}/${UBOOT_HS_ISSW_BINARY} ${DEPLOYDIR}/${UBOOT_HS_ISSW_IMAGE}
247 rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK}
248 ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_SYMLINK}
249 ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_BINARY}
250 fi
251 if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then
252 install ${B}/${UBOOT_HS_2ND_BINARY} ${DEPLOYDIR}/${UBOOT_HS_2ND_IMAGE}
253 rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK}
254 ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_SYMLINK}
255 ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_BINARY}
256 fi
257 fi
258
259 rm ${DEPLOYDIR}/u-boot-initial-env || true
260 rm ${DEPLOYDIR}/${PN}-initial-env || true
261 rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE} || true
262 rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE} || true
263 rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${PV}-${PR} || true
264 rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR} || true
265}
266
267# j7200 uses combined image for tiboot3.bin that includes u-boot-spl.bin and sysfw
268# along with board PM/RM configs generated by k3-image-gen and comes from ti-sci-fw
269# hence move the legacy u-boot's tiboot3.bin and u-boot-spl.bin out of the way
270do_deploy:append:j7200-evm-k3r5 () {
271 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
272 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
273}
274
275do_deploy:append:j7200-hs-evm-k3r5 () {
276 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
277 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
278}
279
280do_deploy:append:am64xx-evm-k3r5 () {
281 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
282 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
283}
284
285do_deploy:append:am64xx-hs-evm-k3r5 () {
286 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
287 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
288}
289
290TOOLCHAIN = "gcc"