Kconfig (2a267e7c41aa88215de2b542de797d03d16ecdfd) Kconfig (1b46c90c8e002028dc622bf7bd8cf89efcaab274)
1# SPDX-License-Identifier: GPL-2.0
2config CRYPTO_DEV_FSL_CAAM_COMMON
3 tristate
4
1# SPDX-License-Identifier: GPL-2.0
2config CRYPTO_DEV_FSL_CAAM_COMMON
3 tristate
4
5config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
6 tristate
7
8config CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
9 tristate
10
5config CRYPTO_DEV_FSL_CAAM
6 tristate "Freescale CAAM-Multicore platform driver backend"
7 depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE
8 select SOC_BUS
9 select CRYPTO_DEV_FSL_CAAM_COMMON
10 help
11 Enables the driver module for Freescale's Cryptographic Accelerator
12 and Assurance Module (CAAM), also known as the SEC version 4 (SEC4).

--- 7 unchanged lines hidden (view full) ---

20if CRYPTO_DEV_FSL_CAAM
21
22config CRYPTO_DEV_FSL_CAAM_DEBUG
23 bool "Enable debug output in CAAM driver"
24 help
25 Selecting this will enable printing of various debug
26 information in the CAAM driver.
27
11config CRYPTO_DEV_FSL_CAAM
12 tristate "Freescale CAAM-Multicore platform driver backend"
13 depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE
14 select SOC_BUS
15 select CRYPTO_DEV_FSL_CAAM_COMMON
16 help
17 Enables the driver module for Freescale's Cryptographic Accelerator
18 and Assurance Module (CAAM), also known as the SEC version 4 (SEC4).

--- 7 unchanged lines hidden (view full) ---

26if CRYPTO_DEV_FSL_CAAM
27
28config CRYPTO_DEV_FSL_CAAM_DEBUG
29 bool "Enable debug output in CAAM driver"
30 help
31 Selecting this will enable printing of various debug
32 information in the CAAM driver.
33
28config CRYPTO_DEV_FSL_CAAM_JR
34menuconfig CRYPTO_DEV_FSL_CAAM_JR
29 tristate "Freescale CAAM Job Ring driver backend"
30 default y
31 help
32 Enables the driver module for Job Rings which are part of
33 Freescale's Cryptographic Accelerator
34 and Assurance Module (CAAM). This module adds a job ring operation
35 interface.
36

--- 44 unchanged lines hidden (view full) ---

81 range 1 65535
82 default 2048
83 help
84 Select number of bus clocks/64 to timeout in the case that one or
85 more descriptor completions are queued without reaching the count
86 threshold. Range is 1-65535.
87
88config CRYPTO_DEV_FSL_CAAM_CRYPTO_API
35 tristate "Freescale CAAM Job Ring driver backend"
36 default y
37 help
38 Enables the driver module for Job Rings which are part of
39 Freescale's Cryptographic Accelerator
40 and Assurance Module (CAAM). This module adds a job ring operation
41 interface.
42

--- 44 unchanged lines hidden (view full) ---

87 range 1 65535
88 default 2048
89 help
90 Select number of bus clocks/64 to timeout in the case that one or
91 more descriptor completions are queued without reaching the count
92 threshold. Range is 1-65535.
93
94config CRYPTO_DEV_FSL_CAAM_CRYPTO_API
89 tristate "Register algorithm implementations with the Crypto API"
95 bool "Register algorithm implementations with the Crypto API"
90 default y
96 default y
97 select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
91 select CRYPTO_AEAD
92 select CRYPTO_AUTHENC
93 select CRYPTO_BLKCIPHER
94 select CRYPTO_DES
95 help
96 Selecting this will offload crypto for users of the
97 scatterlist crypto API (such as the linux native IPSec
98 stack) to the SEC4 via job ring.
99
98 select CRYPTO_AEAD
99 select CRYPTO_AUTHENC
100 select CRYPTO_BLKCIPHER
101 select CRYPTO_DES
102 help
103 Selecting this will offload crypto for users of the
104 scatterlist crypto API (such as the linux native IPSec
105 stack) to the SEC4 via job ring.
106
100 To compile this as a module, choose M here: the module
101 will be called caamalg.
102
103config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI
107config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI
104 tristate "Queue Interface as Crypto API backend"
108 bool "Queue Interface as Crypto API backend"
105 depends on FSL_DPAA && NET
106 default y
109 depends on FSL_DPAA && NET
110 default y
111 select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
107 select CRYPTO_AUTHENC
108 select CRYPTO_BLKCIPHER
109 help
110 Selecting this will use CAAM Queue Interface (QI) for sending
111 & receiving crypto jobs to/from CAAM. This gives better performance
112 than job ring interface when the number of cores are more than the
113 number of job rings assigned to the kernel. The number of portals
114 assigned to the kernel should also be more than the number of
115 job rings.
116
112 select CRYPTO_AUTHENC
113 select CRYPTO_BLKCIPHER
114 help
115 Selecting this will use CAAM Queue Interface (QI) for sending
116 & receiving crypto jobs to/from CAAM. This gives better performance
117 than job ring interface when the number of cores are more than the
118 number of job rings assigned to the kernel. The number of portals
119 assigned to the kernel should also be more than the number of
120 job rings.
121
117 To compile this as a module, choose M here: the module
118 will be called caamalg_qi.
119
120config CRYPTO_DEV_FSL_CAAM_AHASH_API
122config CRYPTO_DEV_FSL_CAAM_AHASH_API
121 tristate "Register hash algorithm implementations with Crypto API"
123 bool "Register hash algorithm implementations with Crypto API"
122 default y
124 default y
125 select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
123 select CRYPTO_HASH
124 help
125 Selecting this will offload ahash for users of the
126 scatterlist crypto API to the SEC4 via job ring.
127
126 select CRYPTO_HASH
127 help
128 Selecting this will offload ahash for users of the
129 scatterlist crypto API to the SEC4 via job ring.
130
128 To compile this as a module, choose M here: the module
129 will be called caamhash.
130
131config CRYPTO_DEV_FSL_CAAM_PKC_API
131config CRYPTO_DEV_FSL_CAAM_PKC_API
132 tristate "Register public key cryptography implementations with Crypto API"
132 bool "Register public key cryptography implementations with Crypto API"
133 default y
134 select CRYPTO_RSA
135 help
136 Selecting this will allow SEC Public key support for RSA.
137 Supported cryptographic primitives: encryption, decryption,
138 signature and verification.
133 default y
134 select CRYPTO_RSA
135 help
136 Selecting this will allow SEC Public key support for RSA.
137 Supported cryptographic primitives: encryption, decryption,
138 signature and verification.
139 To compile this as a module, choose M here: the module
140 will be called caam_pkc.
141
142config CRYPTO_DEV_FSL_CAAM_RNG_API
139
140config CRYPTO_DEV_FSL_CAAM_RNG_API
143 tristate "Register caam device for hwrng API"
141 bool "Register caam device for hwrng API"
144 default y
145 select CRYPTO_RNG
146 select HW_RANDOM
147 help
148 Selecting this will register the SEC4 hardware rng to
149 the hw_random API for suppying the kernel entropy pool.
150
142 default y
143 select CRYPTO_RNG
144 select HW_RANDOM
145 help
146 Selecting this will register the SEC4 hardware rng to
147 the hw_random API for suppying the kernel entropy pool.
148
151 To compile this as a module, choose M here: the module
152 will be called caamrng.
153
154endif # CRYPTO_DEV_FSL_CAAM_JR
155
156endif # CRYPTO_DEV_FSL_CAAM
157
158config CRYPTO_DEV_FSL_DPAA2_CAAM
159 tristate "QorIQ DPAA2 CAAM (DPSECI) driver"
160 depends on FSL_MC_DPIO
161 depends on NETDEVICES
162 select CRYPTO_DEV_FSL_CAAM_COMMON
149endif # CRYPTO_DEV_FSL_CAAM_JR
150
151endif # CRYPTO_DEV_FSL_CAAM
152
153config CRYPTO_DEV_FSL_DPAA2_CAAM
154 tristate "QorIQ DPAA2 CAAM (DPSECI) driver"
155 depends on FSL_MC_DPIO
156 depends on NETDEVICES
157 select CRYPTO_DEV_FSL_CAAM_COMMON
158 select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
159 select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
163 select CRYPTO_BLKCIPHER
164 select CRYPTO_AUTHENC
165 select CRYPTO_AEAD
166 select CRYPTO_HASH
167 help
168 CAAM driver for QorIQ Data Path Acceleration Architecture 2.
169 It handles DPSECI DPAA2 objects that sit on the Management Complex
170 (MC) fsl-mc bus.
171
172 To compile this as a module, choose M here: the module
173 will be called dpaa2_caam.
160 select CRYPTO_BLKCIPHER
161 select CRYPTO_AUTHENC
162 select CRYPTO_AEAD
163 select CRYPTO_HASH
164 help
165 CAAM driver for QorIQ Data Path Acceleration Architecture 2.
166 It handles DPSECI DPAA2 objects that sit on the Management Complex
167 (MC) fsl-mc bus.
168
169 To compile this as a module, choose M here: the module
170 will be called dpaa2_caam.
174
175config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
176 def_tristate (CRYPTO_DEV_FSL_CAAM_CRYPTO_API || \
177 CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI || \
178 CRYPTO_DEV_FSL_DPAA2_CAAM)
179
180config CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
181 def_tristate (CRYPTO_DEV_FSL_CAAM_AHASH_API || \
182 CRYPTO_DEV_FSL_DPAA2_CAAM)