xref: /OK3568_Linux_fs/buildroot/boot/arm-trusted-firmware/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1config BR2_TARGET_ARM_TRUSTED_FIRMWARE
2	bool "ARM Trusted Firmware (ATF)"
3	depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) && \
4		   (BR2_TARGET_UBOOT || BR2_TARGET_EDK2)
5	help
6	  Enable this option if you want to build the ATF for your ARM
7	  based embedded device.
8
9	  https://github.com/ARM-software/arm-trusted-firmware
10
11if BR2_TARGET_ARM_TRUSTED_FIRMWARE
12choice
13	prompt "ATF Version"
14	help
15	  Select the specific ATF version you want to use
16
17config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
18	bool "v2.5"
19
20config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
21	bool "Custom version"
22	help
23	  This option allows to use a specific official versions
24
25config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
26	bool "Custom tarball"
27
28config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
29	bool "Custom Git repository"
30
31endchoice
32
33if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
34
35config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
36	string "URL of custom ATF tarball"
37
38endif
39
40config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
41	string "ATF version"
42	depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
43
44config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
45	string
46	default "v2.5"		if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
47	default "custom"	if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
48	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
49				if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
50	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \
51				if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
52
53if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
54
55config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL
56	string "URL of custom repository"
57
58config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION
59	string "Custom repository version"
60	help
61	  Revision to use in the typical format used by Git
62	  E.G. a sha id, a tag, ..
63
64endif
65
66config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM
67	string "ATF platform"
68	help
69	  Target plaform to build for.
70
71config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH
72	string "Device Tree Source file paths"
73	help
74	  Space-separated list of paths to device tree source files
75	  that will be copied to fdts/ before starting the build.
76
77	  To use this device tree source file, the ATF configuration
78	  file must refer to it.
79
80config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
81	bool "Build FIP image"
82	help
83	  This option enables building the FIP image (Firmware Image
84	  Package). This is typically the image format used by
85	  platforms were ATF encapsulates the second stage bootloader
86	  (such as U-Boot).
87
88config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
89	bool "Build BL31 image"
90	help
91	  This option enables building the BL31 image. This is
92	  typically used on platforms where another bootloader (e.g
93	  U-Boot) encapsulates ATF BL31.
94
95config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT
96	bool "Build BL31 U-Boot image"
97	select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
98	help
99	  Generates a U-Boot image named atf-uboot.ub containing
100	  bl31.bin.  This is used for example by the Xilinx version of
101	  U-Boot SPL to load ATF on the ZynqMP SoC.
102
103choice
104	prompt "BL32"
105	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT
106	help
107	  Select BL32 stage for the trusted firmware
108
109config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT
110	bool "Default"
111	help
112	  With this option selected, ATF will not use any BL32 stage,
113	  unless if one is explicitly chosen using the SPD (for
114	  AArch64) or AARCH32_SP (for AArch32) variables, which can be
115	  passed through
116	  BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES.
117
118config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
119	bool "OP-TEE OS"
120	depends on BR2_TARGET_OPTEE_OS
121	help
122	  This option allows to embed OP-TEE OS as the BL32 part of
123	  the ARM Trusted Firmware boot sequence.
124
125endchoice
126
127config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
128	bool "Use U-Boot as BL33"
129	depends on BR2_TARGET_UBOOT
130	help
131	  This option allows to embed u-boot.bin as the BL33 part of
132	  the ARM Trusted Firmware. It ensures that the u-boot package
133	  gets built before ATF, and that the appropriate BL33
134	  variable pointing to u-boot.bin is passed when building ATF.
135
136if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
137
138config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
139	string "U-Boot BL33 image name"
140	default "u-boot.bin"
141	help
142	  Name of the U-Boot BL33 image to include in ATF, it must
143	  have been installed to BINARIES_DIR by the U-Boot package.
144
145endif
146
147config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
148	bool "Use EDK2 as BL33"
149	depends on BR2_TARGET_EDK2
150	help
151	  This option allows to embed EDK2 as the BL33 part of
152	  the ARM Trusted Firmware. It ensures that the EDK2 package
153	  gets built before ATF, and that the appropriate BL33
154	  variable pointing to the EDK2 is passed when building ATF.
155
156	  Do not choose this option if you intend to build ATF and EDK2
157	  for the 'qemu_sbsa' platform. In this case, due to the EDK2
158	  build system, the dependency between ATF and EDK is reversed.
159
160config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
161	string "Additional ATF make targets"
162	help
163	  Additional targets for the ATF build
164	  E.G. When using the QorIQ custom ATF repository from NXP,
165	  the target 'pbl' can be used to build the pbl binary.
166
167config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
168	string "Additional ATF build variables"
169	help
170	  Additional parameters for the ATF build
171	  E.G. 'DEBUG=1 LOG_LEVEL=20'
172
173config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG
174	bool "Build in debug mode"
175	help
176	  Enable this option to build ATF with DEBUG=1.
177
178config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES
179	string "Binary boot images"
180	default "*.bin"
181	help
182	  Names of generated image files that are installed in the
183	  output images/ directory.
184
185config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC
186	bool "Needs dtc"
187	select BR2_PACKAGE_HOST_DTC
188	help
189	  Select this option if your ATF board configuration
190	  requires the Device Tree compiler to be available.
191
192config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN
193	bool "Needs arm-none-eabi toolchain"
194	depends on BR2_aarch64
195	depends on BR2_HOSTARCH = "x86_64"
196	help
197	  Select this option if your ATF board configuration requires
198	  an ARM32 bare metal toolchain to be available.
199
200config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP
201	bool "Build with SSP"
202	default y
203	depends on BR2_TOOLCHAIN_HAS_SSP
204	depends on !BR2_SSP_NONE
205	help
206	  Say 'y' here if you want to build ATF with SSP.
207
208	  Your board must have SSP support in ATF: it must have an
209	  implementation for plat_get_stack_protector_canary().
210
211	  If you say 'y', the SSP level will be the level selected
212	  by the global SSP setting.
213
214config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL
215	string
216	# While newer versions of TF-A support "none" as
217	# ENABLE_STACK_PROTECTOR value, older versions (e.g 2.0) only
218	# supported "0" to disable SSP.
219	default "0"    	  if !BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP
220	default "default" if BR2_SSP_REGULAR
221	default "strong"  if BR2_SSP_STRONG
222	default "all"     if BR2_SSP_ALL
223
224endif
225