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). 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 79*596103cfSHerbert Xu select CRYPTO_AEAD 808e8ec596SKim Phillips select CRYPTO_AUTHENC 81*596103cfSHerbert 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 102e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API 103e24f7c9eSYuan Kang tristate "Register caam device for hwrng API" 104313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR 105e24f7c9eSYuan Kang default y 106e24f7c9eSYuan Kang select CRYPTO_RNG 107e24f7c9eSYuan Kang select HW_RANDOM 108e24f7c9eSYuan Kang help 109e24f7c9eSYuan Kang Selecting this will register the SEC4 hardware rng to 110e24f7c9eSYuan Kang the hw_random API for suppying the kernel entropy pool. 111e24f7c9eSYuan Kang 112e24f7c9eSYuan Kang To compile this as a module, choose M here: the module 113e24f7c9eSYuan Kang will be called caamrng. 114d4d8edf8SAlex Porosanu 115d4d8edf8SAlex Porosanuconfig CRYPTO_DEV_FSL_CAAM_DEBUG 116d4d8edf8SAlex Porosanu bool "Enable debug output in CAAM driver" 117d4d8edf8SAlex Porosanu depends on CRYPTO_DEV_FSL_CAAM 118d4d8edf8SAlex Porosanu help 119d4d8edf8SAlex Porosanu Selecting this will enable printing of various debug 120d4d8edf8SAlex Porosanu information in the CAAM driver. 121