1config FSL_CAAM
2	bool "Freescale Crypto Driver Support"
3	select SHA_HW_ACCEL
4	# hw_sha1() under drivers/crypto, and needed with SHA_HW_ACCEL
5	select MISC if DM
6	imply SPL_CRYPTO if (ARM && SPL)
7	imply CMD_HASH
8	help
9	  Enables the Freescale's Cryptographic Accelerator and Assurance
10	  Module (CAAM), also known as the SEC version 4 (SEC4). The driver uses
11	  Job Ring as interface to communicate with CAAM.
12
13config SYS_FSL_MAX_NUM_OF_SEC
14	int "Number of job rings in the CAAM"
15	depends on FSL_CAAM
16	default 1
17
18config CAAM_64BIT
19	bool
20	default y if PHYS_64BIT && !ARCH_IMX8M && !ARCH_IMX8
21	help
22	  Select Crypto driver for 64 bits CAAM version
23
24config SYS_FSL_HAS_SEC
25	bool
26	help
27		Enable Freescale Secure Boot and Trusted Architecture
28
29config SYS_FSL_SEC_COMPAT_2
30	bool
31	help
32		Secure boot and trust architecture compatible version 2
33
34config SYS_FSL_SEC_COMPAT_4
35	bool
36	help
37		Secure boot and trust architecture compatible version 4
38
39config SYS_FSL_SEC_COMPAT_5
40	bool
41	help
42		Secure boot and trust architecture compatible version 5
43
44config SYS_FSL_SEC_COMPAT_6
45	bool
46	help
47		Secure boot and trust architecture compatible version 6
48
49config SYS_FSL_SEC_BE
50	bool "Big-endian access to Freescale Secure Boot"
51
52config SYS_FSL_SEC_COMPAT
53	int "Freescale Secure Boot compatibility"
54	depends on SYS_FSL_HAS_SEC
55	default 2 if SYS_FSL_SEC_COMPAT_2
56	default 4 if SYS_FSL_SEC_COMPAT_4
57	default 5 if SYS_FSL_SEC_COMPAT_5
58	default 6 if SYS_FSL_SEC_COMPAT_6
59
60config SYS_FSL_SEC_LE
61	bool "Little-endian access to Freescale Secure Boot"
62
63if FSL_CAAM
64
65config FSL_CAAM_JR_NTZ_ACCESS
66	bool "Give CAAM Job Ring access to non-secure world"
67	help
68	  It is needed when OP-TEE is not used and Freescale CAAM Job Ring linux
69	  driver is used.
70
71config FSL_CAAM_RNG
72	bool "Enable CAAM Random Number Generator support"
73	depends on DM_RNG
74	default y
75	help
76	  Enable support for the hardware based random number generator
77	  module of the CAAM. The random data is fetched from the DRGB
78	  using the prediction resistance flag which means the DRGB is
79	  reseeded from the TRNG every time random data is generated.
80
81config SPL_FSL_CAAM_RNG
82	bool "Enable CAAM Random Number Generator support in SPL"
83	depends on SPL_DM_RNG
84	help
85	  This option is an SPL-variant of the FSL_CAAM_RNG option.
86	  See the help of FSL_CAAM_RNG for details.
87
88endif
89
90config FSL_DCP_RNG
91	bool "Enable DCP Random Number Generator support"
92	depends on DM_RNG
93	help
94	  Enable support for the hardware based random number generator
95	  module of the DCP. It uses the True Random Number Generator (TRNG)
96	  and a Pseudo-Random Number Generator (PRNG) to achieve a true
97	  randomness and cryptographic strength.
98