zephyr/drivers/entropy
Steven Lemaire c40dc7d380 drivers: entropy: gecko: add driver using Secure Element module of EFR32
Some EFR32 SoCs use a secure element subsystem to manage
security features (i.e., TRNG, secure bootloader or cryptographic
functions).

This driver relies on the SE Manager high-level API provided by Silicon
Labs. The API interacts with the SE subsystem, provides helper functions
to achieve cryptographic operations and ensures that only one operation
is running at a time by using mutexes and semaphores.

Instead of relying on the SE Manager from Silicon Labs, one could
recreate the behaviour of the Manager and put the code in the crypto
driver folder and create a dependency for other drivers using the crypto
manager (e.g., keys, entropy).

I went for the SE Manager API as it is already there and supported by
Silicon Labs.

Tested using the random subsystem.

Signed-off-by: Steven Lemaire <steven.lemaire@zii.aero>
2022-07-04 15:47:35 +02:00
..
CMakeLists.txt drivers: entropy: gecko: add driver using Secure Element module of EFR32 2022-07-04 15:47:35 +02:00
Kconfig
Kconfig.b91
Kconfig.bt_hci
Kconfig.cc13xx_cc26xx
Kconfig.esp32
Kconfig.gecko drivers: entropy: gecko: add driver using Secure Element module of EFR32 2022-07-04 15:47:35 +02:00
Kconfig.litex
Kconfig.mcux
Kconfig.native_posix
Kconfig.neorv32
Kconfig.nrf5
Kconfig.rv32m1
Kconfig.sam
Kconfig.stm32
entropy_b91_trng.c
entropy_bt_hci.c
entropy_cc13xx_cc26xx.c
entropy_esp32.c
entropy_gecko_se.c drivers: entropy: gecko: add driver using Secure Element module of EFR32 2022-07-04 15:47:35 +02:00
entropy_gecko_trng.c
entropy_handlers.c
entropy_litex.c
entropy_mcux_rng.c
entropy_mcux_rnga.c
entropy_mcux_trng.c
entropy_neorv32_trng.c
entropy_nrf5.c
entropy_rv32m1_trng.c
entropy_sam.c
entropy_stm32.c
fake_entropy_native_posix.c