| .. | .. |
|---|
| 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. |
|---|