• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier:	GPL-2.0+
2#
3# Copyright (C) 2017-2018 Texas Instruments Incorporated - http://www.ti.com/
4#	Lokesh Vutla <lokeshvutla@ti.com>
5
6ifdef CONFIG_SPL_BUILD
7
8# Openssl is required to generate x509 certificate.
9# Error out if openssl is not available.
10ifeq ($(shell which openssl),)
11$(error "No openssl in $(PATH), consider installing openssl")
12endif
13
14IMAGE_SIZE= $(shell cat $(obj)/u-boot-spl.bin | wc -c)
15MAX_SIZE= $(shell printf "%d" $(CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE))
16
17ifeq ($(CONFIG_SYS_K3_KEY), "")
18KEY=""
19# On HS use real key or warn if not available
20ifeq ($(CONFIG_TI_SECURE_DEVICE),y)
21ifneq ($(wildcard $(TI_SECURE_DEV_PKG)/keys/custMpk.pem),)
22KEY=$(TI_SECURE_DEV_PKG)/keys/custMpk.pem
23else
24$(warning "WARNING: signing key not found. Random key will NOT work on HS hardware!")
25endif
26endif
27else
28KEY=$(patsubst "%",$(srctree)/%,$(CONFIG_SYS_K3_KEY))
29endif
30
31# tiboot3.bin is mandated by ROM and ROM only supports R5 boot.
32# So restrict tiboot3.bin creation for CPU_V7R.
33ifdef CONFIG_CPU_V7R
34image_check: $(obj)/u-boot-spl.bin FORCE
35	@if [ $(IMAGE_SIZE) -gt $(MAX_SIZE) ]; then			    \
36		echo "===============================================" >&2; \
37		echo "ERROR: Final Image too big. " >&2;		    \
38		echo "$< size = $(IMAGE_SIZE), max size = $(MAX_SIZE)" >&2; \
39		echo "===============================================" >&2; \
40		exit 1;							    \
41	fi
42
43tiboot3.bin: image_check FORCE
44	$(srctree)/tools/k3_gen_x509_cert.sh -c 16 -b $(obj)/u-boot-spl.bin \
45				-o $@ -l $(CONFIG_SPL_TEXT_BASE) -k $(KEY)
46
47ALL-y	+= tiboot3.bin
48endif
49
50ifdef CONFIG_ARM64
51ifeq ($(CONFIG_TI_SECURE_DEVICE),y)
52SPL_ITS := u-boot-spl-k3_HS.its
53$(SPL_ITS): FORCE
54	IS_HS=1 \
55	$(srctree)/tools/k3_fit_atf.sh \
56	$(patsubst %,$(obj)/dts/%.dtb,$(subst ",,$(CONFIG_SPL_OF_LIST))) > $@
57
58ALL-y	+= tispl.bin_HS
59else
60SPL_ITS := u-boot-spl-k3.its
61$(SPL_ITS): FORCE
62	$(srctree)/tools/k3_fit_atf.sh \
63	$(patsubst %,$(obj)/dts/%.dtb,$(subst ",,$(CONFIG_SPL_OF_LIST))) > $@
64
65ALL-y	+= tispl.bin
66endif
67endif
68
69else
70
71ifeq ($(CONFIG_TI_SECURE_DEVICE),y)
72ALL-y	+= u-boot.img_HS
73else
74ALL-y	+= u-boot.img
75endif
76endif
77
78include $(srctree)/arch/arm/mach-k3/config_secure.mk
79