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 351a076689SKim Phillips default n 368e8ec596SKim Phillips help 378e8ec596SKim Phillips Enable the Job Ring's interrupt coalescing feature. 388e8ec596SKim Phillips 391a076689SKim Phillips Note: the driver already provides adequate 401a076689SKim Phillips interrupt coalescing in software. 411a076689SKim Phillips 428e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD 438e8ec596SKim Phillips int "Job Ring interrupt coalescing count threshold" 448e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 458e8ec596SKim Phillips range 1 255 468e8ec596SKim Phillips default 255 478e8ec596SKim Phillips help 488e8ec596SKim Phillips Select number of descriptor completions to queue before 498e8ec596SKim Phillips raising an interrupt, in the range 1-255. Note that a selection 508e8ec596SKim Phillips of 1 functionally defeats the coalescing feature, and a selection 518e8ec596SKim Phillips equal or greater than the job ring size will force timeouts. 528e8ec596SKim Phillips 538e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD 548e8ec596SKim Phillips int "Job Ring interrupt coalescing timer threshold" 558e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM_INTC 568e8ec596SKim Phillips range 1 65535 578e8ec596SKim Phillips default 2048 588e8ec596SKim Phillips help 598e8ec596SKim Phillips Select number of bus clocks/64 to timeout in the case that one or 608e8ec596SKim Phillips more descriptor completions are queued without reaching the count 618e8ec596SKim Phillips threshold. Range is 1-65535. 628e8ec596SKim Phillips 638e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API 648e8ec596SKim Phillips tristate "Register algorithm implementations with the Crypto API" 658e8ec596SKim Phillips depends on CRYPTO_DEV_FSL_CAAM 668e8ec596SKim Phillips default y 678e8ec596SKim Phillips select CRYPTO_ALGAPI 688e8ec596SKim Phillips select CRYPTO_AUTHENC 698e8ec596SKim Phillips help 708e8ec596SKim Phillips Selecting this will offload crypto for users of the 718e8ec596SKim Phillips scatterlist crypto API (such as the linux native IPSec 728e8ec596SKim Phillips stack) to the SEC4 via job ring. 738e8ec596SKim Phillips 748e8ec596SKim Phillips To compile this as a module, choose M here: the module 758e8ec596SKim Phillips will be called caamalg. 76045e3678SYuan Kang 77045e3678SYuan Kangconfig CRYPTO_DEV_FSL_CAAM_AHASH_API 78045e3678SYuan Kang tristate "Register hash algorithm implementations with Crypto API" 79045e3678SYuan Kang depends on CRYPTO_DEV_FSL_CAAM 80045e3678SYuan Kang default y 81ae8488a5SPaul Bolle select CRYPTO_HASH 82045e3678SYuan Kang help 83045e3678SYuan Kang Selecting this will offload ahash for users of the 84045e3678SYuan Kang scatterlist crypto API to the SEC4 via job ring. 85045e3678SYuan Kang 86045e3678SYuan Kang To compile this as a module, choose M here: the module 87045e3678SYuan Kang will be called caamhash. 88e24f7c9eSYuan Kang 89e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API 90e24f7c9eSYuan Kang tristate "Register caam device for hwrng API" 91e24f7c9eSYuan Kang depends on CRYPTO_DEV_FSL_CAAM 92e24f7c9eSYuan Kang default y 93e24f7c9eSYuan Kang select CRYPTO_RNG 94e24f7c9eSYuan Kang select HW_RANDOM 95e24f7c9eSYuan Kang help 96e24f7c9eSYuan Kang Selecting this will register the SEC4 hardware rng to 97e24f7c9eSYuan Kang the hw_random API for suppying the kernel entropy pool. 98e24f7c9eSYuan Kang 99e24f7c9eSYuan Kang To compile this as a module, choose M here: the module 100e24f7c9eSYuan Kang will be called caamrng. 101*d4d8edf8SAlex Porosanu 102*d4d8edf8SAlex Porosanuconfig CRYPTO_DEV_FSL_CAAM_DEBUG 103*d4d8edf8SAlex Porosanu bool "Enable debug output in CAAM driver" 104*d4d8edf8SAlex Porosanu depends on CRYPTO_DEV_FSL_CAAM 105*d4d8edf8SAlex Porosanu default n 106*d4d8edf8SAlex Porosanu help 107*d4d8edf8SAlex Porosanu Selecting this will enable printing of various debug 108*d4d8edf8SAlex Porosanu information in the CAAM driver. 109