On 2026-07-03T01:49:45, James Hilliard <[email protected]> wrote: > crypto: allwinner: add sun8i-ce ECDSA verifier > > The H616 Crypto Engine includes an ECC engine which can verify ECDSA > signatures. Add a UCLASS_ECDSA child for the sun8i-ce parent so FIT > signature verification can use the hardware block from U-Boot proper and > SPL. > > The CE takes explicit curve parameters for each operation. Provide tables > for the curves accepted by U-Boot's FIT ECDSA parser: secp224r1, > prime256v1, secp384r1 and secp521r1. Make each curve independently > selectable for U-Boot proper and SPL so SRAM-constrained builds can keep > only the curves they need. The task input layout follows the ECC verify > buffer order used by Allwinner's CE implementation. > > The CE input buffer uses fixed-width curve fields. Reuse the parameter > packing logic for the message digest as well, so wider digests are > truncated to the leftmost curve-width bytes according to ECDSA rules. > > Signed-off-by: James Hilliard <[email protected]> > > drivers/crypto/allwinner/sun8i-ce/Kconfig | 93 +++++ > drivers/crypto/allwinner/sun8i-ce/Makefile | 1 + > drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 8 + > drivers/crypto/allwinner/sun8i-ce/sun8i-ce-ecdsa.c | 434 > +++++++++++++++++++++ > drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 4 + > 5 files changed, 540 insertions(+)
Not my area, but it looks OK so: Reviewed-by: Simon Glass <[email protected]>

