Hi Philippe On Thu, Sep 3, 2026 at 10:32 AM Raymond Mao <[email protected]> wrote: > > Hi Philippe, > > On Thu, Sep 3, 2026 at 4:17 AM Philippe Reynes > <[email protected]> wrote: > > > > Add a software ecdsa driver so it is > > now possible to use ecdsa signature on > > board without ecdsa hardware support. > > > > Reviewed-by: Raymond Mao <[email protected]> > > Reviewed-by: Simon Glass <[email protected]> > > Signed-off-by: Philippe Reynes <[email protected]> > > --- > > v2: > > - no change > > v3: > > - add depends on ECDSA_VERIFY to ECDSA_SW > > - change sw_ecdsa_verify to ecdsa_hash_verify > > - v4 > > - use ECDSA_MBEDTLS to build the driver > > - clean include (change order) > > v5: > > - use $(PHASE_) in the Makefile for the driver > > v6: > > - remove include u-boot/ecdsa.h from ecdsa-sw.c > > v7: > > - no change > > v8: > > - no change > > v9: > > - no change > > > > drivers/crypto/Makefile | 1 + > > drivers/crypto/ecdsa/Makefile | 6 ++++++ > > drivers/crypto/ecdsa/ecdsa-sw.c | 32 ++++++++++++++++++++++++++++++++ > > 3 files changed, 39 insertions(+) > > create mode 100644 drivers/crypto/ecdsa/Makefile > > create mode 100644 drivers/crypto/ecdsa/ecdsa-sw.c > > > > Reviewed-by: Raymond Mao <[email protected]> >
Sorry, there is a new line at the end of the file. Please apply my tag with this fixed. Applying: drivers: crypto: add software ecdsa support .git/rebase-apply/patch:89: new blank line at EOF. + warning: 1 line adds whitespace errors. Thanks! Regards, Raymond > Thanks! > Regards, > Raymond > > > diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile > > index e4a4482b7f3..8170e4cae9c 100644 > > --- a/drivers/crypto/Makefile > > +++ b/drivers/crypto/Makefile > > @@ -4,6 +4,7 @@ > > # http://www.samsung.com > > > > obj-$(CONFIG_EXYNOS_ACE_SHA) += ace_sha.o > > +obj-$(CONFIG_ECDSA) += ecdsa/ > > obj-y += aes/ > > obj-y += rsa_mod_exp/ > > obj-y += fsl/ > > diff --git a/drivers/crypto/ecdsa/Makefile b/drivers/crypto/ecdsa/Makefile > > new file mode 100644 > > index 00000000000..89be50824cb > > --- /dev/null > > +++ b/drivers/crypto/ecdsa/Makefile > > @@ -0,0 +1,6 @@ > > +# SPDX-License-Identifier: GPL-2.0+ > > +# > > +# Copyright (C) 2026 Philippe Reynes <[email protected]> > > +# > > + > > +obj-$(CONFIG_$(PHASE_)ECDSA_VERIFY_MBEDTLS) += ecdsa-sw.o > > diff --git a/drivers/crypto/ecdsa/ecdsa-sw.c > > b/drivers/crypto/ecdsa/ecdsa-sw.c > > new file mode 100644 > > index 00000000000..2af1405f73b > > --- /dev/null > > +++ b/drivers/crypto/ecdsa/ecdsa-sw.c > > @@ -0,0 +1,32 @@ > > +// SPDX-License-Identifier: GPL-2.0+ > > +/* > > + * Copyright (C) 2026 Philippe Reynes <[email protected]> > > + */ > > +#include <crypto/ecdsa-uclass.h> > > +#include <crypto/internal/ecdsa.h> > > +#include <dm.h> > > +#include <linux/types.h> > > + > > +static int ops_sw_ecdsa_verify(__always_unused struct udevice *dev, > > + const struct ecdsa_public_key *pubkey, > > + const void *hash, size_t hash_len, > > + const void *signature, size_t sig_len) > > +{ > > + return ecdsa_hash_verify(pubkey, hash, hash_len, signature, > > sig_len); > > +} > > + > > +static const struct ecdsa_ops sw_ecdsa_ops = { > > + .verify = ops_sw_ecdsa_verify, > > +}; > > + > > +U_BOOT_DRIVER(sw_ecdsa) = { > > + .name = "sw_ecdsa", > > + .id = UCLASS_ECDSA, > > + .ops = &sw_ecdsa_ops, > > + .flags = DM_FLAG_PRE_RELOC, > > +}; > > + > > +U_BOOT_DRVINFO(sw_ecdsa) = { > > + .name = "sw_ecdsa", > > +}; > > + > > -- > > 2.43.0 > >
