189 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0
 | 
						|
config CRYPTO_DEV_FSL_CAAM_COMMON
 | 
						|
	tristate
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
 | 
						|
	tristate
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
 | 
						|
	tristate
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM
 | 
						|
	tristate "Freescale CAAM-Multicore platform driver backend"
 | 
						|
	depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE
 | 
						|
	select SOC_BUS
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_COMMON
 | 
						|
	imply FSL_MC_BUS
 | 
						|
	help
 | 
						|
	  Enables the driver module for Freescale's Cryptographic Accelerator
 | 
						|
	  and Assurance Module (CAAM), also known as the SEC version 4 (SEC4).
 | 
						|
	  This module creates job ring devices, and configures h/w
 | 
						|
	  to operate as a DPAA component automatically, depending
 | 
						|
	  on h/w feature availability.
 | 
						|
 | 
						|
	  To compile this driver as a module, choose M here: the module
 | 
						|
	  will be called caam.
 | 
						|
 | 
						|
if CRYPTO_DEV_FSL_CAAM
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_DEBUG
 | 
						|
	bool "Enable debug output in CAAM driver"
 | 
						|
	help
 | 
						|
	  Selecting this will enable printing of various debug
 | 
						|
	  information in the CAAM driver.
 | 
						|
 | 
						|
menuconfig CRYPTO_DEV_FSL_CAAM_JR
 | 
						|
	tristate "Freescale CAAM Job Ring driver backend"
 | 
						|
	select CRYPTO_ENGINE
 | 
						|
	default y
 | 
						|
	help
 | 
						|
	  Enables the driver module for Job Rings which are part of
 | 
						|
	  Freescale's Cryptographic Accelerator
 | 
						|
	  and Assurance Module (CAAM). This module adds a job ring operation
 | 
						|
	  interface.
 | 
						|
 | 
						|
	  To compile this driver as a module, choose M here: the module
 | 
						|
	  will be called caam_jr.
 | 
						|
 | 
						|
if CRYPTO_DEV_FSL_CAAM_JR
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_RINGSIZE
 | 
						|
	int "Job Ring size"
 | 
						|
	range 2 9
 | 
						|
	default "9"
 | 
						|
	help
 | 
						|
	  Select size of Job Rings as a power of 2, within the
 | 
						|
	  range 2-9 (ring size 4-512).
 | 
						|
	  Examples:
 | 
						|
		2 => 4
 | 
						|
		3 => 8
 | 
						|
		4 => 16
 | 
						|
		5 => 32
 | 
						|
		6 => 64
 | 
						|
		7 => 128
 | 
						|
		8 => 256
 | 
						|
		9 => 512
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_INTC
 | 
						|
	bool "Job Ring interrupt coalescing"
 | 
						|
	help
 | 
						|
	  Enable the Job Ring's interrupt coalescing feature.
 | 
						|
 | 
						|
	  Note: the driver already provides adequate
 | 
						|
	  interrupt coalescing in software.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD
 | 
						|
	int "Job Ring interrupt coalescing count threshold"
 | 
						|
	depends on CRYPTO_DEV_FSL_CAAM_INTC
 | 
						|
	range 1 255
 | 
						|
	default 255
 | 
						|
	help
 | 
						|
	  Select number of descriptor completions to queue before
 | 
						|
	  raising an interrupt, in the range 1-255. Note that a selection
 | 
						|
	  of 1 functionally defeats the coalescing feature, and a selection
 | 
						|
	  equal or greater than the job ring size will force timeouts.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
 | 
						|
	int "Job Ring interrupt coalescing timer threshold"
 | 
						|
	depends on CRYPTO_DEV_FSL_CAAM_INTC
 | 
						|
	range 1 65535
 | 
						|
	default 2048
 | 
						|
	help
 | 
						|
	  Select number of bus clocks/64 to timeout in the case that one or
 | 
						|
	  more descriptor completions are queued without reaching the count
 | 
						|
	  threshold. Range is 1-65535.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_CRYPTO_API
 | 
						|
	bool "Register algorithm implementations with the Crypto API"
 | 
						|
	default y
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
 | 
						|
	select CRYPTO_AEAD
 | 
						|
	select CRYPTO_AUTHENC
 | 
						|
	select CRYPTO_SKCIPHER
 | 
						|
	select CRYPTO_LIB_DES
 | 
						|
	select CRYPTO_XTS
 | 
						|
	help
 | 
						|
	  Selecting this will offload crypto for users of the
 | 
						|
	  scatterlist crypto API (such as the linux native IPSec
 | 
						|
	  stack) to the SEC4 via job ring.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI
 | 
						|
	bool "Queue Interface as Crypto API backend"
 | 
						|
	depends on FSL_DPAA && NET
 | 
						|
	default y
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
 | 
						|
	select CRYPTO_AUTHENC
 | 
						|
	select CRYPTO_SKCIPHER
 | 
						|
	select CRYPTO_DES
 | 
						|
	select CRYPTO_XTS
 | 
						|
	help
 | 
						|
	  Selecting this will use CAAM Queue Interface (QI) for sending
 | 
						|
	  & receiving crypto jobs to/from CAAM. This gives better performance
 | 
						|
	  than job ring interface when the number of cores are more than the
 | 
						|
	  number of job rings assigned to the kernel. The number of portals
 | 
						|
	  assigned to the kernel should also be more than the number of
 | 
						|
	  job rings.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_AHASH_API
 | 
						|
	bool "Register hash algorithm implementations with Crypto API"
 | 
						|
	default y
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
 | 
						|
	select CRYPTO_HASH
 | 
						|
	help
 | 
						|
	  Selecting this will offload ahash for users of the
 | 
						|
	  scatterlist crypto API to the SEC4 via job ring.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_PKC_API
 | 
						|
	bool "Register public key cryptography implementations with Crypto API"
 | 
						|
	default y
 | 
						|
	select CRYPTO_RSA
 | 
						|
	help
 | 
						|
	  Selecting this will allow SEC Public key support for RSA.
 | 
						|
	  Supported cryptographic primitives: encryption, decryption,
 | 
						|
	  signature and verification.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_RNG_API
 | 
						|
	bool "Register caam device for hwrng API"
 | 
						|
	default y
 | 
						|
	select CRYPTO_RNG
 | 
						|
	select HW_RANDOM
 | 
						|
	help
 | 
						|
	  Selecting this will register the SEC4 hardware rng to
 | 
						|
	  the hw_random API for supplying the kernel entropy pool.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_PRNG_API
 | 
						|
	bool "Register Pseudo random number generation implementation with Crypto API"
 | 
						|
	default y
 | 
						|
	select CRYPTO_RNG
 | 
						|
	help
 | 
						|
	  Selecting this will register the SEC hardware prng to
 | 
						|
	  the Crypto API.
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_CAAM_BLOB_GEN
 | 
						|
	bool
 | 
						|
 | 
						|
endif # CRYPTO_DEV_FSL_CAAM_JR
 | 
						|
 | 
						|
endif # CRYPTO_DEV_FSL_CAAM
 | 
						|
 | 
						|
config CRYPTO_DEV_FSL_DPAA2_CAAM
 | 
						|
	tristate "QorIQ DPAA2 CAAM (DPSECI) driver"
 | 
						|
	depends on FSL_MC_DPIO
 | 
						|
	depends on NETDEVICES
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_COMMON
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC
 | 
						|
	select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC
 | 
						|
	select CRYPTO_SKCIPHER
 | 
						|
	select CRYPTO_AUTHENC
 | 
						|
	select CRYPTO_AEAD
 | 
						|
	select CRYPTO_HASH
 | 
						|
	select CRYPTO_DES
 | 
						|
	select CRYPTO_XTS
 | 
						|
	help
 | 
						|
	  CAAM driver for QorIQ Data Path Acceleration Architecture 2.
 | 
						|
	  It handles DPSECI DPAA2 objects that sit on the Management Complex
 | 
						|
	  (MC) fsl-mc bus.
 | 
						|
 | 
						|
	  To compile this as a module, choose M here: the module
 | 
						|
	  will be called dpaa2_caam.
 |