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 #

bool "PSA Crypto API"
help
Enable a PSA Crypto API provider in the build. If TF-M is enabled then
it will be used for this scope, otherwise Mbed TLS will be used.
Copy link
Contributor

Choose a reason for hiding this comment

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

The help text doesn't mention out-of-tree providers.

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 and others added 5 commits October 9, 2025 16:14
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]>
…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.

Upstream PR: 96415

Signed-off-by: Valerio Setti <[email protected]>
…_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.

Upstream PR: 96415

Signed-off-by: Valerio Setti <[email protected]>
…_C in BT_SILABS_EFR32

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

Upstream PR: 96415

Signed-off-by: Valerio Setti <[email protected]>
…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.

Upstream PR: 96415

Signed-off-by: Valerio Setti <[email protected]>
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch from d786150 to 919f434 Compare October 9, 2025 14:14
Exclude the application and radio core targets for nRF54H20 since
they use Ironside as their PSA storage provider.

Signed-off-by: Georgios Vasilakis <[email protected]>
@Vge0rge Vge0rge force-pushed the 54h20_psa_rng_ironside branch from 5344fd6 to ca2e1e8 Compare October 10, 2025 08:53
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.

4 participants