simplicity_sdk: Patch crypto config to enable SW HMAC
HSE-SVH devices accelerate every HMAC variant. HSE-SVM and VSE devices only accelerate HMAC up to 256-bit hashes. MBEDTLS_PSA_ACCEL_ALG_HMAC must be set only when every enabled HMAC operation is accelerated, so leave it unset when SHA-384 or SHA-512 is requested on the other parts.
That also moves HMAC-SHA-256 to software in those builds. The accel macro is all-or-nothing, and the secure-engine driver returns PSA_ERROR_NOT_SUPPORTED for the larger hashes with no builtin fallback.
Upstream-status: pending Co-authored-by: Aksel Skauge Mellbye aksel.mellbye@silabs.com Signed-off-by: Martin Hoff martin.hoff@silabs.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Zephyr HAL for Silicon Labs
This module provides the HAL content needed to build Zephyr applications for Silicon Labs devices.
The following SDKs are imported:
gecko- Gecko SDK for EFM32 and EFR32 Series 0 and 1 devicessi32- Precision32 HAL for SiM3U devicessimplicity_sdk- Simplicity SDK for EFM32 and EFR32 Series 2 deviceswiseconnect- WiSeConnect SDK for SiWx91x devicesSimplicity SDK
Updating Simplicity SDK
Updates to Simplicity SDK are performed using the scripts available in the
scriptsdirectory. To import a new version of Simplicity SDK, run./scripts/update_simplicity_sdk.py --src <path/to/simplicity_sdk> --signoff, wherepath/to/simplicity_sdkpoints to a checked out copy of the Simplicity SDK git repo.This will revert any Zephyr-specific patches, import the new version of Simplicity SDK, and reapply any patches that still apply. Patches that don’t apply cleanly are called out by the script and skipped, and should be investigated to see if the patch is no longer needed, or if it needs to be adapted to changes in the HAL. Patches are discovered by searching the git history backwards until the first commit message starting with
simplicity_sdk: Import [...]is encountered.Zephyr-specific patches to Simplicity SDK must have a commit message that starts with
simplicity_sdk: Patch [...]in order to be automatically identified by the update script.The script
import_simplicity_sdk.pydoes the job of importing the content and updating blobs in module.yml, and contains the file list used to filter Simplicity SDK content needed in Zephyr. This script is called internally byupdate_simplicity_sdk.py, but can also be run standalone.If new content is imported from Simplicity SDK, update the file list in one commit, and use the prefix
simplicity_sdk: Add [...]in the commit message of a separate commit that adds the additional content. Strive to use the same revision of Simplicity SDK as pre-existing content to keep the HAL consistent. If the scripts listed above are used to assist in adding the new content, ensure that patches aren’t accidentally undone – the commit should only contain new files, no modified files. If patches are needed, add these in separate commits with thesimplicity_sdk: Patch [...]prefix.Generating Devicetree Bindings
Python scripts named
scripts/gen_*.pyare used to generate Devicetree bindings for devices supported by Simplicity SDK. See the help text of each script for usage details.