123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- # 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
- 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"
- 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_BLKCIPHER
- select CRYPTO_LIB_DES
- 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_BLKCIPHER
- 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 suppying the kernel entropy pool.
- 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_BLKCIPHER
- select CRYPTO_AUTHENC
- select CRYPTO_AEAD
- select CRYPTO_HASH
- select CRYPTO_DES
- 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.
|