| .. | .. | 
|---|
 | 1 | +# SPDX-License-Identifier: GPL-2.0  | 
|---|
 | 2 | +config CRYPTO_DEV_FSL_CAAM_COMMON  | 
|---|
 | 3 | +	tristate  | 
|---|
 | 4 | +  | 
|---|
 | 5 | +config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC  | 
|---|
 | 6 | +	tristate  | 
|---|
 | 7 | +  | 
|---|
 | 8 | +config CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC  | 
|---|
 | 9 | +	tristate  | 
|---|
 | 10 | +  | 
|---|
| 1 | 11 |  config CRYPTO_DEV_FSL_CAAM | 
|---|
| 2 |  | -	tristate "Freescale CAAM-Multicore driver backend"  | 
|---|
 | 12 | +	tristate "Freescale CAAM-Multicore platform driver backend"  | 
|---|
| 3 | 13 |  	depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE | 
|---|
| 4 | 14 |  	select SOC_BUS | 
|---|
 | 15 | +	select CRYPTO_DEV_FSL_CAAM_COMMON  | 
|---|
 | 16 | +	imply FSL_MC_BUS  | 
|---|
| 5 | 17 |  	help | 
|---|
| 6 | 18 |  	  Enables the driver module for Freescale's Cryptographic Accelerator | 
|---|
| 7 | 19 |  	  and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). | 
|---|
| .. | .. | 
|---|
| 12 | 24 |  	  To compile this driver as a module, choose M here: the module | 
|---|
| 13 | 25 |  	  will be called caam. | 
|---|
| 14 | 26 |   | 
|---|
| 15 |  | -config CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
 | 27 | +if CRYPTO_DEV_FSL_CAAM  | 
|---|
 | 28 | +  | 
|---|
 | 29 | +config CRYPTO_DEV_FSL_CAAM_DEBUG  | 
|---|
 | 30 | +	bool "Enable debug output in CAAM driver"  | 
|---|
 | 31 | +	help  | 
|---|
 | 32 | +	  Selecting this will enable printing of various debug  | 
|---|
 | 33 | +	  information in the CAAM driver.  | 
|---|
 | 34 | +  | 
|---|
 | 35 | +menuconfig CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
| 16 | 36 |  	tristate "Freescale CAAM Job Ring driver backend" | 
|---|
| 17 |  | -	depends on CRYPTO_DEV_FSL_CAAM  | 
|---|
 | 37 | +	select CRYPTO_ENGINE  | 
|---|
| 18 | 38 |  	default y | 
|---|
| 19 | 39 |  	help | 
|---|
| 20 | 40 |  	  Enables the driver module for Job Rings which are part of | 
|---|
| .. | .. | 
|---|
| 25 | 45 |  	  To compile this driver as a module, choose M here: the module | 
|---|
| 26 | 46 |  	  will be called caam_jr. | 
|---|
| 27 | 47 |   | 
|---|
 | 48 | +if CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
 | 49 | +  | 
|---|
| 28 | 50 |  config CRYPTO_DEV_FSL_CAAM_RINGSIZE | 
|---|
| 29 | 51 |  	int "Job Ring size" | 
|---|
| 30 |  | -	depends on CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
| 31 | 52 |  	range 2 9 | 
|---|
| 32 | 53 |  	default "9" | 
|---|
| 33 | 54 |  	help | 
|---|
| .. | .. | 
|---|
| 45 | 66 |   | 
|---|
| 46 | 67 |  config CRYPTO_DEV_FSL_CAAM_INTC | 
|---|
| 47 | 68 |  	bool "Job Ring interrupt coalescing" | 
|---|
| 48 |  | -	depends on CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
| 49 | 69 |  	help | 
|---|
| 50 | 70 |  	  Enable the Job Ring's interrupt coalescing feature. | 
|---|
| 51 | 71 |   | 
|---|
| .. | .. | 
|---|
| 74 | 94 |  	  threshold. Range is 1-65535. | 
|---|
| 75 | 95 |   | 
|---|
| 76 | 96 |  config CRYPTO_DEV_FSL_CAAM_CRYPTO_API | 
|---|
| 77 |  | -	tristate "Register algorithm implementations with the Crypto API"  | 
|---|
| 78 |  | -	depends on CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
 | 97 | +	bool "Register algorithm implementations with the Crypto API"  | 
|---|
| 79 | 98 |  	default y | 
|---|
 | 99 | +	select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC  | 
|---|
| 80 | 100 |  	select CRYPTO_AEAD | 
|---|
| 81 | 101 |  	select CRYPTO_AUTHENC | 
|---|
| 82 |  | -	select CRYPTO_BLKCIPHER  | 
|---|
 | 102 | +	select CRYPTO_SKCIPHER  | 
|---|
 | 103 | +	select CRYPTO_LIB_DES  | 
|---|
 | 104 | +	select CRYPTO_XTS  | 
|---|
| 83 | 105 |  	help | 
|---|
| 84 | 106 |  	  Selecting this will offload crypto for users of the | 
|---|
| 85 | 107 |  	  scatterlist crypto API (such as the linux native IPSec | 
|---|
| 86 | 108 |  	  stack) to the SEC4 via job ring. | 
|---|
| 87 | 109 |   | 
|---|
| 88 |  | -	  To compile this as a module, choose M here: the module  | 
|---|
| 89 |  | -	  will be called caamalg.  | 
|---|
| 90 |  | -  | 
|---|
| 91 | 110 |  config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI | 
|---|
| 92 |  | -	tristate "Queue Interface as Crypto API backend"  | 
|---|
| 93 |  | -	depends on CRYPTO_DEV_FSL_CAAM_JR && FSL_DPAA && NET  | 
|---|
 | 111 | +	bool "Queue Interface as Crypto API backend"  | 
|---|
 | 112 | +	depends on FSL_DPAA && NET  | 
|---|
| 94 | 113 |  	default y | 
|---|
 | 114 | +	select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC  | 
|---|
| 95 | 115 |  	select CRYPTO_AUTHENC | 
|---|
| 96 |  | -	select CRYPTO_BLKCIPHER  | 
|---|
 | 116 | +	select CRYPTO_SKCIPHER  | 
|---|
 | 117 | +	select CRYPTO_DES  | 
|---|
 | 118 | +	select CRYPTO_XTS  | 
|---|
| 97 | 119 |  	help | 
|---|
| 98 | 120 |  	  Selecting this will use CAAM Queue Interface (QI) for sending | 
|---|
| 99 | 121 |  	  & receiving crypto jobs to/from CAAM. This gives better performance | 
|---|
| .. | .. | 
|---|
| 102 | 124 |  	  assigned to the kernel should also be more than the number of | 
|---|
| 103 | 125 |  	  job rings. | 
|---|
| 104 | 126 |   | 
|---|
| 105 |  | -	  To compile this as a module, choose M here: the module  | 
|---|
| 106 |  | -	  will be called caamalg_qi.  | 
|---|
| 107 |  | -  | 
|---|
| 108 | 127 |  config CRYPTO_DEV_FSL_CAAM_AHASH_API | 
|---|
| 109 |  | -	tristate "Register hash algorithm implementations with Crypto API"  | 
|---|
| 110 |  | -	depends on CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
 | 128 | +	bool "Register hash algorithm implementations with Crypto API"  | 
|---|
| 111 | 129 |  	default y | 
|---|
 | 130 | +	select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC  | 
|---|
| 112 | 131 |  	select CRYPTO_HASH | 
|---|
| 113 | 132 |  	help | 
|---|
| 114 | 133 |  	  Selecting this will offload ahash for users of the | 
|---|
| 115 | 134 |  	  scatterlist crypto API to the SEC4 via job ring. | 
|---|
| 116 | 135 |   | 
|---|
| 117 |  | -	  To compile this as a module, choose M here: the module  | 
|---|
| 118 |  | -	  will be called caamhash.  | 
|---|
| 119 |  | -  | 
|---|
| 120 | 136 |  config CRYPTO_DEV_FSL_CAAM_PKC_API | 
|---|
| 121 |  | -        tristate "Register public key cryptography implementations with Crypto API"  | 
|---|
| 122 |  | -        depends on CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
| 123 |  | -        default y  | 
|---|
| 124 |  | -        select CRYPTO_RSA  | 
|---|
| 125 |  | -        help  | 
|---|
| 126 |  | -          Selecting this will allow SEC Public key support for RSA.  | 
|---|
| 127 |  | -          Supported cryptographic primitives: encryption, decryption,  | 
|---|
| 128 |  | -          signature and verification.  | 
|---|
| 129 |  | -          To compile this as a module, choose M here: the module  | 
|---|
| 130 |  | -          will be called caam_pkc.  | 
|---|
 | 137 | +	bool "Register public key cryptography implementations with Crypto API"  | 
|---|
 | 138 | +	default y  | 
|---|
 | 139 | +	select CRYPTO_RSA  | 
|---|
 | 140 | +	help  | 
|---|
 | 141 | +	  Selecting this will allow SEC Public key support for RSA.  | 
|---|
 | 142 | +	  Supported cryptographic primitives: encryption, decryption,  | 
|---|
 | 143 | +	  signature and verification.  | 
|---|
| 131 | 144 |   | 
|---|
| 132 | 145 |  config CRYPTO_DEV_FSL_CAAM_RNG_API | 
|---|
| 133 |  | -	tristate "Register caam device for hwrng API"  | 
|---|
| 134 |  | -	depends on CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
 | 146 | +	bool "Register caam device for hwrng API"  | 
|---|
| 135 | 147 |  	default y | 
|---|
| 136 | 148 |  	select CRYPTO_RNG | 
|---|
| 137 | 149 |  	select HW_RANDOM | 
|---|
| 138 | 150 |  	help | 
|---|
| 139 | 151 |  	  Selecting this will register the SEC4 hardware rng to | 
|---|
| 140 |  | -	  the hw_random API for suppying the kernel entropy pool.  | 
|---|
 | 152 | +	  the hw_random API for supplying the kernel entropy pool.  | 
|---|
 | 153 | +  | 
|---|
 | 154 | +endif # CRYPTO_DEV_FSL_CAAM_JR  | 
|---|
 | 155 | +  | 
|---|
 | 156 | +endif # CRYPTO_DEV_FSL_CAAM  | 
|---|
 | 157 | +  | 
|---|
 | 158 | +config 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  | 
|---|
 | 163 | +	select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC  | 
|---|
 | 164 | +	select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC  | 
|---|
 | 165 | +	select CRYPTO_SKCIPHER  | 
|---|
 | 166 | +	select CRYPTO_AUTHENC  | 
|---|
 | 167 | +	select CRYPTO_AEAD  | 
|---|
 | 168 | +	select CRYPTO_HASH  | 
|---|
 | 169 | +	select CRYPTO_DES  | 
|---|
 | 170 | +	select CRYPTO_XTS  | 
|---|
 | 171 | +	help  | 
|---|
 | 172 | +	  CAAM driver for QorIQ Data Path Acceleration Architecture 2.  | 
|---|
 | 173 | +	  It handles DPSECI DPAA2 objects that sit on the Management Complex  | 
|---|
 | 174 | +	  (MC) fsl-mc bus.  | 
|---|
| 141 | 175 |   | 
|---|
| 142 | 176 |  	  To compile this as a module, choose M here: the module | 
|---|
| 143 |  | -	  will be called caamrng.  | 
|---|
| 144 |  | -  | 
|---|
| 145 |  | -config CRYPTO_DEV_FSL_CAAM_DEBUG  | 
|---|
| 146 |  | -	bool "Enable debug output in CAAM driver"  | 
|---|
| 147 |  | -	depends on CRYPTO_DEV_FSL_CAAM  | 
|---|
| 148 |  | -	help  | 
|---|
| 149 |  | -	  Selecting this will enable printing of various debug  | 
|---|
| 150 |  | -	  information in the CAAM driver.  | 
|---|
| 151 |  | -  | 
|---|
| 152 |  | -config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC  | 
|---|
| 153 |  | -	def_tristate (CRYPTO_DEV_FSL_CAAM_CRYPTO_API || \  | 
|---|
| 154 |  | -		      CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI)  | 
|---|
 | 177 | +	  will be called dpaa2_caam.  | 
|---|