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). 7*313ea293SRuchika 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 14*313ea293SRuchika Guptaconfig CRYPTO_DEV_FSL_CAAM_JR 15*313ea293SRuchika Gupta tristate "Freescale CAAM Job Ring driver backend" 16*313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM 17*313ea293SRuchika Gupta default y 18*313ea293SRuchika Gupta help 19*313ea293SRuchika Gupta Enables the driver module for Job Rings which are part of 20*313ea293SRuchika Gupta Freescale's Cryptographic Accelerator 21*313ea293SRuchika Gupta and Assurance Module (CAAM). This module adds a job ring operation 22*313ea293SRuchika Gupta interface. 23*313ea293SRuchika Gupta 24*313ea293SRuchika Gupta To compile this driver as a module, choose M here: the module 25*313ea293SRuchika Gupta will be called caam_jr. 26*313ea293SRuchika Gupta 278e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE 288e8ec596SKim Phillips int "Job Ring size" 29*313ea293SRuchika 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" 47*313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM_JR 481a076689SKim Phillips default n 498e8ec596SKim Phillips help 508e8ec596SKim Phillips Enable the Job Ring's interrupt coalescing feature. 518e8ec596SKim Phillips 521a076689SKim Phillips Note: the driver already provides adequate 531a076689SKim Phillips interrupt coalescing in software. 541a076689SKim Phillips 558e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD 568e8ec596SKim Phillips int "Job Ring interrupt coalescing count threshold" 578e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 588e8ec596SKim Phillips range 1 255 598e8ec596SKim Phillips default 255 608e8ec596SKim Phillips help 618e8ec596SKim Phillips Select number of descriptor completions to queue before 628e8ec596SKim Phillips raising an interrupt, in the range 1-255. Note that a selection 638e8ec596SKim Phillips of 1 functionally defeats the coalescing feature, and a selection 648e8ec596SKim Phillips equal or greater than the job ring size will force timeouts. 658e8ec596SKim Phillips 668e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD 678e8ec596SKim Phillips int "Job Ring interrupt coalescing timer threshold" 688e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 698e8ec596SKim Phillips range 1 65535 708e8ec596SKim Phillips default 2048 718e8ec596SKim Phillips help 728e8ec596SKim Phillips Select number of bus clocks/64 to timeout in the case that one or 738e8ec596SKim Phillips more descriptor completions are queued without reaching the count 748e8ec596SKim Phillips threshold. Range is 1-65535. 758e8ec596SKim Phillips 768e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API 778e8ec596SKim Phillips tristate "Register algorithm implementations with the Crypto API" 78*313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR 798e8ec596SKim Phillips default y 808e8ec596SKim Phillips select CRYPTO_ALGAPI 818e8ec596SKim Phillips select CRYPTO_AUTHENC 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" 92*313ea293SRuchika 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" 104*313ea293SRuchika 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 default n 119d4d8edf8SAlex Porosanu help 120d4d8edf8SAlex Porosanu Selecting this will enable printing of various debug 121d4d8edf8SAlex Porosanu information in the CAAM driver. 122