| c6738340 | 16-Oct-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: increases RSA prime retry
Change the RSA Primes generation retry loops: - Reduce number of loops set in the job ring descriptor. - Add software loop to not lock the system.
Total ret
drivers: caam: increases RSA prime retry
Change the RSA Primes generation retry loops: - Reduce number of loops set in the job ring descriptor. - Add software loop to not lock the system.
Total retry loop has been increased because RSA 4096 generation key test might fail sometimes.
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 90072753 | 17-Feb-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: remove unused SGT functions
Remove not longer used SGT functions.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 6997f698 | 08-Apr-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in math driver
Update the math driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@lin
drivers: caam: use CAAM DMA object in math driver
Update the math driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a9591ed5 | 06-Apr-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in RSA
Update the RSA driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| eafbaf2c | 31-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in Cipher
Update Cipher driver to use the CAAM DMA object - Cipher AES/DES/DES3 all modes - Cipher MAC
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Sign
drivers: caam: use CAAM DMA object in Cipher
Update Cipher driver to use the CAAM DMA object - Cipher AES/DES/DES3 all modes - Cipher MAC
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3dface8c | 27-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in HMAC
Update HMAC driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Ac
drivers: caam: use CAAM DMA object in HMAC
Update HMAC driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 865a5792 | 25-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in Hash
Update Hash driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Ac
drivers: caam: use CAAM DMA object in Hash
Update Hash driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 53d714df | 27-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: add dmaobj descriptor functions
Add descriptor operation to handle caamdmaobj to set: - SGT data type - Extension length
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by
drivers: caam: add dmaobj descriptor functions
Add descriptor operation to handle caamdmaobj to set: - SGT data type - Extension length
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 38923d48 | 27-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: implement CAAM DMA Object
Implementation of a CAAM DMA object to: - create a DMA object (SGT/buffer) based on input/output buffers - reallocate a new buffer accessible from the CA
drivers: caam: implement CAAM DMA Object
Implementation of a CAAM DMA object to: - create a DMA object (SGT/buffer) based on input/output buffers - reallocate a new buffer accessible from the CAAM address space - ensure buffer is cache aligned (for the output)
Implementation of CAAM DMA object functions to: - cache maintenance - free CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e0e51e3f | 05-Mar-2021 |
Franck LENORMAND <franck.lenormand@nxp.com> |
drivers: caam: fix read of length of D component
Read the RSA D component with caam_read_val32() which handles endianness. The CAAM endianness might differ between IMX and LS platforms.
Signed-off-
drivers: caam: fix read of length of D component
Read the RSA D component with caam_read_val32() which handles endianness. The CAAM endianness might differ between IMX and LS platforms.
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6c2162fa | 12-Feb-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: fix allocated buffer size
When a buffer is allocated for output CAAM operations, the output buffer cache is invalidated beforehand.
To avoid data loss, an allocated buffer size shoul
drivers: caam: fix allocated buffer size
When a buffer is allocated for output CAAM operations, the output buffer cache is invalidated beforehand.
To avoid data loss, an allocated buffer size should be a multiple data cacheline size.
Fixes: b22795b ("drivers: caam: make use of generic memalign() implementation") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a392e112 | 12-Feb-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: use dcache_get_line_size()
Remove CAAM function to get the data cache line size and use the generic function.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jens W
drivers: caam: use dcache_get_line_size()
Remove CAAM function to get the data cache line size and use the generic function.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 41494d18 | 12-Feb-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: Foundries Plug-and-Trust Release 0.0.2
The Foundries Plug-and-Trust library tracks NXP Plug-and-Trust quaterly releases.
Modifications in the NXP library sources require a new prepro
crypto: se050: Foundries Plug-and-Trust Release 0.0.2
The Foundries Plug-and-Trust library tracks NXP Plug-and-Trust quaterly releases.
Modifications in the NXP library sources require a new preprocessor macro to be defined.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 530faff2 | 12-Feb-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: crypto: se050: improve maintainability
Replace explicit c-flags duplication across makefiles with single shared definition.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed
drivers: crypto: se050: improve maintainability
Replace explicit c-flags duplication across makefiles with single shared definition.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| b22795b7 | 22-Jan-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: make use of generic memalign() implementation
Make use of the newly implemented memalign() function for the CAAM driver. Remove the previous CAAM memalign() implementation and its ass
drivers: caam: make use of generic memalign() implementation
Make use of the newly implemented memalign() function for the CAAM driver. Remove the previous CAAM memalign() implementation and its associated debugging structures.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0f04594c | 05-Feb-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: crypto: se050: Global Platform SCP03 key provisioning
Remove the need to store the SCP03 keys by deriving them from the HUK and the SE050 unique hardware identifier.
Works under the assump
drivers: crypto: se050: Global Platform SCP03 key provisioning
Remove the need to store the SCP03 keys by deriving them from the HUK and the SE050 unique hardware identifier.
Works under the assumption that the HUK is unknown and never exposed outside the TEE.
CFG_CORE_SE05X_SCP03_PROVISION Needs to be configured to exec the feature.
CFG_CORE_SE05X_DISPLAY_SCP03_KEYS: Outputs the current and the new SCP03 keys to the console during provisioning.
Note that to provision new SCP03 keys, SCP03 must already be in operation (ie, have an encrypted communication channel between the processor and the SE050).
Tested on imx8mm EVK.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2c62c5dc | 02-Feb-2021 |
Jerome Forissier <jerome@forissier.org> |
drivers: se050: drop useless & before function names
There is no need to use & on a function name to obtain the function address. Drop the useless & characters.
Signed-off-by: Jerome Forissier <jer
drivers: se050: drop useless & before function names
There is no need to use & on a function name to obtain the function address. Drop the useless & characters.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2570cd0b | 02-Feb-2021 |
Jerome Forissier <jerome@forissier.org> |
drivers: crypto: drop useless & before function names
There is no need to use & on a function name to obtain the function address. Drop the useless & characters.
Signed-off-by: Jerome Forissier <je
drivers: crypto: drop useless & before function names
There is no need to use & on a function name to obtain the function address. Drop the useless & characters.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 44bc8ae9 | 02-Feb-2021 |
Jerome Forissier <jerome@forissier.org> |
drivers: caam: drop useless & before function names
There is no need to use & on a function name to obtain the function address. Drop the useless & characters.
Signed-off-by: Jerome Forissier <jero
drivers: caam: drop useless & before function names
There is no need to use & on a function name to obtain the function address. Drop the useless & characters.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4c69b1f1 | 15-Dec-2020 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: build: elliptic curve
Makefile changes to compile-in and enable elliptic curve support.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wikland
crypto: se050: build: elliptic curve
Makefile changes to compile-in and enable elliptic curve support.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9b5917c9 | 15-Dec-2020 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: core: elliptic curve implementation
Elliptic curve driver.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etie
crypto: se050: core: elliptic curve implementation
Elliptic curve driver.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d419b2b2 | 15-Dec-2020 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: adaptors: elliptic curve
APDU and utility functions required to support elliptic curve cryptography.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander
crypto: se050: adaptors: elliptic curve
APDU and utility functions required to support elliptic curve cryptography.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8563cdc5 | 13-Dec-2020 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: crypto: se050: limitations to RSA crypto
The supported algorithms for encryption/decryption are: PKCS1_OAEP PKCS1_V1_5
When using PKCS1_PSS_MGF1 the se050 also has some restrictions on
drivers: crypto: se050: limitations to RSA crypto
The supported algorithms for encryption/decryption are: PKCS1_OAEP PKCS1_V1_5
When using PKCS1_PSS_MGF1 the se050 also has some restrictions on the hash algorithms that can be used depending on the RSA key size.
Source: Plug And Trust MW documentation, Release v02,14,00 (Apr 03, 2020)
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| afd861ca | 14-Dec-2020 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: crypto: se050: die_id generation
Guarantee the uniqueness of the die_id even when the requested length is smaller than the se050 unique identifier.
Currently, tee_otp_get_die_id requests 1
drivers: crypto: se050: die_id generation
Guarantee the uniqueness of the die_id even when the requested length is smaller than the se050 unique identifier.
Currently, tee_otp_get_die_id requests 12 bytes while the se050 unique identifier is 18 bytes which is an issue as the uniqueness of the device can be lost due to the truncation of the identifier.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 3f667706 | 13-Dec-2020 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: crypto: se050: strip spaces from crypto.mk
Some versions of the force function used in the makefile might produce incorrect results when spaces are included in the parameter field.
In gene
drivers: crypto: se050: strip spaces from crypto.mk
Some versions of the force function used in the makefile might produce incorrect results when spaces are included in the parameter field.
In general is a better practice to strip spaces when invoking this sort of functions.
To prevent issues (ie: in case of backport) make sure that the SE050 driver is not affected by that variability.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|