18e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM 28e8ec596SKim Phillips tristate "Freescale CAAM-Multicore driver backend" 39e217795SHoria Geantă depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE 4*c056d910SHoria Geantă select SOC_BUS 58e8ec596SKim Phillips help 68e8ec596SKim Phillips Enables the driver module for Freescale's Cryptographic Accelerator 78e8ec596SKim Phillips and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). 8313ea293SRuchika Gupta This module creates job ring devices, and configures h/w 98e8ec596SKim Phillips to operate as a DPAA component automatically, depending 108e8ec596SKim Phillips on h/w feature availability. 118e8ec596SKim Phillips 128e8ec596SKim Phillips To compile this driver as a module, choose M here: the module 138e8ec596SKim Phillips will be called caam. 148e8ec596SKim Phillips 15313ea293SRuchika Guptaconfig CRYPTO_DEV_FSL_CAAM_JR 16313ea293SRuchika Gupta tristate "Freescale CAAM Job Ring driver backend" 17313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM 18313ea293SRuchika Gupta default y 19313ea293SRuchika Gupta help 20313ea293SRuchika Gupta Enables the driver module for Job Rings which are part of 21313ea293SRuchika Gupta Freescale's Cryptographic Accelerator 22313ea293SRuchika Gupta and Assurance Module (CAAM). This module adds a job ring operation 23313ea293SRuchika Gupta interface. 24313ea293SRuchika Gupta 25313ea293SRuchika Gupta To compile this driver as a module, choose M here: the module 26313ea293SRuchika Gupta will be called caam_jr. 27313ea293SRuchika Gupta 288e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_RINGSIZE 298e8ec596SKim Phillips int "Job Ring size" 30313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM_JR 318e8ec596SKim Phillips range 2 9 328e8ec596SKim Phillips default "9" 338e8ec596SKim Phillips help 348e8ec596SKim Phillips Select size of Job Rings as a power of 2, within the 358e8ec596SKim Phillips range 2-9 (ring size 4-512). 368e8ec596SKim Phillips Examples: 378e8ec596SKim Phillips 2 => 4 388e8ec596SKim Phillips 3 => 8 398e8ec596SKim Phillips 4 => 16 408e8ec596SKim Phillips 5 => 32 418e8ec596SKim Phillips 6 => 64 428e8ec596SKim Phillips 7 => 128 438e8ec596SKim Phillips 8 => 256 448e8ec596SKim Phillips 9 => 512 458e8ec596SKim Phillips 468e8ec596SKim Phillipsconfig CRYPTO_DEV_FSL_CAAM_INTC 478e8ec596SKim Phillips bool "Job Ring interrupt coalescing" 48313ea293SRuchika Gupta depends on CRYPTO_DEV_FSL_CAAM_JR 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" 78746f0690SHoria Geantă depends on CRYPTO_DEV_FSL_CAAM_JR 798e8ec596SKim Phillips default y 80596103cfSHerbert Xu select CRYPTO_AEAD 818e8ec596SKim Phillips select CRYPTO_AUTHENC 82596103cfSHerbert Xu select CRYPTO_BLKCIPHER 838e8ec596SKim Phillips help 848e8ec596SKim Phillips Selecting this will offload crypto for users of the 858e8ec596SKim Phillips scatterlist crypto API (such as the linux native IPSec 868e8ec596SKim Phillips stack) to the SEC4 via job ring. 878e8ec596SKim Phillips 888e8ec596SKim Phillips To compile this as a module, choose M here: the module 898e8ec596SKim Phillips will be called caamalg. 90045e3678SYuan Kang 91b189817cSHoria Geantăconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI 92b189817cSHoria Geantă tristate "Queue Interface as Crypto API backend" 93b189817cSHoria Geantă depends on CRYPTO_DEV_FSL_CAAM_JR && FSL_DPAA && NET 94b189817cSHoria Geantă default y 95b189817cSHoria Geantă select CRYPTO_AUTHENC 96b189817cSHoria Geantă select CRYPTO_BLKCIPHER 97b189817cSHoria Geantă help 98b189817cSHoria Geantă Selecting this will use CAAM Queue Interface (QI) for sending 99b189817cSHoria Geantă & receiving crypto jobs to/from CAAM. This gives better performance 100b189817cSHoria Geantă than job ring interface when the number of cores are more than the 101b189817cSHoria Geantă number of job rings assigned to the kernel. The number of portals 102b189817cSHoria Geantă assigned to the kernel should also be more than the number of 103b189817cSHoria Geantă job rings. 104b189817cSHoria Geantă 105b189817cSHoria Geantă To compile this as a module, choose M here: the module 106b189817cSHoria Geantă will be called caamalg_qi. 107b189817cSHoria Geantă 108045e3678SYuan Kangconfig CRYPTO_DEV_FSL_CAAM_AHASH_API 109045e3678SYuan Kang tristate "Register hash algorithm implementations with Crypto API" 110746f0690SHoria Geantă depends on CRYPTO_DEV_FSL_CAAM_JR 111045e3678SYuan Kang default y 112ae8488a5SPaul Bolle select CRYPTO_HASH 113045e3678SYuan Kang help 114045e3678SYuan Kang Selecting this will offload ahash for users of the 115045e3678SYuan Kang scatterlist crypto API to the SEC4 via job ring. 116045e3678SYuan Kang 117045e3678SYuan Kang To compile this as a module, choose M here: the module 118045e3678SYuan Kang will be called caamhash. 119e24f7c9eSYuan Kang 1208c419778STudor Ambarusconfig CRYPTO_DEV_FSL_CAAM_PKC_API 1218c419778STudor Ambarus tristate "Register public key cryptography implementations with Crypto API" 122746f0690SHoria Geantă depends on CRYPTO_DEV_FSL_CAAM_JR 1238c419778STudor Ambarus default y 1248c419778STudor Ambarus select CRYPTO_RSA 1258c419778STudor Ambarus help 1268c419778STudor Ambarus Selecting this will allow SEC Public key support for RSA. 1278c419778STudor Ambarus Supported cryptographic primitives: encryption, decryption, 1288c419778STudor Ambarus signature and verification. 1298c419778STudor Ambarus To compile this as a module, choose M here: the module 1308c419778STudor Ambarus will be called caam_pkc. 1318c419778STudor Ambarus 132e24f7c9eSYuan Kangconfig CRYPTO_DEV_FSL_CAAM_RNG_API 133e24f7c9eSYuan Kang tristate "Register caam device for hwrng API" 134746f0690SHoria Geantă depends on CRYPTO_DEV_FSL_CAAM_JR 135e24f7c9eSYuan Kang default y 136e24f7c9eSYuan Kang select CRYPTO_RNG 137e24f7c9eSYuan Kang select HW_RANDOM 138e24f7c9eSYuan Kang help 139e24f7c9eSYuan Kang Selecting this will register the SEC4 hardware rng to 140e24f7c9eSYuan Kang the hw_random API for suppying the kernel entropy pool. 141e24f7c9eSYuan Kang 142e24f7c9eSYuan Kang To compile this as a module, choose M here: the module 143e24f7c9eSYuan Kang will be called caamrng. 144d4d8edf8SAlex Porosanu 145d4d8edf8SAlex Porosanuconfig CRYPTO_DEV_FSL_CAAM_DEBUG 146d4d8edf8SAlex Porosanu bool "Enable debug output in CAAM driver" 147d4d8edf8SAlex Porosanu depends on CRYPTO_DEV_FSL_CAAM 148d4d8edf8SAlex Porosanu help 149d4d8edf8SAlex Porosanu Selecting this will enable printing of various debug 150d4d8edf8SAlex Porosanu information in the CAAM driver. 1518cea7b66SHoria Geantă 1528cea7b66SHoria Geantăconfig CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC 153b189817cSHoria Geantă def_tristate (CRYPTO_DEV_FSL_CAAM_CRYPTO_API || \ 154b189817cSHoria Geantă CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI) 155