162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __ATMEL_TDES_REGS_H__ 362306a36Sopenharmony_ci#define __ATMEL_TDES_REGS_H__ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#define TDES_CR 0x00 662306a36Sopenharmony_ci#define TDES_CR_START (1 << 0) 762306a36Sopenharmony_ci#define TDES_CR_SWRST (1 << 8) 862306a36Sopenharmony_ci#define TDES_CR_LOADSEED (1 << 16) 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#define TDES_MR 0x04 1162306a36Sopenharmony_ci#define TDES_MR_CYPHER_DEC (0 << 0) 1262306a36Sopenharmony_ci#define TDES_MR_CYPHER_ENC (1 << 0) 1362306a36Sopenharmony_ci#define TDES_MR_TDESMOD_MASK (0x3 << 1) 1462306a36Sopenharmony_ci#define TDES_MR_TDESMOD_DES (0x0 << 1) 1562306a36Sopenharmony_ci#define TDES_MR_TDESMOD_TDES (0x1 << 1) 1662306a36Sopenharmony_ci#define TDES_MR_TDESMOD_XTEA (0x2 << 1) 1762306a36Sopenharmony_ci#define TDES_MR_KEYMOD_3KEY (0 << 4) 1862306a36Sopenharmony_ci#define TDES_MR_KEYMOD_2KEY (1 << 4) 1962306a36Sopenharmony_ci#define TDES_MR_SMOD_MASK (0x3 << 8) 2062306a36Sopenharmony_ci#define TDES_MR_SMOD_MANUAL (0x0 << 8) 2162306a36Sopenharmony_ci#define TDES_MR_SMOD_AUTO (0x1 << 8) 2262306a36Sopenharmony_ci#define TDES_MR_SMOD_PDC (0x2 << 8) 2362306a36Sopenharmony_ci#define TDES_MR_OPMOD_MASK (0x3 << 12) 2462306a36Sopenharmony_ci#define TDES_MR_OPMOD_ECB (0x0 << 12) 2562306a36Sopenharmony_ci#define TDES_MR_OPMOD_CBC (0x1 << 12) 2662306a36Sopenharmony_ci#define TDES_MR_OPMOD_OFB (0x2 << 12) 2762306a36Sopenharmony_ci#define TDES_MR_OPMOD_CFB (0x3 << 12) 2862306a36Sopenharmony_ci#define TDES_MR_LOD (0x1 << 15) 2962306a36Sopenharmony_ci#define TDES_MR_CFBS_MASK (0x3 << 16) 3062306a36Sopenharmony_ci#define TDES_MR_CFBS_64b (0x0 << 16) 3162306a36Sopenharmony_ci#define TDES_MR_CFBS_32b (0x1 << 16) 3262306a36Sopenharmony_ci#define TDES_MR_CFBS_16b (0x2 << 16) 3362306a36Sopenharmony_ci#define TDES_MR_CFBS_8b (0x3 << 16) 3462306a36Sopenharmony_ci#define TDES_MR_CKEY_MASK (0xF << 20) 3562306a36Sopenharmony_ci#define TDES_MR_CKEY_OFFSET 20 3662306a36Sopenharmony_ci#define TDES_MR_CTYPE_MASK (0x3F << 24) 3762306a36Sopenharmony_ci#define TDES_MR_CTYPE_OFFSET 24 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci#define TDES_IER 0x10 4062306a36Sopenharmony_ci#define TDES_IDR 0x14 4162306a36Sopenharmony_ci#define TDES_IMR 0x18 4262306a36Sopenharmony_ci#define TDES_ISR 0x1C 4362306a36Sopenharmony_ci#define TDES_INT_DATARDY (1 << 0) 4462306a36Sopenharmony_ci#define TDES_INT_ENDRX (1 << 1) 4562306a36Sopenharmony_ci#define TDES_INT_ENDTX (1 << 2) 4662306a36Sopenharmony_ci#define TDES_INT_RXBUFF (1 << 3) 4762306a36Sopenharmony_ci#define TDES_INT_TXBUFE (1 << 4) 4862306a36Sopenharmony_ci#define TDES_INT_URAD (1 << 8) 4962306a36Sopenharmony_ci#define TDES_ISR_URAT_MASK (0x3 << 12) 5062306a36Sopenharmony_ci#define TDES_ISR_URAT_IDR (0x0 << 12) 5162306a36Sopenharmony_ci#define TDES_ISR_URAT_ODR (0x1 << 12) 5262306a36Sopenharmony_ci#define TDES_ISR_URAT_MR (0x2 << 12) 5362306a36Sopenharmony_ci#define TDES_ISR_URAT_WO (0x3 << 12) 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci#define TDES_KEY1W1R 0x20 5762306a36Sopenharmony_ci#define TDES_KEY1W2R 0x24 5862306a36Sopenharmony_ci#define TDES_KEY2W1R 0x28 5962306a36Sopenharmony_ci#define TDES_KEY2W2R 0x2C 6062306a36Sopenharmony_ci#define TDES_KEY3W1R 0x30 6162306a36Sopenharmony_ci#define TDES_KEY3W2R 0x34 6262306a36Sopenharmony_ci#define TDES_IDATA1R 0x40 6362306a36Sopenharmony_ci#define TDES_IDATA2R 0x44 6462306a36Sopenharmony_ci#define TDES_ODATA1R 0x50 6562306a36Sopenharmony_ci#define TDES_ODATA2R 0x54 6662306a36Sopenharmony_ci#define TDES_IV1R 0x60 6762306a36Sopenharmony_ci#define TDES_IV2R 0x64 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci#define TDES_XTEARNDR 0x70 7062306a36Sopenharmony_ci#define TDES_XTEARNDR_XTEA_RNDS_MASK (0x3F << 0) 7162306a36Sopenharmony_ci#define TDES_XTEARNDR_XTEA_RNDS_OFFSET 0 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci#define TDES_HW_VERSION 0xFC 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci#define TDES_RPR 0x100 7662306a36Sopenharmony_ci#define TDES_RCR 0x104 7762306a36Sopenharmony_ci#define TDES_TPR 0x108 7862306a36Sopenharmony_ci#define TDES_TCR 0x10C 7962306a36Sopenharmony_ci#define TDES_RNPR 0x118 8062306a36Sopenharmony_ci#define TDES_RNCR 0x11C 8162306a36Sopenharmony_ci#define TDES_TNPR 0x118 8262306a36Sopenharmony_ci#define TDES_TNCR 0x11C 8362306a36Sopenharmony_ci#define TDES_PTCR 0x120 8462306a36Sopenharmony_ci#define TDES_PTCR_RXTEN (1 << 0) 8562306a36Sopenharmony_ci#define TDES_PTCR_RXTDIS (1 << 1) 8662306a36Sopenharmony_ci#define TDES_PTCR_TXTEN (1 << 8) 8762306a36Sopenharmony_ci#define TDES_PTCR_TXTDIS (1 << 9) 8862306a36Sopenharmony_ci#define TDES_PTSR 0x124 8962306a36Sopenharmony_ci#define TDES_PTSR_RXTEN (1 << 0) 9062306a36Sopenharmony_ci#define TDES_PTSR_TXTEN (1 << 8) 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci#endif /* __ATMEL_TDES_REGS_H__ */ 93