| 58200af7 | 06-Dec-2021 |
Clément Léger <clement.leger@bootlin.com> |
drivers: atmel-shdwc: add atmel shdwc driver
Add atmel shdwc driver for sama5d2. This driver uses assembly code which expects to run from a single cache line. For the time being, building this code
drivers: atmel-shdwc: add atmel shdwc driver
Add atmel shdwc driver for sama5d2. This driver uses assembly code which expects to run from a single cache line. For the time being, building this code is restricted to single core system since it rely on the fact that no other cores can invalidate the TLB or the I-cache. This driver will be used by PSCI to shutdown the SoC.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| c2e7ca16 | 20-Jul-2021 |
Clément Léger <clement.leger@bootlin.com> |
drivers: clk: sam: expose at91_pmc_get_base
The shutdown controller needs to access the PMC to switch the clock using assembly code. Expose pmc base using at91_pmc_get_base.
Acked-by: Etienne Carri
drivers: clk: sam: expose at91_pmc_get_base
The shutdown controller needs to access the PMC to switch the clock using assembly code. Expose pmc base using at91_pmc_get_base.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| aaf9cefe | 14-Dec-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: clk: use while (true)
Changes clk_dt.c to use while (true) instead of while (1) for consistency in optee_os implementation.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-
drivers: clk: use while (true)
Changes clk_dt.c to use while (true) instead of while (1) for consistency in optee_os implementation.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 056e7438 | 14-Dec-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: clk: change clk_dt_get_by_*() prototype
Changes clk_dt_get_by_idx() and clk_dt_get_by_name() to return a the TEE_Result code and use an output argument to pass back clock reference rather t
drivers: clk: change clk_dt_get_by_*() prototype
Changes clk_dt_get_by_idx() and clk_dt_get_by_name() to return a the TEE_Result code and use an output argument to pass back clock reference rather than the opposite. This change makes clk_dt_get_by_*() function more consistent with the other OP-TEE core API functions.
Also renames clk_dt_get_by_idx() to clk_dt_get_by_index().
Updates sama5d2_clk.c and atmel_trng.c accordingly.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8b63b7dd | 25-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: acipher: initialize driver with the JR base address
Instead of systematically using the job ring 0 registers to initialize the CAAM acipher drivers, use the job ring allocated to OPTE
drivers: caam: acipher: initialize driver with the JR base address
Instead of systematically using the job ring 0 registers to initialize the CAAM acipher drivers, use the job ring allocated to OPTEE OS.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| efcdff18 | 25-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: hash: initialize driver with the JR base address
Instead of systematically using the job ring 0 registers to initialize the CAAM hash driver, use the job ring allocated to OPTEE OS.
drivers: caam: hash: initialize driver with the JR base address
Instead of systematically using the job ring 0 registers to initialize the CAAM hash driver, use the job ring allocated to OPTEE OS.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| e516cdba | 09-Dec-2021 |
Clément Léger <clement.leger@bootlin.com> |
driver: atmel_trng: remove wrong assertion
Remove mistakenly added assert which will always trigger in debug mode.
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Clément Léger <cl
driver: atmel_trng: remove wrong assertion
Remove mistakenly added assert which will always trigger in debug mode.
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| 958897f5 | 26-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: imx: add SC driver for i.MX8QM/QXP
Add the secure controller driver that implements: - SCFW API - SCU IPC functions - SCU secure IPC initialization The SCU driver relies on the MU driver
drivers: imx: add SC driver for i.MX8QM/QXP
Add the secure controller driver that implements: - SCFW API - SCU IPC functions - SCU secure IPC initialization The SCU driver relies on the MU driver to communicate with the security controller.
Signed-off-by: Remi Koman <remi.koman@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 ...
|
| e3db86ba | 02-Dec-2021 |
Ricardo Salveti <ricardo@foundries.io> |
drivers: imx_wdog: fix defined but not used with CFG_DT=n
Fix a defined but not used error when building with CFG_DT by moving dt_wdog_match_table under the same ifdef block used by the device-tree
drivers: imx_wdog: fix defined but not used with CFG_DT=n
Fix a defined but not used error when building with CFG_DT by moving dt_wdog_match_table under the same ifdef block used by the device-tree block.
Acked-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
show more ...
|
| 1dc7d0e9 | 19-Jul-2021 |
Clément Léger <clement.leger@bootlin.com> |
drivers: atmel-rstc: add support for reset controller
This reset controller will be used by PSCI to reset the SoC.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <j
drivers: atmel-rstc: add support for reset controller
This reset controller will be used by PSCI to reset the SoC.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| d1a9c68b | 03-Dec-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: stm32_cryp: prevent error trace when disabled
Changes stm32_crypt initialization function to not report an error when the device is not defined or disabled in the embedded DT.
Prevents err
drivers: stm32_cryp: prevent error trace when disabled
Changes stm32_crypt initialization function to not report an error when the device is not defined or disabled in the embedded DT.
Prevents error trace message seen at boot time: E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x0002b958 failed
Fixes: 5c3bcc386415 ("dts: stm32mp1: disable CRYP1 device") Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f2da02b2 | 12-Aug-2021 |
Clément Léger <clement.leger@bootlin.com> |
drivers: add Atmel TRNG driver
This driver uses the device tree to probe the TRNG and then allows random data to be queried using both hw_get_random_byte() and crypto_rng_read().
Acked-by: Etienne
drivers: add Atmel TRNG driver
This driver uses the device tree to probe the TRNG and then allows random data to be queried using both hw_get_random_byte() and crypto_rng_read().
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| 4793519c | 01-Dec-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: drivers: se050: object identifier range
With the introduction of the se050 APDU driver, external clients can create persistent objects on the secure element non-volatile memory.
The unique
crypto: drivers: se050: object identifier range
With the introduction of the se050 APDU driver, external clients can create persistent objects on the secure element non-volatile memory.
The unique identifiers for these objects do not necessarily need to fall within the range defined for objects created using the cyptographic operation interfaces (keypair_gen).
This commit fixes the use case where a key stored in the SE05x device (for example via a cloud service communicating to the optee-client's libseteec) is imported into the pkcs#11 database and then used for authentication (ie, EC sign)
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 7ca695bf | 16-Nov-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: clk: add verbosity on provider probe error case
Prints the names of the parent node and node for which core failed to probe a clock instance. Also prints the returned error code. These adde
drivers: clk: add verbosity on provider probe error case
Prints the names of the parent node and node for which core failed to probe a clock instance. Also prints the returned error code. These added debug information help understanding where and FDT parsing failed.
Acked-by: Clément Léger <clement.leger@bootlin.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| bb04f4b9 | 02-Dec-2021 |
Sahil Malhotra <sahil.malhotra@nxp.com> |
core: drivers: caam: disable jobring in DT only in case of external DTB
On LX2160 board, Embedded DTB is enabled. While booting with CAAM enabled, a crash comes in OP-TEE because it tries to disable
core: drivers: caam: disable jobring in DT only in case of external DTB
On LX2160 board, Embedded DTB is enabled. While booting with CAAM enabled, a crash comes in OP-TEE because it tries to disable the Job Ring in Embedded DTB, which is read only. So disable Job ring only when using External DTB.
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8dca59b4 | 19-Nov-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: dt_driver: use driver type when finding a driver provider
Adds driver type argument to functions dt_driver_get_provider_by_node(), and dt_driver_get_provider_by_phandle() to differentiate driv
core: dt_driver: use driver type when finding a driver provider
Adds driver type argument to functions dt_driver_get_provider_by_node(), and dt_driver_get_provider_by_phandle() to differentiate driver provider references when a single DT node relates to several driver providers that are of different type by DT binding definition. For example, a DT node may describe a device that acts both as a clock provider and a reset controller, for which two driver references are needed in the driver provider list.
Updates dt_driver_device_from_node_idx_prop() accordingly.
Fixes: f498c4042931 ("core: dt_driver: factorize clk_get_provider_by_*()") Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 5dac4bd1 | 30-Nov-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: crypto: stm32_cryp: register secure peripheral
Adds registering of CRYP1 device as a secure peripheral when it is registered as a crypto driver.
Fixes: 95134dac4b22 ("plat-stm32mp1: enable
drivers: crypto: stm32_cryp: register secure peripheral
Adds registering of CRYP1 device as a secure peripheral when it is registered as a crypto driver.
Fixes: 95134dac4b22 ("plat-stm32mp1: enable CRYPTO HW if available") Reviewed-by: Nicolas Toromanoff <nicolas.toromanoff@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 289611b8 | 24-Nov-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: drivers: se050: object identifier persistence property
The persistence of the object identifiers can be obtained by interrogating the device. Since objects can now be created by external act
crypto: drivers: se050: object identifier persistence property
The persistence of the object identifiers can be obtained by interrogating the device. Since objects can now be created by external actors using the APDU PTA, we will drop the current implementation which flags the object transient property using a bit on the object identifier itself.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 32ddbffb | 13-Nov-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: APDU driver
This driver allows trusted applications to send raw APDU frames to the SE050 device. The Plug-and-Trust subsystem will route the frames back to OP-TEE for SCP03 encryption
crypto: se050: APDU driver
This driver allows trusted applications to send raw APDU frames to the SE050 device. The Plug-and-Trust subsystem will route the frames back to OP-TEE for SCP03 encryption and I2C transmission to the bus.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ff0c5d42 | 13-Nov-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
core: crypto: Secure Element cryptographic interface
Extract cryptographic operations specific to Secure Elements from the more generic cryptographic interface.
Also, the Secure Channel Protocol03
core: crypto: Secure Element cryptographic interface
Extract cryptographic operations specific to Secure Elements from the more generic cryptographic interface.
Also, the Secure Channel Protocol03 is a global protocol supported by most SEs and not NXP SE05X specific. Use this commit to reflect this fact.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8c8316db | 24-Nov-2021 |
Etienne Carriere <etienne.carriere@st.com> |
drivers: stm32_bsec: move to early_init stage
BSEC driver shall initialize a early_init initcall level to prepare OTP access needed to read the HUK from OTPs.
Acked-by: Jerome Forissier <jerome@for
drivers: stm32_bsec: move to early_init stage
BSEC driver shall initialize a early_init initcall level to prepare OTP access needed to read the HUK from OTPs.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 7b05d514 | 24-Nov-2021 |
Etienne Carriere <etienne.carriere@st.com> |
drivers: stm32_bsec: fix error on SAFMEM power-up
Fix unbalanced access locking when SAFMEM power up sequence fails.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens
drivers: stm32_bsec: fix error on SAFMEM power-up
Fix unbalanced access locking when SAFMEM power up sequence fails.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| b76fcab5 | 24-Nov-2021 |
Etienne Carriere <etienne.carriere@st.com> |
drivers: stm32_bsec: increase timeout
Increase stm32_bsec timeout to handle worst case at 10ms.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org
drivers: stm32_bsec: increase timeout
Increase stm32_bsec timeout to handle worst case at 10ms.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 8afb7c41 | 24-Nov-2021 |
Etienne Carriere <etienne.carriere@st.com> |
drivers: stm32_bsec: return busy/bad parms where applicable
Change stm32_bsec driver to return TEE_ERROR_BUSY when the BSEC interface reports a busy state and TEE_ERROR_BAD_PARAMETERS word programmi
drivers: stm32_bsec: return busy/bad parms where applicable
Change stm32_bsec driver to return TEE_ERROR_BUSY when the BSEC interface reports a busy state and TEE_ERROR_BAD_PARAMETERS word programming/locking has failed which means provided arguments were invalid.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 5411b322 | 11-Nov-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: rename huk driver to die_id
The current HUK driver is not providing the platform Hardware Unique Key but the DIE_ID.
This can logically be a source of confusion (and bugs) for many u
crypto: se050: rename huk driver to die_id
The current HUK driver is not providing the platform Hardware Unique Key but the DIE_ID.
This can logically be a source of confusion (and bugs) for many users not enabling this option.
This commit renames the huk.c file to die_id.c and replaces the previous configuration option with another one that is semantically accurate.
CFG_NXP_SE05X_HUK_DRV --> CFG_NXP_SE05X_DIEID_DRV
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|