drivers: entropy: ease runtime requirements on BT HCI

On platforms like nrf5340 there are 2 CPUs:
- one is the cpu_net which takes care of the radio stuff and
  owns the HW random generator
- one is the cpu_app which holds application data and polls
  cpu_net through HCI commands when it needs some random data.

The PSA core implemented in Mbed TLS needs random data at initialization
time, which happens early in the boot process. If we wait for BT to
be ready before issuing the HCI command, then PSA core intialization
will fail. In facts there is no need for the BT to be completely
initialized just to ask for some random data from the cpu_app to
the cpu_net since the HW random generator will likely be already
functional in the cpu_net.
So let's just try the HCI command and, if something is not right,
it will fail anyway. There's no need to anticipate the failure.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
This commit is contained in:
Valerio Setti 2024-11-11 09:19:36 +01:00 committed by Anas Nashif
commit 1e560e0a45
2 changed files with 21 additions and 3 deletions

View file

@ -89,6 +89,15 @@ Display
Enhanced Serial Peripheral Interface (eSPI)
===========================================
Entropy
=======
* BT HCI based entropy driver now directly sends the HCI command to parse random
data instead of waiting for BT connection to be ready. This is helpful on
platforms where the BT controller owns the HW random generator and the application
processor needs to get random data before BT is fully enabled.
(:github:`79931`)
GNSS
====