xref: /linux/drivers/crypto/caam/Kconfig (revision 8e8ec596e6c0144e2dd500a57ee23dde9684df46)
1*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM
2*8e8ec596SKim Phillips	tristate "Freescale CAAM-Multicore driver backend"
3*8e8ec596SKim Phillips	depends on FSL_SOC
4*8e8ec596SKim Phillips	help
5*8e8ec596SKim Phillips	  Enables the driver module for Freescale's Cryptographic Accelerator
6*8e8ec596SKim Phillips	  and Assurance Module (CAAM), also known as the SEC version 4 (SEC4).
7*8e8ec596SKim Phillips	  This module adds a job ring operation interface, and configures h/w
8*8e8ec596SKim Phillips	  to operate as a DPAA component automatically, depending
9*8e8ec596SKim Phillips	  on h/w feature availability.
10*8e8ec596SKim Phillips
11*8e8ec596SKim Phillips	  To compile this driver as a module, choose M here: the module
12*8e8ec596SKim Phillips	  will be called caam.
13*8e8ec596SKim Phillips
14*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE
15*8e8ec596SKim Phillips	int "Job Ring size"
16*8e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
17*8e8ec596SKim Phillips	range 2 9
18*8e8ec596SKim Phillips	default "9"
19*8e8ec596SKim Phillips	help
20*8e8ec596SKim Phillips	  Select size of Job Rings as a power of 2, within the
21*8e8ec596SKim Phillips	  range 2-9 (ring size 4-512).
22*8e8ec596SKim Phillips	  Examples:
23*8e8ec596SKim Phillips		2 => 4
24*8e8ec596SKim Phillips		3 => 8
25*8e8ec596SKim Phillips		4 => 16
26*8e8ec596SKim Phillips		5 => 32
27*8e8ec596SKim Phillips		6 => 64
28*8e8ec596SKim Phillips		7 => 128
29*8e8ec596SKim Phillips		8 => 256
30*8e8ec596SKim Phillips		9 => 512
31*8e8ec596SKim Phillips
32*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC
33*8e8ec596SKim Phillips	bool "Job Ring interrupt coalescing"
34*8e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
35*8e8ec596SKim Phillips	default y
36*8e8ec596SKim Phillips	help
37*8e8ec596SKim Phillips	  Enable the Job Ring's interrupt coalescing feature.
38*8e8ec596SKim Phillips
39*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD
40*8e8ec596SKim Phillips	int "Job Ring interrupt coalescing count threshold"
41*8e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
42*8e8ec596SKim Phillips	range 1 255
43*8e8ec596SKim Phillips	default 255
44*8e8ec596SKim Phillips	help
45*8e8ec596SKim Phillips	  Select number of descriptor completions to queue before
46*8e8ec596SKim Phillips	  raising an interrupt, in the range 1-255. Note that a selection
47*8e8ec596SKim Phillips	  of 1 functionally defeats the coalescing feature, and a selection
48*8e8ec596SKim Phillips	  equal or greater than the job ring size will force timeouts.
49*8e8ec596SKim Phillips
50*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
51*8e8ec596SKim Phillips	int "Job Ring interrupt coalescing timer threshold"
52*8e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
53*8e8ec596SKim Phillips	range 1 65535
54*8e8ec596SKim Phillips	default 2048
55*8e8ec596SKim Phillips	help
56*8e8ec596SKim Phillips	  Select number of bus clocks/64 to timeout in the case that one or
57*8e8ec596SKim Phillips	  more descriptor completions are queued without reaching the count
58*8e8ec596SKim Phillips	  threshold. Range is 1-65535.
59*8e8ec596SKim Phillips
60*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API
61*8e8ec596SKim Phillips	tristate "Register algorithm implementations with the Crypto API"
62*8e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
63*8e8ec596SKim Phillips	default y
64*8e8ec596SKim Phillips	select CRYPTO_ALGAPI
65*8e8ec596SKim Phillips	select CRYPTO_AUTHENC
66*8e8ec596SKim Phillips	help
67*8e8ec596SKim Phillips	  Selecting this will offload crypto for users of the
68*8e8ec596SKim Phillips	  scatterlist crypto API (such as the linux native IPSec
69*8e8ec596SKim Phillips	  stack) to the SEC4 via job ring.
70*8e8ec596SKim Phillips
71*8e8ec596SKim Phillips	  To compile this as a module, choose M here: the module
72*8e8ec596SKim Phillips	  will be called caamalg.
73