xref: /linux/drivers/crypto/caam/Kconfig (revision e24f7c9e87d46fad06bf1097d48f9923acd8e61c)
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).
78e8ec596SKim Phillips	  This module adds a job ring operation interface, 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
148e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE
158e8ec596SKim Phillips	int "Job Ring size"
168e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
178e8ec596SKim Phillips	range 2 9
188e8ec596SKim Phillips	default "9"
198e8ec596SKim Phillips	help
208e8ec596SKim Phillips	  Select size of Job Rings as a power of 2, within the
218e8ec596SKim Phillips	  range 2-9 (ring size 4-512).
228e8ec596SKim Phillips	  Examples:
238e8ec596SKim Phillips		2 => 4
248e8ec596SKim Phillips		3 => 8
258e8ec596SKim Phillips		4 => 16
268e8ec596SKim Phillips		5 => 32
278e8ec596SKim Phillips		6 => 64
288e8ec596SKim Phillips		7 => 128
298e8ec596SKim Phillips		8 => 256
308e8ec596SKim Phillips		9 => 512
318e8ec596SKim Phillips
328e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC
338e8ec596SKim Phillips	bool "Job Ring interrupt coalescing"
348e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
358e8ec596SKim Phillips	default y
368e8ec596SKim Phillips	help
378e8ec596SKim Phillips	  Enable the Job Ring's interrupt coalescing feature.
388e8ec596SKim Phillips
398e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD
408e8ec596SKim Phillips	int "Job Ring interrupt coalescing count threshold"
418e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
428e8ec596SKim Phillips	range 1 255
438e8ec596SKim Phillips	default 255
448e8ec596SKim Phillips	help
458e8ec596SKim Phillips	  Select number of descriptor completions to queue before
468e8ec596SKim Phillips	  raising an interrupt, in the range 1-255. Note that a selection
478e8ec596SKim Phillips	  of 1 functionally defeats the coalescing feature, and a selection
488e8ec596SKim Phillips	  equal or greater than the job ring size will force timeouts.
498e8ec596SKim Phillips
508e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
518e8ec596SKim Phillips	int "Job Ring interrupt coalescing timer threshold"
528e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
538e8ec596SKim Phillips	range 1 65535
548e8ec596SKim Phillips	default 2048
558e8ec596SKim Phillips	help
568e8ec596SKim Phillips	  Select number of bus clocks/64 to timeout in the case that one or
578e8ec596SKim Phillips	  more descriptor completions are queued without reaching the count
588e8ec596SKim Phillips	  threshold. Range is 1-65535.
598e8ec596SKim Phillips
608e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API
618e8ec596SKim Phillips	tristate "Register algorithm implementations with the Crypto API"
628e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
638e8ec596SKim Phillips	default y
648e8ec596SKim Phillips	select CRYPTO_ALGAPI
658e8ec596SKim Phillips	select CRYPTO_AUTHENC
668e8ec596SKim Phillips	help
678e8ec596SKim Phillips	  Selecting this will offload crypto for users of the
688e8ec596SKim Phillips	  scatterlist crypto API (such as the linux native IPSec
698e8ec596SKim Phillips	  stack) to the SEC4 via job ring.
708e8ec596SKim Phillips
718e8ec596SKim Phillips	  To compile this as a module, choose M here: the module
728e8ec596SKim Phillips	  will be called caamalg.
73045e3678SYuan Kang
74045e3678SYuan Kangconfig CRYPTO_DEV_FSL_CAAM_AHASH_API
75045e3678SYuan Kang	tristate "Register hash algorithm implementations with Crypto API"
76045e3678SYuan Kang	depends on CRYPTO_DEV_FSL_CAAM
77045e3678SYuan Kang	default y
78045e3678SYuan Kang	select CRYPTO_AHASH
79045e3678SYuan Kang	help
80045e3678SYuan Kang	  Selecting this will offload ahash for users of the
81045e3678SYuan Kang	  scatterlist crypto API to the SEC4 via job ring.
82045e3678SYuan Kang
83045e3678SYuan Kang	  To compile this as a module, choose M here: the module
84045e3678SYuan Kang	  will be called caamhash.
85*e24f7c9eSYuan Kang
86*e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API
87*e24f7c9eSYuan Kang	tristate "Register caam device for hwrng API"
88*e24f7c9eSYuan Kang	depends on CRYPTO_DEV_FSL_CAAM
89*e24f7c9eSYuan Kang	default y
90*e24f7c9eSYuan Kang	select CRYPTO_RNG
91*e24f7c9eSYuan Kang	select HW_RANDOM
92*e24f7c9eSYuan Kang	help
93*e24f7c9eSYuan Kang	  Selecting this will register the SEC4 hardware rng to
94*e24f7c9eSYuan Kang	  the hw_random API for suppying the kernel entropy pool.
95*e24f7c9eSYuan Kang
96*e24f7c9eSYuan Kang	  To compile this as a module, choose M here: the module
97*e24f7c9eSYuan Kang	  will be called caamrng.
98