Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11105693 authored by Tudor-Dan Ambarus's avatar Tudor-Dan Ambarus Committed by Herbert Xu
Browse files

crypto: atmel-ecc - introduce Microchip / Atmel ECC driver



Add ECDH support for ATECC508A (I2C) device.

The device features hardware acceleration for the NIST standard
P256 prime curve and supports the complete key life cycle from
private key generation to ECDH key agreement.

Random private key generation is supported internally within
the device to ensure that the private key can never be known
outside of the device. If the user wants to use its own private
keys, the driver will fallback to the ecdh software implementation.

Signed-off-by: default avatarTudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 66d3994c
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -66,3 +66,16 @@ sha@f8034000 {
	dmas = <&dma1 2 17>;
	dma-names = "tx";
};

* Eliptic Curve Cryptography (I2C)

Required properties:
- compatible : must be "atmel,atecc508a".
- reg: I2C bus address of the device.
- clock-frequency: must be present in the i2c controller node.

Example:
atecc508a@C0 {
	compatible = "atmel,atecc508a";
	reg = <0xC0>;
};
+14 −0
Original line number Diff line number Diff line
@@ -525,6 +525,20 @@ config CRYPTO_DEV_ATMEL_SHA
	  To compile this driver as a module, choose M here: the module
	  will be called atmel-sha.

config CRYPTO_DEV_ATMEL_ECC
	tristate "Support for Microchip / Atmel ECC hw accelerator"
	depends on ARCH_AT91 || COMPILE_TEST
	depends on I2C
	select CRYPTO_ECDH
	select CRC16
	help
	  Microhip / Atmel ECC hw accelerator.
	  Select this if you want to use the Microchip / Atmel module for
	  ECDH algorithm.

	  To compile this driver as a module, choose M here: the module
	  will be called atmel-ecc.

config CRYPTO_DEV_CCP
	bool "Support for AMD Cryptographic Coprocessor"
	depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_CRYPTO_DEV_ATMEL_AES) += atmel-aes.o
obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += atmel-sha.o
obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o
obj-$(CONFIG_CRYPTO_DEV_ATMEL_ECC) += atmel-ecc.o
obj-$(CONFIG_CRYPTO_DEV_BFIN_CRC) += bfin_crc.o
obj-$(CONFIG_CRYPTO_DEV_CAVIUM_ZIP) += cavium/
obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/
+781 −0

File added.

Preview size limit exceeded, changes collapsed.

+128 −0

File added.

Preview size limit exceeded, changes collapsed.