xref: /linux/drivers/crypto/caam/Kconfig (revision 596103cf8fb0a258e1a5ed3e895860764490934d)
18e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM
28e8ec596SKim Phillips	tristate "Freescale CAAM-Multicore driver backend"
38e8ec596SKim Phillips	depends on FSL_SOC
48e8ec596SKim Phillips	help
58e8ec596SKim Phillips	  Enables the driver module for Freescale's Cryptographic Accelerator
68e8ec596SKim Phillips	  and Assurance Module (CAAM), also known as the SEC version 4 (SEC4).
7313ea293SRuchika Gupta	  This module creates job ring devices, and configures h/w
88e8ec596SKim Phillips	  to operate as a DPAA component automatically, depending
98e8ec596SKim Phillips	  on h/w feature availability.
108e8ec596SKim Phillips
118e8ec596SKim Phillips	  To compile this driver as a module, choose M here: the module
128e8ec596SKim Phillips	  will be called caam.
138e8ec596SKim Phillips
14313ea293SRuchika Guptaconfig CRYPTO_DEV_FSL_CAAM_JR
15313ea293SRuchika Gupta	tristate "Freescale CAAM Job Ring driver backend"
16313ea293SRuchika Gupta	depends on CRYPTO_DEV_FSL_CAAM
17313ea293SRuchika Gupta	default y
18313ea293SRuchika Gupta	help
19313ea293SRuchika Gupta	  Enables the driver module for Job Rings which are part of
20313ea293SRuchika Gupta	  Freescale's Cryptographic Accelerator
21313ea293SRuchika Gupta	  and Assurance Module (CAAM). This module adds a job ring operation
22313ea293SRuchika Gupta	  interface.
23313ea293SRuchika Gupta
24313ea293SRuchika Gupta	  To compile this driver as a module, choose M here: the module
25313ea293SRuchika Gupta	  will be called caam_jr.
26313ea293SRuchika Gupta
278e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE
288e8ec596SKim Phillips	int "Job Ring size"
29313ea293SRuchika Gupta	depends on CRYPTO_DEV_FSL_CAAM_JR
308e8ec596SKim Phillips	range 2 9
318e8ec596SKim Phillips	default "9"
328e8ec596SKim Phillips	help
338e8ec596SKim Phillips	  Select size of Job Rings as a power of 2, within the
348e8ec596SKim Phillips	  range 2-9 (ring size 4-512).
358e8ec596SKim Phillips	  Examples:
368e8ec596SKim Phillips		2 => 4
378e8ec596SKim Phillips		3 => 8
388e8ec596SKim Phillips		4 => 16
398e8ec596SKim Phillips		5 => 32
408e8ec596SKim Phillips		6 => 64
418e8ec596SKim Phillips		7 => 128
428e8ec596SKim Phillips		8 => 256
438e8ec596SKim Phillips		9 => 512
448e8ec596SKim Phillips
458e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC
468e8ec596SKim Phillips	bool "Job Ring interrupt coalescing"
47313ea293SRuchika Gupta	depends on CRYPTO_DEV_FSL_CAAM_JR
488e8ec596SKim Phillips	help
498e8ec596SKim Phillips	  Enable the Job Ring's interrupt coalescing feature.
508e8ec596SKim Phillips
511a076689SKim Phillips	  Note: the driver already provides adequate
521a076689SKim Phillips	  interrupt coalescing in software.
531a076689SKim Phillips
548e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD
558e8ec596SKim Phillips	int "Job Ring interrupt coalescing count threshold"
568e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
578e8ec596SKim Phillips	range 1 255
588e8ec596SKim Phillips	default 255
598e8ec596SKim Phillips	help
608e8ec596SKim Phillips	  Select number of descriptor completions to queue before
618e8ec596SKim Phillips	  raising an interrupt, in the range 1-255. Note that a selection
628e8ec596SKim Phillips	  of 1 functionally defeats the coalescing feature, and a selection
638e8ec596SKim Phillips	  equal or greater than the job ring size will force timeouts.
648e8ec596SKim Phillips
658e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
668e8ec596SKim Phillips	int "Job Ring interrupt coalescing timer threshold"
678e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
688e8ec596SKim Phillips	range 1 65535
698e8ec596SKim Phillips	default 2048
708e8ec596SKim Phillips	help
718e8ec596SKim Phillips	  Select number of bus clocks/64 to timeout in the case that one or
728e8ec596SKim Phillips	  more descriptor completions are queued without reaching the count
738e8ec596SKim Phillips	  threshold. Range is 1-65535.
748e8ec596SKim Phillips
758e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API
768e8ec596SKim Phillips	tristate "Register algorithm implementations with the Crypto API"
77313ea293SRuchika Gupta	depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR
788e8ec596SKim Phillips	default y
79*596103cfSHerbert Xu	select CRYPTO_AEAD
808e8ec596SKim Phillips	select CRYPTO_AUTHENC
81*596103cfSHerbert Xu	select CRYPTO_BLKCIPHER
828e8ec596SKim Phillips	help
838e8ec596SKim Phillips	  Selecting this will offload crypto for users of the
848e8ec596SKim Phillips	  scatterlist crypto API (such as the linux native IPSec
858e8ec596SKim Phillips	  stack) to the SEC4 via job ring.
868e8ec596SKim Phillips
878e8ec596SKim Phillips	  To compile this as a module, choose M here: the module
888e8ec596SKim Phillips	  will be called caamalg.
89045e3678SYuan Kang
90045e3678SYuan Kangconfig CRYPTO_DEV_FSL_CAAM_AHASH_API
91045e3678SYuan Kang	tristate "Register hash algorithm implementations with Crypto API"
92313ea293SRuchika Gupta	depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR
93045e3678SYuan Kang	default y
94ae8488a5SPaul Bolle	select CRYPTO_HASH
95045e3678SYuan Kang	help
96045e3678SYuan Kang	  Selecting this will offload ahash for users of the
97045e3678SYuan Kang	  scatterlist crypto API to the SEC4 via job ring.
98045e3678SYuan Kang
99045e3678SYuan Kang	  To compile this as a module, choose M here: the module
100045e3678SYuan Kang	  will be called caamhash.
101e24f7c9eSYuan Kang
102e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API
103e24f7c9eSYuan Kang	tristate "Register caam device for hwrng API"
104313ea293SRuchika Gupta	depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR
105e24f7c9eSYuan Kang	default y
106e24f7c9eSYuan Kang	select CRYPTO_RNG
107e24f7c9eSYuan Kang	select HW_RANDOM
108e24f7c9eSYuan Kang	help
109e24f7c9eSYuan Kang	  Selecting this will register the SEC4 hardware rng to
110e24f7c9eSYuan Kang	  the hw_random API for suppying the kernel entropy pool.
111e24f7c9eSYuan Kang
112e24f7c9eSYuan Kang	  To compile this as a module, choose M here: the module
113e24f7c9eSYuan Kang	  will be called caamrng.
114d4d8edf8SAlex Porosanu
115d4d8edf8SAlex Porosanuconfig CRYPTO_DEV_FSL_CAAM_DEBUG
116d4d8edf8SAlex Porosanu	bool "Enable debug output in CAAM driver"
117d4d8edf8SAlex Porosanu	depends on CRYPTO_DEV_FSL_CAAM
118d4d8edf8SAlex Porosanu	help
119d4d8edf8SAlex Porosanu	  Selecting this will enable printing of various debug
120d4d8edf8SAlex Porosanu	  information in the CAAM driver.
121