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