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: Tudor Ambarus <tudor.ambarus@microchip.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
82 lines
2.2 KiB
Plaintext
82 lines
2.2 KiB
Plaintext
* Atmel HW cryptographic accelerators
|
|
|
|
These are the HW cryptographic accelerators found on some Atmel products.
|
|
|
|
* Advanced Encryption Standard (AES)
|
|
|
|
Required properties:
|
|
- compatible : Should be "atmel,at91sam9g46-aes".
|
|
- reg: Should contain AES registers location and length.
|
|
- interrupts: Should contain the IRQ line for the AES.
|
|
- dmas: List of two DMA specifiers as described in
|
|
atmel-dma.txt and dma.txt files.
|
|
- dma-names: Contains one identifier string for each DMA specifier
|
|
in the dmas property.
|
|
|
|
Example:
|
|
aes@f8038000 {
|
|
compatible = "atmel,at91sam9g46-aes";
|
|
reg = <0xf8038000 0x100>;
|
|
interrupts = <43 4 0>;
|
|
dmas = <&dma1 2 18>,
|
|
<&dma1 2 19>;
|
|
dma-names = "tx", "rx";
|
|
|
|
* Triple Data Encryption Standard (Triple DES)
|
|
|
|
Required properties:
|
|
- compatible : Should be "atmel,at91sam9g46-tdes".
|
|
- reg: Should contain TDES registers location and length.
|
|
- interrupts: Should contain the IRQ line for the TDES.
|
|
|
|
Optional properties:
|
|
- dmas: List of two DMA specifiers as described in
|
|
atmel-dma.txt and dma.txt files.
|
|
- dma-names: Contains one identifier string for each DMA specifier
|
|
in the dmas property.
|
|
|
|
Example:
|
|
tdes@f803c000 {
|
|
compatible = "atmel,at91sam9g46-tdes";
|
|
reg = <0xf803c000 0x100>;
|
|
interrupts = <44 4 0>;
|
|
dmas = <&dma1 2 20>,
|
|
<&dma1 2 21>;
|
|
dma-names = "tx", "rx";
|
|
};
|
|
|
|
* Secure Hash Algorithm (SHA)
|
|
|
|
Required properties:
|
|
- compatible : Should be "atmel,at91sam9g46-sha".
|
|
- reg: Should contain SHA registers location and length.
|
|
- interrupts: Should contain the IRQ line for the SHA.
|
|
|
|
Optional properties:
|
|
- dmas: One DMA specifiers as described in
|
|
atmel-dma.txt and dma.txt files.
|
|
- dma-names: Contains one identifier string for each DMA specifier
|
|
in the dmas property. Only one "tx" string needed.
|
|
|
|
Example:
|
|
sha@f8034000 {
|
|
compatible = "atmel,at91sam9g46-sha";
|
|
reg = <0xf8034000 0x100>;
|
|
interrupts = <42 4 0>;
|
|
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>;
|
|
};
|