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). 78e8ec596SKim Phillips This module adds a job ring operation interface, 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 148e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE 158e8ec596SKim Phillips int "Job Ring size" 168e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 178e8ec596SKim Phillips range 2 9 188e8ec596SKim Phillips default "9" 198e8ec596SKim Phillips help 208e8ec596SKim Phillips Select size of Job Rings as a power of 2, within the 218e8ec596SKim Phillips range 2-9 (ring size 4-512). 228e8ec596SKim Phillips Examples: 238e8ec596SKim Phillips 2 => 4 248e8ec596SKim Phillips 3 => 8 258e8ec596SKim Phillips 4 => 16 268e8ec596SKim Phillips 5 => 32 278e8ec596SKim Phillips 6 => 64 288e8ec596SKim Phillips 7 => 128 298e8ec596SKim Phillips 8 => 256 308e8ec596SKim Phillips 9 => 512 318e8ec596SKim Phillips 328e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC 338e8ec596SKim Phillips bool "Job Ring interrupt coalescing" 348e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 358e8ec596SKim Phillips default y 368e8ec596SKim Phillips help 378e8ec596SKim Phillips Enable the Job Ring's interrupt coalescing feature. 388e8ec596SKim Phillips 398e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD 408e8ec596SKim Phillips int "Job Ring interrupt coalescing count threshold" 418e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 428e8ec596SKim Phillips range 1 255 438e8ec596SKim Phillips default 255 448e8ec596SKim Phillips help 458e8ec596SKim Phillips Select number of descriptor completions to queue before 468e8ec596SKim Phillips raising an interrupt, in the range 1-255. Note that a selection 478e8ec596SKim Phillips of 1 functionally defeats the coalescing feature, and a selection 488e8ec596SKim Phillips equal or greater than the job ring size will force timeouts. 498e8ec596SKim Phillips 508e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD 518e8ec596SKim Phillips int "Job Ring interrupt coalescing timer threshold" 528e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 538e8ec596SKim Phillips range 1 65535 548e8ec596SKim Phillips default 2048 558e8ec596SKim Phillips help 568e8ec596SKim Phillips Select number of bus clocks/64 to timeout in the case that one or 578e8ec596SKim Phillips more descriptor completions are queued without reaching the count 588e8ec596SKim Phillips threshold. Range is 1-65535. 598e8ec596SKim Phillips 608e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API 618e8ec596SKim Phillips tristate "Register algorithm implementations with the Crypto API" 628e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 638e8ec596SKim Phillips default y 648e8ec596SKim Phillips select CRYPTO_ALGAPI 658e8ec596SKim Phillips select CRYPTO_AUTHENC 668e8ec596SKim Phillips help 678e8ec596SKim Phillips Selecting this will offload crypto for users of the 688e8ec596SKim Phillips scatterlist crypto API (such as the linux native IPSec 698e8ec596SKim Phillips stack) to the SEC4 via job ring. 708e8ec596SKim Phillips 718e8ec596SKim Phillips To compile this as a module, choose M here: the module 728e8ec596SKim Phillips will be called caamalg. 73045e3678SYuan Kang 74045e3678SYuan Kangconfig CRYPTO_DEV_FSL_CAAM_AHASH_API 75045e3678SYuan Kang tristate "Register hash algorithm implementations with Crypto API" 76045e3678SYuan Kang depends on CRYPTO_DEV_FSL_CAAM 77045e3678SYuan Kang default y 78045e3678SYuan Kang select CRYPTO_AHASH 79045e3678SYuan Kang help 80045e3678SYuan Kang Selecting this will offload ahash for users of the 81045e3678SYuan Kang scatterlist crypto API to the SEC4 via job ring. 82045e3678SYuan Kang 83045e3678SYuan Kang To compile this as a module, choose M here: the module 84045e3678SYuan Kang will be called caamhash. 85*e24f7c9eSYuan Kang 86*e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API 87*e24f7c9eSYuan Kang tristate "Register caam device for hwrng API" 88*e24f7c9eSYuan Kang depends on CRYPTO_DEV_FSL_CAAM 89*e24f7c9eSYuan Kang default y 90*e24f7c9eSYuan Kang select CRYPTO_RNG 91*e24f7c9eSYuan Kang select HW_RANDOM 92*e24f7c9eSYuan Kang help 93*e24f7c9eSYuan Kang Selecting this will register the SEC4 hardware rng to 94*e24f7c9eSYuan Kang the hw_random API for suppying the kernel entropy pool. 95*e24f7c9eSYuan Kang 96*e24f7c9eSYuan Kang To compile this as a module, choose M here: the module 97*e24f7c9eSYuan Kang will be called caamrng. 98