18e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM 28e8ec596SKim Phillips tristate "Freescale CAAM-Multicore driver backend" 39e217795SHoria Geantă depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE 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 79596103cfSHerbert Xu select CRYPTO_AEAD 808e8ec596SKim Phillips select CRYPTO_AUTHENC 81596103cfSHerbert 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 102*8c419778STudor Ambarusconfig CRYPTO_DEV_FSL_CAAM_PKC_API 103*8c419778STudor Ambarus tristate "Register public key cryptography implementations with Crypto API" 104*8c419778STudor Ambarus depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR 105*8c419778STudor Ambarus default y 106*8c419778STudor Ambarus select CRYPTO_RSA 107*8c419778STudor Ambarus help 108*8c419778STudor Ambarus Selecting this will allow SEC Public key support for RSA. 109*8c419778STudor Ambarus Supported cryptographic primitives: encryption, decryption, 110*8c419778STudor Ambarus signature and verification. 111*8c419778STudor Ambarus To compile this as a module, choose M here: the module 112*8c419778STudor Ambarus will be called caam_pkc. 113*8c419778STudor Ambarus 114e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API 115e24f7c9eSYuan Kang tristate "Register caam device for hwrng API" 116313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR 117e24f7c9eSYuan Kang default y 118e24f7c9eSYuan Kang select CRYPTO_RNG 119e24f7c9eSYuan Kang select HW_RANDOM 120e24f7c9eSYuan Kang help 121e24f7c9eSYuan Kang Selecting this will register the SEC4 hardware rng to 122e24f7c9eSYuan Kang the hw_random API for suppying the kernel entropy pool. 123e24f7c9eSYuan Kang 124e24f7c9eSYuan Kang To compile this as a module, choose M here: the module 125e24f7c9eSYuan Kang will be called caamrng. 126d4d8edf8SAlex Porosanu 1276c3af955SHoria Geant?config CRYPTO_DEV_FSL_CAAM_IMX 1286c3af955SHoria Geant? def_bool SOC_IMX6 || SOC_IMX7D 1296c3af955SHoria Geant? depends on CRYPTO_DEV_FSL_CAAM 1306c3af955SHoria Geant? 131d4d8edf8SAlex Porosanuconfig CRYPTO_DEV_FSL_CAAM_DEBUG 132d4d8edf8SAlex Porosanu bool "Enable debug output in CAAM driver" 133d4d8edf8SAlex Porosanu depends on CRYPTO_DEV_FSL_CAAM 134d4d8edf8SAlex Porosanu help 135d4d8edf8SAlex Porosanu Selecting this will enable printing of various debug 136d4d8edf8SAlex Porosanu information in the CAAM driver. 137