RIOT-OS / RIOT

RIOT - The friendly OS for IoT
https://riot-os.org
GNU Lesser General Public License v2.1
4.9k stars 1.98k forks source link

sys/psa_crypto: replace crytocell binary blob for nrf52840 with custom implementation #20777

Open mguetschow opened 3 months ago

mguetschow commented 3 months ago

Description

Nordic Semiconductors just released version 1.10 of the Product Specification for nRF52840 including the following change:

CRYPTOCELL – Updated description

Indeed, the documentation of the cryptocell peripheral has been largely enhanced from a simple reference to the nRF-provided software library in v1.9 to a detailed description of the hardware registers that can be used to control the peripheral, with the following disclaimer:

Nordic Semiconductor ASA reserves the right to change the CRYPTOCELL documentation and register descriptions without further notice. Changes will not trigger erratas and will not be seen as changing form/fit/function of the device.

Please note that Nordic cannot support questions directly related to the register interface or modification of the source code implementation. Nordic provide support for the top-level API in the software library distributed as part of the device SDK.

Up to now, hardware acceleration on the nRF52840 in RIOT depends on the binary blob from the nRF5 SDK in pkg/driver_cryptocell_310. With the newly available information, it should be possible to communicate with the cryptocell peripheral without this intermediate software.

Useful links

mguetschow commented 3 months ago

The documentation has also been updated for nRF9160 (also using CryptoCell 310) and even for nRF5340 (extended CryptoCell 312).

mguetschow commented 2 months ago

I've just asked for updated HAL files over at the nrfx repo: https://github.com/NordicSemiconductor/nrfx/issues/123