1*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM 2*8e8ec596SKim Phillips tristate "Freescale CAAM-Multicore driver backend" 3*8e8ec596SKim Phillips depends on FSL_SOC 4*8e8ec596SKim Phillips help 5*8e8ec596SKim Phillips Enables the driver module for Freescale's Cryptographic Accelerator 6*8e8ec596SKim Phillips and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). 7*8e8ec596SKim Phillips This module adds a job ring operation interface, and configures h/w 8*8e8ec596SKim Phillips to operate as a DPAA component automatically, depending 9*8e8ec596SKim Phillips on h/w feature availability. 10*8e8ec596SKim Phillips 11*8e8ec596SKim Phillips To compile this driver as a module, choose M here: the module 12*8e8ec596SKim Phillips will be called caam. 13*8e8ec596SKim Phillips 14*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE 15*8e8ec596SKim Phillips int "Job Ring size" 16*8e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 17*8e8ec596SKim Phillips range 2 9 18*8e8ec596SKim Phillips default "9" 19*8e8ec596SKim Phillips help 20*8e8ec596SKim Phillips Select size of Job Rings as a power of 2, within the 21*8e8ec596SKim Phillips range 2-9 (ring size 4-512). 22*8e8ec596SKim Phillips Examples: 23*8e8ec596SKim Phillips 2 => 4 24*8e8ec596SKim Phillips 3 => 8 25*8e8ec596SKim Phillips 4 => 16 26*8e8ec596SKim Phillips 5 => 32 27*8e8ec596SKim Phillips 6 => 64 28*8e8ec596SKim Phillips 7 => 128 29*8e8ec596SKim Phillips 8 => 256 30*8e8ec596SKim Phillips 9 => 512 31*8e8ec596SKim Phillips 32*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC 33*8e8ec596SKim Phillips bool "Job Ring interrupt coalescing" 34*8e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 35*8e8ec596SKim Phillips default y 36*8e8ec596SKim Phillips help 37*8e8ec596SKim Phillips Enable the Job Ring's interrupt coalescing feature. 38*8e8ec596SKim Phillips 39*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD 40*8e8ec596SKim Phillips int "Job Ring interrupt coalescing count threshold" 41*8e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 42*8e8ec596SKim Phillips range 1 255 43*8e8ec596SKim Phillips default 255 44*8e8ec596SKim Phillips help 45*8e8ec596SKim Phillips Select number of descriptor completions to queue before 46*8e8ec596SKim Phillips raising an interrupt, in the range 1-255. Note that a selection 47*8e8ec596SKim Phillips of 1 functionally defeats the coalescing feature, and a selection 48*8e8ec596SKim Phillips equal or greater than the job ring size will force timeouts. 49*8e8ec596SKim Phillips 50*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD 51*8e8ec596SKim Phillips int "Job Ring interrupt coalescing timer threshold" 52*8e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 53*8e8ec596SKim Phillips range 1 65535 54*8e8ec596SKim Phillips default 2048 55*8e8ec596SKim Phillips help 56*8e8ec596SKim Phillips Select number of bus clocks/64 to timeout in the case that one or 57*8e8ec596SKim Phillips more descriptor completions are queued without reaching the count 58*8e8ec596SKim Phillips threshold. Range is 1-65535. 59*8e8ec596SKim Phillips 60*8e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API 61*8e8ec596SKim Phillips tristate "Register algorithm implementations with the Crypto API" 62*8e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 63*8e8ec596SKim Phillips default y 64*8e8ec596SKim Phillips select CRYPTO_ALGAPI 65*8e8ec596SKim Phillips select CRYPTO_AUTHENC 66*8e8ec596SKim Phillips help 67*8e8ec596SKim Phillips Selecting this will offload crypto for users of the 68*8e8ec596SKim Phillips scatterlist crypto API (such as the linux native IPSec 69*8e8ec596SKim Phillips stack) to the SEC4 via job ring. 70*8e8ec596SKim Phillips 71*8e8ec596SKim Phillips To compile this as a module, choose M here: the module 72*8e8ec596SKim Phillips will be called caamalg. 73