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
entropy_b91_trng.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_bt_hci.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_cc13xx_cc26xx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_esp32.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
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 drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_handlers.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_litex.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_mcux_rng.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_mcux_rnga.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_mcux_trng.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_neorv32_trng.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_nrf5.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_rv32m1_trng.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_sam.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
entropy_stm32.c drivers/entropy: stm32: fix inter-core race condition 2022-05-13 10:28:53 -05:00
fake_entropy_native_posix.c include: add more missing zephyr/ prefixes 2022-05-27 15:20:27 -07:00
Kconfig entropy: bt_hci: driver added 2022-03-23 13:38:47 +01:00
Kconfig.b91 drivers: entropy: introduce new Telink B91 Entropy driver 2021-08-04 15:45:32 +02:00
Kconfig.bt_hci Bluetooth: Fix compilation for entropy_bt_hci 2022-04-26 09:00:03 +02:00
Kconfig.cc13xx_cc26xx
Kconfig.esp32 esp32s2: drivers: entropy: add support 2021-10-01 10:51:37 -04:00
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 soc: arm: nxp_imx: rt: Configure settings for TRNG IP 2021-08-06 20:29:59 -04:00
Kconfig.native_posix
Kconfig.neorv32 drivers: entropy: add driver for the neorv32 trng 2021-10-26 17:53:15 -04:00
Kconfig.nrf5 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.rv32m1 random: deprecate XOROSHIRO_RANDOM_GENERATOR 2021-08-05 11:24:44 +02:00
Kconfig.sam
Kconfig.stm32