-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crypto: atmel - add Atmel DES/TDES driver
Signed-off-by: Nicolas Royer <nicolas@eukrea.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Eric Bénard <eric@eukrea.com> Tested-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
- Loading branch information
Nicolas Royer
authored and
Herbert Xu
committed
Jul 11, 2012
1 parent
bd3c7b5
commit 1380200
Showing
4 changed files
with
1,321 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
#ifndef __ATMEL_TDES_REGS_H__ | ||
#define __ATMEL_TDES_REGS_H__ | ||
|
||
#define TDES_CR 0x00 | ||
#define TDES_CR_START (1 << 0) | ||
#define TDES_CR_SWRST (1 << 8) | ||
#define TDES_CR_LOADSEED (1 << 16) | ||
|
||
#define TDES_MR 0x04 | ||
#define TDES_MR_CYPHER_DEC (0 << 0) | ||
#define TDES_MR_CYPHER_ENC (1 << 0) | ||
#define TDES_MR_TDESMOD_MASK (0x3 << 1) | ||
#define TDES_MR_TDESMOD_DES (0x0 << 1) | ||
#define TDES_MR_TDESMOD_TDES (0x1 << 1) | ||
#define TDES_MR_TDESMOD_XTEA (0x2 << 1) | ||
#define TDES_MR_KEYMOD_3KEY (0 << 4) | ||
#define TDES_MR_KEYMOD_2KEY (1 << 4) | ||
#define TDES_MR_SMOD_MASK (0x3 << 8) | ||
#define TDES_MR_SMOD_MANUAL (0x0 << 8) | ||
#define TDES_MR_SMOD_AUTO (0x1 << 8) | ||
#define TDES_MR_SMOD_PDC (0x2 << 8) | ||
#define TDES_MR_OPMOD_MASK (0x3 << 12) | ||
#define TDES_MR_OPMOD_ECB (0x0 << 12) | ||
#define TDES_MR_OPMOD_CBC (0x1 << 12) | ||
#define TDES_MR_OPMOD_OFB (0x2 << 12) | ||
#define TDES_MR_OPMOD_CFB (0x3 << 12) | ||
#define TDES_MR_LOD (0x1 << 15) | ||
#define TDES_MR_CFBS_MASK (0x3 << 16) | ||
#define TDES_MR_CFBS_64b (0x0 << 16) | ||
#define TDES_MR_CFBS_32b (0x1 << 16) | ||
#define TDES_MR_CFBS_16b (0x2 << 16) | ||
#define TDES_MR_CFBS_8b (0x3 << 16) | ||
#define TDES_MR_CKEY_MASK (0xF << 20) | ||
#define TDES_MR_CKEY_OFFSET 20 | ||
#define TDES_MR_CTYPE_MASK (0x3F << 24) | ||
#define TDES_MR_CTYPE_OFFSET 24 | ||
|
||
#define TDES_IER 0x10 | ||
#define TDES_IDR 0x14 | ||
#define TDES_IMR 0x18 | ||
#define TDES_ISR 0x1C | ||
#define TDES_INT_DATARDY (1 << 0) | ||
#define TDES_INT_ENDRX (1 << 1) | ||
#define TDES_INT_ENDTX (1 << 2) | ||
#define TDES_INT_RXBUFF (1 << 3) | ||
#define TDES_INT_TXBUFE (1 << 4) | ||
#define TDES_INT_URAD (1 << 8) | ||
#define TDES_ISR_URAT_MASK (0x3 << 12) | ||
#define TDES_ISR_URAT_IDR (0x0 << 12) | ||
#define TDES_ISR_URAT_ODR (0x1 << 12) | ||
#define TDES_ISR_URAT_MR (0x2 << 12) | ||
#define TDES_ISR_URAT_WO (0x3 << 12) | ||
|
||
|
||
#define TDES_KEY1W1R 0x20 | ||
#define TDES_KEY1W2R 0x24 | ||
#define TDES_KEY2W1R 0x28 | ||
#define TDES_KEY2W2R 0x2C | ||
#define TDES_KEY3W1R 0x30 | ||
#define TDES_KEY3W2R 0x34 | ||
#define TDES_IDATA1R 0x40 | ||
#define TDES_IDATA2R 0x44 | ||
#define TDES_ODATA1R 0x50 | ||
#define TDES_ODATA2R 0x54 | ||
#define TDES_IV1R 0x60 | ||
#define TDES_IV2R 0x64 | ||
|
||
#define TDES_XTEARNDR 0x70 | ||
#define TDES_XTEARNDR_XTEA_RNDS_MASK (0x3F << 0) | ||
#define TDES_XTEARNDR_XTEA_RNDS_OFFSET 0 | ||
|
||
#define TDES_RPR 0x100 | ||
#define TDES_RCR 0x104 | ||
#define TDES_TPR 0x108 | ||
#define TDES_TCR 0x10C | ||
#define TDES_RNPR 0x118 | ||
#define TDES_RNCR 0x11C | ||
#define TDES_TNPR 0x118 | ||
#define TDES_TNCR 0x11C | ||
#define TDES_PTCR 0x120 | ||
#define TDES_PTCR_RXTEN (1 << 0) | ||
#define TDES_PTCR_RXTDIS (1 << 1) | ||
#define TDES_PTCR_TXTEN (1 << 8) | ||
#define TDES_PTCR_TXTDIS (1 << 9) | ||
#define TDES_PTSR 0x124 | ||
#define TDES_PTSR_RXTEN (1 << 0) | ||
#define TDES_PTSR_TXTEN (1 << 8) | ||
|
||
#endif /* __ATMEL_TDES_REGS_H__ */ |
Oops, something went wrong.