Commit | Line | Data |
---|---|---|
8e8ec596 KP |
1 | config CRYPTO_DEV_FSL_CAAM |
2 | tristate "Freescale CAAM-Multicore driver backend" | |
9e217795 | 3 | depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE |
8e8ec596 KP |
4 | help |
5 | Enables the driver module for Freescale's Cryptographic Accelerator | |
6 | and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). | |
313ea293 | 7 | This module creates job ring devices, and configures h/w |
8e8ec596 KP |
8 | to operate as a DPAA component automatically, depending |
9 | on h/w feature availability. | |
10 | ||
11 | To compile this driver as a module, choose M here: the module | |
12 | will be called caam. | |
13 | ||
313ea293 RG |
14 | config CRYPTO_DEV_FSL_CAAM_JR |
15 | tristate "Freescale CAAM Job Ring driver backend" | |
16 | depends on CRYPTO_DEV_FSL_CAAM | |
17 | default y | |
18 | help | |
19 | Enables the driver module for Job Rings which are part of | |
20 | Freescale's Cryptographic Accelerator | |
21 | and Assurance Module (CAAM). This module adds a job ring operation | |
22 | interface. | |
23 | ||
24 | To compile this driver as a module, choose M here: the module | |
25 | will be called caam_jr. | |
26 | ||
8e8ec596 KP |
27 | config CRYPTO_DEV_FSL_CAAM_RINGSIZE |
28 | int "Job Ring size" | |
313ea293 | 29 | depends on CRYPTO_DEV_FSL_CAAM_JR |
8e8ec596 KP |
30 | range 2 9 |
31 | default "9" | |
32 | help | |
33 | Select size of Job Rings as a power of 2, within the | |
34 | range 2-9 (ring size 4-512). | |
35 | Examples: | |
36 | 2 => 4 | |
37 | 3 => 8 | |
38 | 4 => 16 | |
39 | 5 => 32 | |
40 | 6 => 64 | |
41 | 7 => 128 | |
42 | 8 => 256 | |
43 | 9 => 512 | |
44 | ||
45 | config CRYPTO_DEV_FSL_CAAM_INTC | |
46 | bool "Job Ring interrupt coalescing" | |
313ea293 | 47 | depends on CRYPTO_DEV_FSL_CAAM_JR |
8e8ec596 KP |
48 | help |
49 | Enable the Job Ring's interrupt coalescing feature. | |
50 | ||
1a076689 KP |
51 | Note: the driver already provides adequate |
52 | interrupt coalescing in software. | |
53 | ||
8e8ec596 KP |
54 | config CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD |
55 | int "Job Ring interrupt coalescing count threshold" | |
56 | depends on CRYPTO_DEV_FSL_CAAM_INTC | |
57 | range 1 255 | |
58 | default 255 | |
59 | help | |
60 | Select number of descriptor completions to queue before | |
61 | raising an interrupt, in the range 1-255. Note that a selection | |
62 | of 1 functionally defeats the coalescing feature, and a selection | |
63 | equal or greater than the job ring size will force timeouts. | |
64 | ||
65 | config CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD | |
66 | int "Job Ring interrupt coalescing timer threshold" | |
67 | depends on CRYPTO_DEV_FSL_CAAM_INTC | |
68 | range 1 65535 | |
69 | default 2048 | |
70 | help | |
71 | Select number of bus clocks/64 to timeout in the case that one or | |
72 | more descriptor completions are queued without reaching the count | |
73 | threshold. Range is 1-65535. | |
74 | ||
75 | config CRYPTO_DEV_FSL_CAAM_CRYPTO_API | |
76 | tristate "Register algorithm implementations with the Crypto API" | |
313ea293 | 77 | depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR |
8e8ec596 | 78 | default y |
596103cf | 79 | select CRYPTO_AEAD |
8e8ec596 | 80 | select CRYPTO_AUTHENC |
596103cf | 81 | select CRYPTO_BLKCIPHER |
8e8ec596 KP |
82 | help |
83 | Selecting this will offload crypto for users of the | |
84 | scatterlist crypto API (such as the linux native IPSec | |
85 | stack) to the SEC4 via job ring. | |
86 | ||
87 | To compile this as a module, choose M here: the module | |
88 | will be called caamalg. | |
045e3678 YK |
89 | |
90 | config CRYPTO_DEV_FSL_CAAM_AHASH_API | |
91 | tristate "Register hash algorithm implementations with Crypto API" | |
313ea293 | 92 | depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR |
045e3678 | 93 | default y |
ae8488a5 | 94 | select CRYPTO_HASH |
045e3678 YK |
95 | help |
96 | Selecting this will offload ahash for users of the | |
97 | scatterlist crypto API to the SEC4 via job ring. | |
98 | ||
99 | To compile this as a module, choose M here: the module | |
100 | will be called caamhash. | |
e24f7c9e | 101 | |
8c419778 TA |
102 | config CRYPTO_DEV_FSL_CAAM_PKC_API |
103 | tristate "Register public key cryptography implementations with Crypto API" | |
104 | depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR | |
105 | default y | |
106 | select CRYPTO_RSA | |
107 | help | |
108 | Selecting this will allow SEC Public key support for RSA. | |
109 | Supported cryptographic primitives: encryption, decryption, | |
110 | signature and verification. | |
111 | To compile this as a module, choose M here: the module | |
112 | will be called caam_pkc. | |
113 | ||
e24f7c9e YK |
114 | config CRYPTO_DEV_FSL_CAAM_RNG_API |
115 | tristate "Register caam device for hwrng API" | |
313ea293 | 116 | depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR |
e24f7c9e YK |
117 | default y |
118 | select CRYPTO_RNG | |
119 | select HW_RANDOM | |
120 | help | |
121 | Selecting this will register the SEC4 hardware rng to | |
122 | the hw_random API for suppying the kernel entropy pool. | |
123 | ||
124 | To compile this as a module, choose M here: the module | |
125 | will be called caamrng. | |
d4d8edf8 | 126 | |
6c3af955 HG |
127 | config CRYPTO_DEV_FSL_CAAM_IMX |
128 | def_bool SOC_IMX6 || SOC_IMX7D | |
129 | depends on CRYPTO_DEV_FSL_CAAM | |
130 | ||
d4d8edf8 AP |
131 | config CRYPTO_DEV_FSL_CAAM_DEBUG |
132 | bool "Enable debug output in CAAM driver" | |
133 | depends on CRYPTO_DEV_FSL_CAAM | |
d4d8edf8 AP |
134 | help |
135 | Selecting this will enable printing of various debug | |
136 | information in the CAAM driver. |