| f354a5d8 | 05-Apr-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: replace _fdt_ prefix with fdt_ for device tree API
As per upstream discussion, there is no reason to keep _fdt_ prefix. Replaces it with fdt_ for all occurrences.
Signed-off-by: Gatien Cheval
core: replace _fdt_ prefix with fdt_ for device tree API
As per upstream discussion, there is no reason to keep _fdt_ prefix. Replaces it with fdt_ for all occurrences.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d2b4dffd | 15-Dec-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: atmel_i2c: add new driver
Add a driver for the atmel I2C controller that can be found on sama5d2 platforms. This driver allows to execute standard I2C requests as well as SMBus protocol com
drivers: atmel_i2c: add new driver
Add a driver for the atmel I2C controller that can be found on sama5d2 platforms. This driver allows to execute standard I2C requests as well as SMBus protocol commands.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8bc9c9e2 | 16-Dec-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: i2c: add a simple framework to handle i2c devices
Add simple i2c support which provides support for I2C controllers and devices using the generic DT mechanisms that already exists. I2C cont
drivers: i2c: add a simple framework to handle i2c devices
Add simple i2c support which provides support for I2C controllers and devices using the generic DT mechanisms that already exists. I2C controllers needs to implement i2c_ctrl_ops to provide i2c operations such as read, write and smbus commands depending on their capabilities. I2C devices driver can then be defined using DEFINE_I2C_DEV_DRIVER(). This macros will use a default i2c probe function (__i2c_probe()) which will then call the I2C device probe function by passing a i2c_dev struct that can be used to communicate with the I2C device defined in the device-tree.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 3489781e | 05-Apr-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: disable CFG_CRYPTO_SM2_* when ECC CAAM driver is enabled
Disable CFG_CRYPTO_SM2_PKE and CFG_CRYPTO_SM2_KEP as ECC CAAM driver does not support ECC encryption. Disable CFG_CRYPTO_SM2_D
drivers: caam: disable CFG_CRYPTO_SM2_* when ECC CAAM driver is enabled
Disable CFG_CRYPTO_SM2_PKE and CFG_CRYPTO_SM2_KEP as ECC CAAM driver does not support ECC encryption. Disable CFG_CRYPTO_SM2_DSA as ECC CAAM driver does not support ECC SM2 signature.
This is a temporary fix until a proper software crypto fallback is implemented.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 113110f8 | 04-Apr-2023 |
Philip Oberfichtner <pro@denx.de> |
TZASC: Allow 32KB region size
According to the ARM TZC-380 Technical Reference Manual, 32KB is the minimum region size [1]. But before this patch, tzc_auto_configure() allowed only 64KB as minimum.
TZASC: Allow 32KB region size
According to the ARM TZC-380 Technical Reference Manual, 32KB is the minimum region size [1]. But before this patch, tzc_auto_configure() allowed only 64KB as minimum.
(pow > 15) implies the following: region_size = (1ULL << pow) = (2^pow) > 32KB
After this patch, (pow >= 15) gives us region_size >= 32KB.
Tested on i.MX6UL.
Link: [1] https://developer.arm.com/documentation/ddi0431/c/programmers-model/register-descriptions/region-attributes--n--register?lang=en Signed-off-by: Philip Oberfichtner <pro@denx.de> Acked-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 32b94ed4 | 29-Mar-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: fix MP abstraction layer functions
Compile manufacturing HAL functions only if the platform supports it.
Fixes: d538d2936c22 ("drivers: caam: add manufacturing protection feature") S
drivers: caam: fix MP abstraction layer functions
Compile manufacturing HAL functions only if the platform supports it.
Fixes: d538d2936c22 ("drivers: caam: add manufacturing protection feature") Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4a0740da | 28-Mar-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: math: add CFG_NXP_CAAM_MATH_DRV compilation flag
Add CFG_NXP_CAAM_MATH_DRV compilation flag for caam_math.c Remove CFG_NXP_CAAM_ACIPHER_DRV flag. Bind the compilation of caam_rsa.c an
drivers: caam: math: add CFG_NXP_CAAM_MATH_DRV compilation flag
Add CFG_NXP_CAAM_MATH_DRV compilation flag for caam_math.c Remove CFG_NXP_CAAM_ACIPHER_DRV flag. Bind the compilation of caam_rsa.c and caam_prime_rsa.c to CFG_NXP_CAAM_RSA_DRV.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3fb72c22 | 25-Mar-2023 |
Zexi Yu <yuzexi@hisilicon.com> |
drivers: crypto: add support for SM2_DSA_SM3
Adds TEE_TYPE_SM2_DSA_SM3_PUBLIC_KEY to drvcrypt_asym_alloc_ecc_public_key() and adds TEE_TYPE_SM2_DSA_SM3_KEYPAIR to drvcrypt_asym_alloc_ecc_keypair().
drivers: crypto: add support for SM2_DSA_SM3
Adds TEE_TYPE_SM2_DSA_SM3_PUBLIC_KEY to drvcrypt_asym_alloc_ecc_public_key() and adds TEE_TYPE_SM2_DSA_SM3_KEYPAIR to drvcrypt_asym_alloc_ecc_keypair(). Adds support for TEE_MAIN_ALGO_SM2_DSA_SM3 in ecc_sign and ecc_verify.
Signed-off-by: Zexi Yu <yuzexi@hisilicon.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| fb559031 | 31-Mar-2023 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: se050: allow configuring the Secure Element applet
Add CFG_CORE_SE05X_VER to allow configuring the desirable applet version. This enables making the driver compatible with newer elements.
drivers: se050: allow configuring the Secure Element applet
Add CFG_CORE_SE05X_VER to allow configuring the desirable applet version. This enables making the driver compatible with newer elements.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b0946e1d | 09-Mar-2023 |
Thomas BOURGOIN <thomas.bourgoin@foss.st.com> |
drivers: stm32mp15_huk: use DT HUK NVMEM layout API
Adds the possibility to get the HUK from OTP definition in the device tree using the function stm32_bsec_find_otp_in_nvmem_layout().
Signed-off-b
drivers: stm32mp15_huk: use DT HUK NVMEM layout API
Adds the possibility to get the HUK from OTP definition in the device tree using the function stm32_bsec_find_otp_in_nvmem_layout().
Signed-off-by: Thomas BOURGOIN <thomas.bourgoin@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| db8ca286 | 24-Mar-2023 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
se050: ecc: SE050-F shared secret
The SE050-F does not support shared secret generation. Allow this operation to also fallback to its software implementation.
Fixes: 6cc77cdd73aa ("crypto: drivers:
se050: ecc: SE050-F shared secret
The SE050-F does not support shared secret generation. Allow this operation to also fallback to its software implementation.
Fixes: 6cc77cdd73aa ("crypto: drivers: se050-f: ecc: can fallback to softw-ops") Test: xtest regression_4009 Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| f60c6b9c | 26-Jan-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: imx_ele: add ELE driver
Add EdgeLock Enclave (or ELE) driver support. ELE is a built-in security subsystem available on imx8ulp and imx93 providing security features to the Cortex-A.
Signe
drivers: imx_ele: add ELE driver
Add EdgeLock Enclave (or ELE) driver support. ELE is a built-in security subsystem available on imx8ulp and imx93 providing security features to the Cortex-A.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 088116c9 | 24-Feb-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: imx_mu: add support for imx93
Add MU support for imx93.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carr
drivers: imx_mu: add support for imx93
Add MU support for imx93.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 1a3d47c5 | 08-Mar-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
clk: stm32mp15: embed clock names only in debug mode
Don't embed clock names when not in debug mode, even when log level is DEBUG_LEVEL. This saves few bytes of SYSRAM for the pager.
Acked-by: Gati
clk: stm32mp15: embed clock names only in debug mode
Don't embed clock names when not in debug mode, even when log level is DEBUG_LEVEL. This saves few bytes of SYSRAM for the pager.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9cf576a9 | 06-Mar-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: crypto: versal: do not use deprecated algorithm macros
The TEE_ALG_ECDSA_P384 and TEE_ALG_ECDSA_P521 constants are deprecated since commit fe2fd3ff46c0 ("GP131: Add TEE_ALG_ECDH_DERIVE_SHAR
drivers: crypto: versal: do not use deprecated algorithm macros
The TEE_ALG_ECDSA_P384 and TEE_ALG_ECDSA_P521 constants are deprecated since commit fe2fd3ff46c0 ("GP131: Add TEE_ALG_ECDH_DERIVE_SHARED_SECRET and TEE_ALG_ECDSA_SHA*"). Therefore use TEE_ALG_ECDSA_SHA384 or TEE_ALG_ECDSA_SHA512 instead (no functional change since the aforementioned commit made them equal).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 53af8d70 | 06-Mar-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: crypto: se050: do not use deprecated algorithm macros
The TEE_ALG_ECD{H,SA}_P* constants are deprecated since commit fe2fd3ff46c0 ("GP131: Add TEE_ALG_ECDH_DERIVE_SHARED_SECRET and TEE_ALG_
drivers: crypto: se050: do not use deprecated algorithm macros
The TEE_ALG_ECD{H,SA}_P* constants are deprecated since commit fe2fd3ff46c0 ("GP131: Add TEE_ALG_ECDH_DERIVE_SHARED_SECRET and TEE_ALG_ECDSA_SHA*"). Therefore use TEE_ALG_ECDSA_SHA* or TEE_ALG_ECDH_DERIVE_SHARED_SECRET instead (no functional change since the aforementioned commit made them equal)
Additional checks tying the curve to the algorithm do not apply anymore since the key size (defined by the curve constant: TEE_ECC_CURVE_*) is not the same as the hash size anymore (defined by the algorithm: TEE_ALG_ECDSA_SHA* or TEE_ALG_ECDH_DERIVE_SHARED_SECRET).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 442c670a | 19-Dec-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: atmel_tcb: Use matrix_dt_get_id() to correctly retrieve the id
Use matrix_dt_get_id() instead of manual address parsing to determine which matrix ID is to be used. Previously it was plain w
drivers: atmel_tcb: Use matrix_dt_get_id() to correctly retrieve the id
Use matrix_dt_get_id() instead of manual address parsing to determine which matrix ID is to be used. Previously it was plain wrong since it compared a virtual address to a physical one and thus compute a wrong value.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| d538d293 | 23-Jan-2023 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: add manufacturing protection feature
The CAAM features a "manufacturing protection" functionality. It is a authentication process used to authenticate the chip to the OEM's server. Th
drivers: caam: add manufacturing protection feature
The CAAM features a "manufacturing protection" functionality. It is a authentication process used to authenticate the chip to the OEM's server. The authentication process can ensure the chip: * is a genuine NXP part * is a correct part type * has been properly fused * is running a authenticated software * runs in secure/trusted mode.
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> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f5c3d85a | 01-Dec-2020 |
Julien Masson <jmasson@baylibre.com> |
core: crypto: add support MD5 hashes in RSA sign/verify/cipher
Introduce support of using MD5 hashes in RSA sign/verify/cipher operations, which is required by AOSP Keymaster.
This is verified in
core: crypto: add support MD5 hashes in RSA sign/verify/cipher
Introduce support of using MD5 hashes in RSA sign/verify/cipher operations, which is required by AOSP Keymaster.
This is verified in VerificationOperationsTest.RsaSuccess VTS Test [1], which checks usage of such digests: NONE, MD5, SHA1, SHA_2_224, SHA_2_256, SHA_2_384, SHA_2_512.
This patch has been inspired by commit[2]:
Link: [1] https://android.googlesource.com/platform/hardware/interfaces/+/master/keymaster/3.0/vts/functional/keymaster_hidl_hal_test.cpp Link: [2] https://github.com/OP-TEE/optee_os/commit/199d0b7310d1705661a106358f1f0b46e4c5c587 ("core: crypto: add support MD5 hashes in RSA sign/verify") Signed-off-by: Julien Masson <jmasson@baylibre.com> Signed-off-by: Safae Ouajih <souajih@baylibre.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2c952266 | 09-Mar-2023 |
Neal Frager <neal.frager@amd.com> |
core: drivers: zynqmp_csu_puf.c: increase regen time to 6ms
With further evaluation of the ZU+ PUF, we have determined that it is possible for the PUF regeneration time to exceed 3ms. For this reas
core: drivers: zynqmp_csu_puf.c: increase regen time to 6ms
With further evaluation of the ZU+ PUF, we have determined that it is possible for the PUF regeneration time to exceed 3ms. For this reason, the 2023.1 version of the Xilinx xilskey library will bump the wait time for PUF regeneration to 6ms. This patch brings optee in line with this change.
Signed-off-by: Neal Frager <neal.frager@amd.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
show more ...
|
| f4f85ac7 | 27-Feb-2023 |
Zexi Yu <yuzexi@hisilicon.com> |
drivers: crypto: add SM2 ECC encrypt and decrypt
Adds operation handlers for decryption with ECC public keys and encryption with ECC private keys and implements SM2 curves asymmetric ciphering.
Sig
drivers: crypto: add SM2 ECC encrypt and decrypt
Adds operation handlers for decryption with ECC public keys and encryption with ECC private keys and implements SM2 curves asymmetric ciphering.
Signed-off-by: Zexi Yu <yuzexi@hisilicon.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Clement Faure <clement.faure@nxp.com>
show more ...
|
| 769cbbd7 | 07-Feb-2023 |
Zexi Yu <yuzexi@hisilicon.com> |
drivers: crypto: add SM2 curve in crypto API
Add SM2 curve in function get_ecc_key_size_bytes().
Signed-off-by: Zexi Yu <yuzexi@hisilicon.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.or
drivers: crypto: add SM2 curve in crypto API
Add SM2 curve in function get_ecc_key_size_bytes().
Signed-off-by: Zexi Yu <yuzexi@hisilicon.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Clement Faure <clement.faure@nxp.com>
show more ...
|
| a3cfa14a | 23-Apr-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: enable the CAAM clock when submitting a new job
Make sure the CAAM clock is running before writing to CAAM registers when submitting a new CAAM job. Otherwise, it would generate an OP
drivers: caam: enable the CAAM clock when submitting a new job
Make sure the CAAM clock is running before writing to CAAM registers when submitting a new CAAM job. Otherwise, it would generate an OPTEE data-abort.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 316fd6e9 | 23-Mar-2022 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: add missing header file
Fix the following warning:
In file included from core/drivers/crypto/caam/hal/imx_8m/hal_cfg.c:8: core/drivers/crypto/caam/hal/imx_8m/../../include/caam_hal_j
drivers: caam: add missing header file
Fix the following warning:
In file included from core/drivers/crypto/caam/hal/imx_8m/hal_cfg.c:8: core/drivers/crypto/caam/hal/imx_8m/../../include/caam_hal_jr.h:22:16: warning: ‘enum caam_jr_owner’ declared inside parameter list will not be visible outside of this definition or declaration 22 | enum caam_jr_owner owner); | ^~~~~~~~~~~~~
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9740df77 | 04-Apr-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: clk: sam: remove hard coded USB clock setup
Now that USB clock is exposed and usable from the device-tree, we can rely on the "assigned-clock" properties that have been added in the device-
drivers: clk: sam: remove hard coded USB clock setup
Now that USB clock is exposed and usable from the device-tree, we can rely on the "assigned-clock" properties that have been added in the device-tree.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|