xref: /linux/drivers/crypto/caam/Kconfig (revision ae8488a507357fd4fd2c825ac423b39ea1041353)
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
351a076689SKim Phillips	default n
368e8ec596SKim Phillips	help
378e8ec596SKim Phillips	  Enable the Job Ring's interrupt coalescing feature.
388e8ec596SKim Phillips
391a076689SKim Phillips	  Note: the driver already provides adequate
401a076689SKim Phillips	  interrupt coalescing in software.
411a076689SKim Phillips
428e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD
438e8ec596SKim Phillips	int "Job Ring interrupt coalescing count threshold"
448e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
458e8ec596SKim Phillips	range 1 255
468e8ec596SKim Phillips	default 255
478e8ec596SKim Phillips	help
488e8ec596SKim Phillips	  Select number of descriptor completions to queue before
498e8ec596SKim Phillips	  raising an interrupt, in the range 1-255. Note that a selection
508e8ec596SKim Phillips	  of 1 functionally defeats the coalescing feature, and a selection
518e8ec596SKim Phillips	  equal or greater than the job ring size will force timeouts.
528e8ec596SKim Phillips
538e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
548e8ec596SKim Phillips	int "Job Ring interrupt coalescing timer threshold"
558e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM_INTC
568e8ec596SKim Phillips	range 1 65535
578e8ec596SKim Phillips	default 2048
588e8ec596SKim Phillips	help
598e8ec596SKim Phillips	  Select number of bus clocks/64 to timeout in the case that one or
608e8ec596SKim Phillips	  more descriptor completions are queued without reaching the count
618e8ec596SKim Phillips	  threshold. Range is 1-65535.
628e8ec596SKim Phillips
638e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API
648e8ec596SKim Phillips	tristate "Register algorithm implementations with the Crypto API"
658e8ec596SKim Phillips	depends on CRYPTO_DEV_FSL_CAAM
668e8ec596SKim Phillips	default y
678e8ec596SKim Phillips	select CRYPTO_ALGAPI
688e8ec596SKim Phillips	select CRYPTO_AUTHENC
698e8ec596SKim Phillips	help
708e8ec596SKim Phillips	  Selecting this will offload crypto for users of the
718e8ec596SKim Phillips	  scatterlist crypto API (such as the linux native IPSec
728e8ec596SKim Phillips	  stack) to the SEC4 via job ring.
738e8ec596SKim Phillips
748e8ec596SKim Phillips	  To compile this as a module, choose M here: the module
758e8ec596SKim Phillips	  will be called caamalg.
76045e3678SYuan Kang
77045e3678SYuan Kangconfig CRYPTO_DEV_FSL_CAAM_AHASH_API
78045e3678SYuan Kang	tristate "Register hash algorithm implementations with Crypto API"
79045e3678SYuan Kang	depends on CRYPTO_DEV_FSL_CAAM
80045e3678SYuan Kang	default y
81*ae8488a5SPaul Bolle	select CRYPTO_HASH
82045e3678SYuan Kang	help
83045e3678SYuan Kang	  Selecting this will offload ahash for users of the
84045e3678SYuan Kang	  scatterlist crypto API to the SEC4 via job ring.
85045e3678SYuan Kang
86045e3678SYuan Kang	  To compile this as a module, choose M here: the module
87045e3678SYuan Kang	  will be called caamhash.
88e24f7c9eSYuan Kang
89e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API
90e24f7c9eSYuan Kang	tristate "Register caam device for hwrng API"
91e24f7c9eSYuan Kang	depends on CRYPTO_DEV_FSL_CAAM
92e24f7c9eSYuan Kang	default y
93e24f7c9eSYuan Kang	select CRYPTO_RNG
94e24f7c9eSYuan Kang	select HW_RANDOM
95e24f7c9eSYuan Kang	help
96e24f7c9eSYuan Kang	  Selecting this will register the SEC4 hardware rng to
97e24f7c9eSYuan Kang	  the hw_random API for suppying the kernel entropy pool.
98e24f7c9eSYuan Kang
99e24f7c9eSYuan Kang	  To compile this as a module, choose M here: the module
100e24f7c9eSYuan Kang	  will be called caamrng.
101