2 * These files are taken from the MCF523X source code example package
\r
3 * which is available on the Freescale website. Freescale explicitly
\r
4 * grants the redistribution and modification of these source files.
\r
5 * The complete licensing information is available in the file
\r
6 * LICENSE_FREESCALE.TXT.
\r
8 * File: mcf523x_skha.h
\r
9 * Purpose: Register and bit definitions for the MCF523X
\r
15 #ifndef __MCF523X_SKHA_H__
\r
16 #define __MCF523X_SKHA_H__
\r
18 /*********************************************************************
\r
20 * Symmetric Key Hardware Accelerator (SKHA)
\r
22 *********************************************************************/
\r
24 /* Register read/write macros */
\r
25 #define MCF_SKHA_SKMR (*(vuint32*)(void*)(&__IPSBAR[0x1B0000]))
\r
26 #define MCF_SKHA_SKCR (*(vuint32*)(void*)(&__IPSBAR[0x1B0004]))
\r
27 #define MCF_SKHA_SKCMR (*(vuint32*)(void*)(&__IPSBAR[0x1B0008]))
\r
28 #define MCF_SKHA_SKSR (*(vuint32*)(void*)(&__IPSBAR[0x1B000C]))
\r
29 #define MCF_SKHA_SKIR (*(vuint32*)(void*)(&__IPSBAR[0x1B0010]))
\r
30 #define MCF_SKHA_SKIMR (*(vuint32*)(void*)(&__IPSBAR[0x1B0014]))
\r
31 #define MCF_SKHA_SKKSR (*(vuint32*)(void*)(&__IPSBAR[0x1B0018]))
\r
32 #define MCF_SKHA_SKDSR (*(vuint32*)(void*)(&__IPSBAR[0x1B001C]))
\r
33 #define MCF_SKHA_SKIN (*(vuint32*)(void*)(&__IPSBAR[0x1B0020]))
\r
34 #define MCF_SKHA_SKOUT (*(vuint32*)(void*)(&__IPSBAR[0x1B0024]))
\r
35 #define MCF_SKHA_SKKDR0 (*(vuint32*)(void*)(&__IPSBAR[0x1B0030]))
\r
36 #define MCF_SKHA_SKKDR1 (*(vuint32*)(void*)(&__IPSBAR[0x1B0034]))
\r
37 #define MCF_SKHA_SKKDR2 (*(vuint32*)(void*)(&__IPSBAR[0x1B0038]))
\r
38 #define MCF_SKHA_SKKDR3 (*(vuint32*)(void*)(&__IPSBAR[0x1B003C]))
\r
39 #define MCF_SKHA_SKKDR4 (*(vuint32*)(void*)(&__IPSBAR[0x1B0040]))
\r
40 #define MCF_SKHA_SKKDR5 (*(vuint32*)(void*)(&__IPSBAR[0x1B0044]))
\r
41 #define MCF_SKHA_SKKDRn(x) (*(vuint32*)(void*)(&__IPSBAR[0x1B0030+((x)*0x004)]))
\r
42 #define MCF_SKHA_SKCR0 (*(vuint32*)(void*)(&__IPSBAR[0x1B0070]))
\r
43 #define MCF_SKHA_SKCR1 (*(vuint32*)(void*)(&__IPSBAR[0x1B0074]))
\r
44 #define MCF_SKHA_SKCR2 (*(vuint32*)(void*)(&__IPSBAR[0x1B0078]))
\r
45 #define MCF_SKHA_SKCR3 (*(vuint32*)(void*)(&__IPSBAR[0x1B007C]))
\r
46 #define MCF_SKHA_SKCR4 (*(vuint32*)(void*)(&__IPSBAR[0x1B0080]))
\r
47 #define MCF_SKHA_SKCR5 (*(vuint32*)(void*)(&__IPSBAR[0x1B0084]))
\r
48 #define MCF_SKHA_SKCR6 (*(vuint32*)(void*)(&__IPSBAR[0x1B0088]))
\r
49 #define MCF_SKHA_SKCR7 (*(vuint32*)(void*)(&__IPSBAR[0x1B008C]))
\r
50 #define MCF_SKHA_SKCR8 (*(vuint32*)(void*)(&__IPSBAR[0x1B0090]))
\r
51 #define MCF_SKHA_SKCR9 (*(vuint32*)(void*)(&__IPSBAR[0x1B0094]))
\r
52 #define MCF_SKHA_SKCR10 (*(vuint32*)(void*)(&__IPSBAR[0x1B0098]))
\r
53 #define MCF_SKHA_SKCR11 (*(vuint32*)(void*)(&__IPSBAR[0x1B009C]))
\r
54 #define MCF_SKHA_SKCRn(x) (*(vuint32*)(void*)(&__IPSBAR[0x1B0070+((x)*0x004)]))
\r
56 /* Bit definitions and macros for MCF_SKHA_SKMR */
\r
57 #define MCF_SKHA_SKMR_ALG(x) (((x)&0x00000003)<<0)
\r
58 #define MCF_SKHA_SKMR_DIR (0x00000004)
\r
59 #define MCF_SKHA_SKMR_CM(x) (((x)&0x00000003)<<3)
\r
60 #define MCF_SKHA_SKMR_DKP (0x00000100)
\r
61 #define MCF_SKHA_SKMR_CTRM(x) (((x)&0x0000000F)<<9)
\r
62 #define MCF_SKHA_SKMR_CM_ECB (0x00000000)
\r
63 #define MCF_SKHA_SKMR_CM_CBC (0x00000008)
\r
64 #define MCF_SKHA_SKMR_CM_CTR (0x00000018)
\r
65 #define MCF_SKHA_SKMR_DIR_DEC (0x00000000)
\r
66 #define MCF_SKHA_SKMR_DIR_ENC (0x00000004)
\r
67 #define MCF_SKHA_SKMR_ALG_AES (0x00000000)
\r
68 #define MCF_SKHA_SKMR_ALG_DES (0x00000001)
\r
69 #define MCF_SKHA_SKMR_ALG_TDES (0x00000002)
\r
71 /* Bit definitions and macros for MCF_SKHA_SKCR */
\r
72 #define MCF_SKHA_SKCR_IE (0x00000001)
\r
74 /* Bit definitions and macros for MCF_SKHA_SKCMR */
\r
75 #define MCF_SKHA_SKCMR_SWR (0x00000001)
\r
76 #define MCF_SKHA_SKCMR_RI (0x00000002)
\r
77 #define MCF_SKHA_SKCMR_CI (0x00000004)
\r
78 #define MCF_SKHA_SKCMR_GO (0x00000008)
\r
80 /* Bit definitions and macros for MCF_SKHA_SKSR */
\r
81 #define MCF_SKHA_SKSR_INT (0x00000001)
\r
82 #define MCF_SKHA_SKSR_DONE (0x00000002)
\r
83 #define MCF_SKHA_SKSR_ERR (0x00000004)
\r
84 #define MCF_SKHA_SKSR_RD (0x00000008)
\r
85 #define MCF_SKHA_SKSR_BUSY (0x00000010)
\r
86 #define MCF_SKHA_SKSR_IFL(x) (((x)&0x000000FF)<<16)
\r
87 #define MCF_SKHA_SKSR_OFL(x) (((x)&0x000000FF)<<24)
\r
89 /* Bit definitions and macros for MCF_SKHA_SKIR */
\r
90 #define MCF_SKHA_SKIR_IFO (0x00000001)
\r
91 #define MCF_SKHA_SKIR_OFU (0x00000002)
\r
92 #define MCF_SKHA_SKIR_NEIF (0x00000004)
\r
93 #define MCF_SKHA_SKIR_NEOF (0x00000008)
\r
94 #define MCF_SKHA_SKIR_IME (0x00000010)
\r
95 #define MCF_SKHA_SKIR_DSE (0x00000020)
\r
96 #define MCF_SKHA_SKIR_KSE (0x00000040)
\r
97 #define MCF_SKHA_SKIR_RMDP (0x00000080)
\r
98 #define MCF_SKHA_SKIR_ERE (0x00000100)
\r
99 #define MCF_SKHA_SKIR_KPE (0x00000200)
\r
100 #define MCF_SKHA_SKIR_KRE (0x00000400)
\r
102 /* Bit definitions and macros for MCF_SKHA_SKIMR */
\r
103 #define MCF_SKHA_SKIMR_IFO (0x00000001)
\r
104 #define MCF_SKHA_SKIMR_OFU (0x00000002)
\r
105 #define MCF_SKHA_SKIMR_NEIF (0x00000004)
\r
106 #define MCF_SKHA_SKIMR_NEOF (0x00000008)
\r
107 #define MCF_SKHA_SKIMR_IME (0x00000010)
\r
108 #define MCF_SKHA_SKIMR_DSE (0x00000020)
\r
109 #define MCF_SKHA_SKIMR_KSE (0x00000040)
\r
110 #define MCF_SKHA_SKIMR_RMDP (0x00000080)
\r
111 #define MCF_SKHA_SKIMR_ERE (0x00000100)
\r
112 #define MCF_SKHA_SKIMR_KPE (0x00000200)
\r
113 #define MCF_SKHA_SKIMR_KRE (0x00000400)
\r
115 /* Bit definitions and macros for MCF_SKHA_SKKSR */
\r
116 #define MCF_SKHA_SKKSR_KEYSIZE(x) (((x)&0x0000003F)<<0)
\r
118 /********************************************************************/
\r
120 #endif /* __MCF523X_SKHA_H__ */
\r