summaryrefslogtreecommitdiff
path: root/components/drivers/hwcrypto/Kconfig
blob: 375ba6a56446f34a880dbca2675a5dc5f81fb523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
menuconfig RT_USING_HWCRYPTO
        bool "Using Hardware Crypto drivers"
        default n

    if RT_USING_HWCRYPTO
        config RT_HWCRYPTO_DEFAULT_NAME
            string "Hardware crypto device name"
            default "hwcryto"

        config RT_HWCRYPTO_IV_MAX_SIZE
            int "IV max size"
            default "16"

        config RT_HWCRYPTO_KEYBIT_MAX_SIZE
            int "Key max bit length"
            default 256

        config RT_HWCRYPTO_USING_GCM
            bool "Using Hardware GCM"
            default n

        config RT_HWCRYPTO_USING_AES
            bool "Using Hardware AES"
            default n

        if RT_HWCRYPTO_USING_AES
            config RT_HWCRYPTO_USING_AES_ECB
                bool "Using Hardware AES ECB mode"
                default y

            config RT_HWCRYPTO_USING_AES_CBC
                bool "Using Hardware AES CBC mode"
                default n

            config RT_HWCRYPTO_USING_AES_CFB
                bool "Using Hardware AES CFB mode"
                default n

            config RT_HWCRYPTO_USING_AES_CTR
                bool "Using Hardware AES CTR mode"
                default n

            config RT_HWCRYPTO_USING_AES_OFB
                bool "Using Hardware AES OFB mode"
                default n
        endif

        config RT_HWCRYPTO_USING_DES
            bool "Using Hardware DES"
            default n

        if RT_HWCRYPTO_USING_DES
            config RT_HWCRYPTO_USING_DES_ECB
                bool "Using Hardware DES ECB mode"
                default y

            config RT_HWCRYPTO_USING_DES_CBC
                bool "Using Hardware DES CBC mode"
                default n
        endif

        config RT_HWCRYPTO_USING_3DES
            bool "Using Hardware 3DES"
            default n

        if RT_HWCRYPTO_USING_3DES
            config RT_HWCRYPTO_USING_3DES_ECB
                bool "Using Hardware 3DES ECB mode"
                default y

            config RT_HWCRYPTO_USING_3DES_CBC
                bool "Using Hardware 3DES CBC mode"
                default n
        endif

        config RT_HWCRYPTO_USING_RC4
            bool "Using Hardware RC4"
            default n

        config RT_HWCRYPTO_USING_MD5
            bool "Using Hardware MD5"
            default n

        config RT_HWCRYPTO_USING_SHA1
            bool "Using Hardware SHA1"
            default n

        config RT_HWCRYPTO_USING_SHA2
            bool "Using Hardware SHA2"
            default n

        if RT_HWCRYPTO_USING_SHA2
            config RT_HWCRYPTO_USING_SHA2_224
                bool "Using Hardware SHA2_224 mode"
                default n

            config RT_HWCRYPTO_USING_SHA2_256
                bool "Using Hardware SHA2_256 mode"
                default y

            config RT_HWCRYPTO_USING_SHA2_384
                bool "Using Hardware SHA2_384 mode"
                default n

            config RT_HWCRYPTO_USING_SHA2_512
                bool "Using Hardware SHA2_512 mode"
                default n
        endif

        config RT_HWCRYPTO_USING_RNG
            bool "Using Hardware RNG"
            default n

        config RT_HWCRYPTO_USING_CRC
            bool "Using Hardware CRC"
            default n

        if RT_HWCRYPTO_USING_CRC
            config RT_HWCRYPTO_USING_CRC_07
                bool "Using Hardware CRC-8 0x07 polynomial"
                default n

            config RT_HWCRYPTO_USING_CRC_8005
                bool "Using Hardware CRC-16 0x8005 polynomial"
                default n

            config RT_HWCRYPTO_USING_CRC_1021
                bool "Using Hardware CRC-16 0x1021 polynomial"
                default n

            config RT_HWCRYPTO_USING_CRC_3D65
                bool "Using Hardware CRC-16 0x3D65 polynomial"
                default n

            config RT_HWCRYPTO_USING_CRC_04C11DB7
                bool "Using Hardware CRC-32 0x04C11DB7 polynomial"
                default n
        endif

        config RT_HWCRYPTO_USING_BIGNUM
            bool "Using Hardware bignum"
            default n

        if RT_HWCRYPTO_USING_BIGNUM
            config RT_HWCRYPTO_USING_BIGNUM_EXPTMOD
                bool "Using Hardware bignum expt_mod operation"
                default y

            config RT_HWCRYPTO_USING_BIGNUM_MULMOD
                bool "Using Hardware bignum mul_mod operation"
                default y

            config RT_HWCRYPTO_USING_BIGNUM_MUL
                bool "Using Hardware bignum mul operation"
                default n

            config RT_HWCRYPTO_USING_BIGNUM_ADD
                bool "Using Hardware bignum add operation"
                default n

            config RT_HWCRYPTO_USING_BIGNUM_SUB
                bool "Using Hardware bignum sub operation"
                default n
        endif
    endif

if RT_USING_DM && RT_USING_HWCRYPTO
    osource "$(SOC_DM_HWCRYPTO_DIR)/Kconfig"
endif