Skip to content

Conversation

@Vge0rge
Copy link
Contributor

@Vge0rge Vge0rge commented Oct 1, 2025

Noup since Ironside not available upstream and it is required for PSA RNG.

This enables the PSA RNG as the default Zephyr entropy provider for the nrf54h20dk cpuapp and cpurad targets.

@SebastianBoe
Copy link
Contributor

ironside PSA is currently not available upstream, just to clarify for others reading the PR description.

Copy link
Contributor

@SebastianBoe SebastianBoe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what entropy-prng is.

But having PSA provide entropy by default on 54H makes sense to me as it is the most secure source of entropy.

Users that want faster, less secure, entropy can explicitly develop/configure this at a later time I suppose.

menuconfig SECURE_STORAGE
bool "Secure storage subsystem"
depends on !BUILD_WITH_TFM
depends on !NRF_IRONSIDE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing # in Upstream PR #

Copy link
Contributor

@SebastianBoe SebastianBoe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch 8 times, most recently from 4bbc19d to 87487a4 Compare October 16, 2025 10:53
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch 2 times, most recently from fb66123 to 7846926 Compare October 20, 2025 08:50
@Vge0rge Vge0rge requested a review from tomi-font October 20, 2025 11:08
@seko-nordic
Copy link
Contributor

can we remove CONFIG_FAKE_ENTROPY_NRF_PRNG and all associated to it now?

@Vge0rge
Copy link
Contributor Author

Vge0rge commented Oct 20, 2025

FAKE_ENTROPY_NRF_PRNG

I am not sure about this, what I can tell is that with this PR the option FAKE_ENTROPY_NRF_PRNG cannot be enabled without modifying the device tree nodes. I am not sure if there are use cases that still require it for some reason.

@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch from 7846926 to 17ca6ec Compare October 20, 2025 12:04
Copy link
Contributor

@frkv frkv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch from 17ca6ec to eb6308b Compare October 21, 2025 08:46
Vge0rge and others added 6 commits October 21, 2025 10:48
Noup since Ironside not available upstream and it is required
for PSA RNG.

This enables the PSA RNG as the default Zephyr entropy provider
for the nrf54h20dk cpuapp and cpurad targets.

Signed-off-by: Georgios Vasilakis <[email protected]>
Exclude the application and radio core targets for nRF54H20 since
they use Ironside as their PSA storage provider.

Upstream PR #: 96915

Signed-off-by: Georgios Vasilakis <[email protected]>
…PTO_PSA

The dependency should be PSA_CRYPTO_CLIENT and not
MBEDTLS_PSA_CRYPTO_CLIENT because the former is more generic. TF-M can
indeed provide PSA Crypto API, not only Mbed TLS.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 46614de)
…_PSA_CRYPTO_C

The driver code only relies on legacy Mbed TLS crypto, not on PSA API, so
enabling MBEDTLS_PSA_CRYPTO_C is not needed here.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 76037ce)
…_C in BT_SILABS_EFR32

The driver only uses psa_generate_random() so ENTROPY_C is not required.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 7b7b4fc)
…YPTO

The goal of new Kconfig PSA_CRYPTO_PROVIDER is to automatically enable
any of the PSA Crypto API provider available for the platform without
having the user to manually pick the proper one. This provider can be
either TF-M, if that's enabled in the build, or Mbed TLS otherwise.

PSA_CRYPTO_PROVIDER simplifies also modules/subsystem Kconfigs removing
blocks as:
	select MBEDTLS if !BUILD_WITH_TFM
	select MBEDTLS_PSA_CRYPTO_C if !BUILD_WITH_TFM

Kconfig PSA_CRYPTO_PROVIDER_CUSTOM is also added to allow the end user
to add a custom implementation of PSA Crypto API instead of TF-M or
Mbed TLS ones.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 1bc2db5)
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch from eb6308b to 51a6baf Compare October 21, 2025 08:48
@rlubos rlubos merged commit befc177 into nrfconnect:main Oct 21, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants