1#
2# Copyright (C) 2006-2011 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8CRYPTO_MENU:=Cryptographic API modules
9
10CRYPTO_MODULES = \
11	ALGAPI2=crypto_algapi \
12	BLKCIPHER2=crypto_blkcipher
13
14crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1)))
15crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko
16crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 2,$(subst =,$(space),$(1))))
17
18define AddDepends/crypto
19  SUBMENU:=$(CRYPTO_MENU)
20  DEPENDS+= $(1)
21endef
22
23define KernelPackage/crypto-aead
24  TITLE:=CryptoAPI AEAD support
25  KCONFIG:= \
26	CONFIG_CRYPTO_AEAD \
27	CONFIG_CRYPTO_AEAD2
28  FILES:=$(LINUX_DIR)/crypto/aead.ko
29  AUTOLOAD:=$(call AutoLoad,09,aead,1)
30  $(call AddDepends/crypto, +LINUX_4_4:kmod-crypto-null)
31endef
32
33$(eval $(call KernelPackage,crypto-aead))
34
35
36define KernelPackage/crypto-hash
37  TITLE:=CryptoAPI hash support
38  KCONFIG:=CONFIG_CRYPTO_HASH
39  FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko
40  AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1)
41  $(call AddDepends/crypto)
42endef
43
44$(eval $(call KernelPackage,crypto-hash))
45
46
47define KernelPackage/crypto-manager
48  TITLE:=CryptoAPI algorithm manager
49  DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress
50  KCONFIG:= \
51	CONFIG_CRYPTO_MANAGER \
52	CONFIG_CRYPTO_MANAGER2
53  FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko
54  AUTOLOAD:=$(call AutoLoad,09,cryptomgr,1)
55  $(call AddDepends/crypto)
56endef
57
58$(eval $(call KernelPackage,crypto-manager))
59
60
61define KernelPackage/crypto-pcompress
62  TITLE:=CryptoAPI Partial (de)compression operations
63  KCONFIG:= \
64	CONFIG_CRYPTO_PCOMP=y \
65	CONFIG_CRYPTO_PCOMP2
66  FILES:=$(LINUX_DIR)/crypto/pcompress.ko
67  AUTOLOAD:=$(call AutoLoad,09,pcompress)
68  $(call AddDepends/crypto)
69endef
70
71$(eval $(call KernelPackage,crypto-pcompress))
72
73
74define KernelPackage/crypto-user
75  TITLE:=CryptoAPI userspace interface
76  DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
77  KCONFIG:= \
78	CONFIG_CRYPTO_USER_API \
79	CONFIG_CRYPTO_USER_API_HASH \
80	CONFIG_CRYPTO_USER_API_SKCIPHER
81  FILES:= \
82	$(LINUX_DIR)/crypto/af_alg.ko \
83	$(LINUX_DIR)/crypto/algif_hash.ko \
84	$(LINUX_DIR)/crypto/algif_skcipher.ko
85  AUTOLOAD:=$(call AutoLoad,09,af_alg algif_hash algif_skcipher)
86  $(call AddDepends/crypto)
87endef
88
89$(eval $(call KernelPackage,crypto-user))
90
91
92define KernelPackage/crypto-wq
93  TITLE:=CryptoAPI work queue handling
94  KCONFIG:=CONFIG_CRYPTO_WORKQUEUE
95  FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko
96  AUTOLOAD:=$(call AutoLoad,09,crypto_wq)
97  $(call AddDepends/crypto)
98endef
99$(eval $(call KernelPackage,crypto-wq))
100
101define KernelPackage/crypto-rng
102  TITLE:=CryptoAPI random number generation
103  DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256
104  KCONFIG:= \
105	CONFIG_CRYPTO_DRBG \
106	CONFIG_CRYPTO_DRBG_HMAC=y \
107	CONFIG_CRYPTO_DRBG_HASH=n \
108	CONFIG_CRYPTO_DRBG_MENU \
109	CONFIG_CRYPTO_JITTERENTROPY \
110	CONFIG_CRYPTO_RNG2
111  FILES:= \
112	$(LINUX_DIR)/crypto/drbg.ko@ge4.2 \
113	$(LINUX_DIR)/crypto/jitterentropy_rng.ko@ge4.2 \
114	$(LINUX_DIR)/crypto/krng.ko@lt4.2 \
115	$(LINUX_DIR)/crypto/rng.ko
116  AUTOLOAD:=$(call AutoLoad,09,drbg@ge4.2 jitterentropy_rng@ge4.2 krng@lt4.2 rng)
117  $(call AddDepends/crypto)
118endef
119
120$(eval $(call KernelPackage,crypto-rng))
121
122
123define KernelPackage/crypto-iv
124  TITLE:=CryptoAPI initialization vectors
125  DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq
126  KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2
127  FILES:= \
128	$(LINUX_DIR)/crypto/eseqiv.ko@lt4.8 \
129	$(LINUX_DIR)/crypto/chainiv.ko@lt4.8
130  AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv)
131  $(call AddDepends/crypto)
132endef
133
134$(eval $(call KernelPackage,crypto-iv))
135
136
137define KernelPackage/crypto-echainiv
138  TITLE:=Encrypted Chain IV Generator
139  DEPENDS:=+kmod-crypto-aead
140  KCONFIG:=CONFIG_CRYPTO_ECHAINIV
141  FILES:=$(LINUX_DIR)/crypto/echainiv.ko
142  AUTOLOAD:=$(call AutoLoad,09,echainiv)
143  $(call AddDepends/crypto)
144endef
145
146$(eval $(call KernelPackage,crypto-echainiv))
147
148
149define KernelPackage/crypto-seqiv
150  TITLE:=CryptoAPI Sequence Number IV Generator
151  DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng
152  KCONFIG:=CONFIG_CRYPTO_SEQIV
153  FILES:=$(LINUX_DIR)/crypto/seqiv.ko
154  AUTOLOAD:=$(call AutoLoad,09,seqiv)
155  $(call AddDepends/crypto)
156endef
157
158$(eval $(call KernelPackage,crypto-seqiv))
159
160
161define KernelPackage/crypto-hw-caam
162  TITLE:=Freescale CAAM driver (SEC4)
163  DEPENDS:=@TARGET_imx6||TARGET_mpc85xx +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-hash +kmod-random-core
164  KCONFIG:= \
165	CONFIG_CRYPTO_HW=y \
166	CONFIG_CRYPTO_DEV_FSL_CAAM \
167	CONFIG_CRYPTO_DEV_FSL_CAAM_JR \
168	CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API \
169	CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API \
170	CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API \
171	CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 \
172	CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=n \
173	CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG=n
174  FILES:= \
175	$(LINUX_DIR)/drivers/crypto/caam/caam.ko \
176	$(LINUX_DIR)/drivers/crypto/caam/caamalg.ko \
177	$(LINUX_DIR)/drivers/crypto/caam/caamhash.ko \
178	$(LINUX_DIR)/drivers/crypto/caam/caam_jr.ko \
179	$(LINUX_DIR)/drivers/crypto/caam/caamrng.ko
180  AUTOLOAD:=$(call AutoLoad,09,caam caamalg caamhash caam_jr caamrng)
181  $(call AddDepends/crypto)
182endef
183
184$(eval $(call KernelPackage,crypto-hw-caam))
185
186
187define KernelPackage/crypto-hw-talitos
188  TITLE:=Freescale integrated security engine (SEC) driver
189  DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc
190  KCONFIG:= \
191	CONFIG_CRYPTO_HW=y \
192	CONFIG_CRYPTO_DEV_TALITOS \
193	CONFIG_CRYPTO_DEV_TALITOS1=y \
194	CONFIG_CRYPTO_DEV_TALITOS2=y
195  FILES:= \
196	$(LINUX_DIR)/drivers/crypto/talitos.ko
197  AUTOLOAD:=$(call AutoLoad,09,talitos)
198  $(call AddDepends/crypto)
199endef
200
201$(eval $(call KernelPackage,crypto-hw-talitos))
202
203
204define KernelPackage/crypto-hw-padlock
205  TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
206  DEPENDS:=+kmod-crypto-manager
207  KCONFIG:= \
208	CONFIG_CRYPTO_HW=y \
209	CONFIG_CRYPTO_DEV_PADLOCK \
210	CONFIG_CRYPTO_DEV_PADLOCK_AES \
211	CONFIG_CRYPTO_DEV_PADLOCK_SHA
212  FILES:= \
213	$(LINUX_DIR)/drivers/crypto/padlock-aes.ko \
214	$(LINUX_DIR)/drivers/crypto/padlock-sha.ko
215  AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha)
216  $(call AddDepends/crypto)
217endef
218
219$(eval $(call KernelPackage,crypto-hw-padlock))
220
221
222define KernelPackage/crypto-hw-ccp
223  TITLE:=AMD Cryptographic Coprocessor
224  DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash +kmod-crypto-manager +kmod-random-core
225  KCONFIG:= \
226	CONFIG_CRYPTO_HW=y \
227	CONFIG_CRYPTO_DEV_CCP=y \
228	CONFIG_CRYPTO_DEV_CCP_CRYPTO \
229	CONFIG_CRYPTO_DEV_CCP_DD
230  FILES:= \
231	$(LINUX_DIR)/drivers/crypto/ccp/ccp.ko \
232	$(LINUX_DIR)/drivers/crypto/ccp/ccp-crypto.ko
233  AUTOLOAD:=$(call AutoLoad,09,ccp ccp-crypto)
234  $(call AddDepends/crypto)
235endef
236
237$(eval $(call KernelPackage,crypto-hw-ccp))
238
239
240define KernelPackage/crypto-hw-geode
241  TITLE:=AMD Geode hardware crypto module
242  DEPENDS:=+kmod-crypto-manager
243  KCONFIG:= \
244	CONFIG_CRYPTO_HW=y \
245	CONFIG_CRYPTO_DEV_GEODE
246  FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko
247  AUTOLOAD:=$(call AutoLoad,09,geode-aes)
248  $(call AddDepends/crypto)
249endef
250
251$(eval $(call KernelPackage,crypto-hw-geode))
252
253
254define KernelPackage/crypto-hw-hifn-795x
255  TITLE:=HIFN 795x crypto accelerator
256  DEPENDS:=+kmod-random-core +kmod-crypto-manager
257  KCONFIG:= \
258	CONFIG_CRYPTO_HW=y \
259	CONFIG_CRYPTO_DEV_HIFN_795X \
260	CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
261  FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko
262  AUTOLOAD:=$(call AutoLoad,09,hifn_795x)
263  $(call AddDepends/crypto,+kmod-crypto-des)
264endef
265
266$(eval $(call KernelPackage,crypto-hw-hifn-795x))
267
268
269define KernelPackage/crypto-hw-ppc4xx
270  TITLE:=AMCC PPC4xx hardware crypto module
271  DEPENDS:=@TARGET_ppc40x||TARGET_ppc44x
272  KCONFIG:= \
273	CONFIG_CRYPTO_HW=y \
274	CONFIG_CRYPTO_DEV_PPC4XX
275  FILES:=$(LINUX_DIR)/drivers/crypto/amcc/crypto4xx.ko
276  AUTOLOAD:=$(call AutoLoad,90,crypto4xx)
277  $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash)
278endef
279
280define KernelPackage/crypto-hw-ppc4xx/description
281  Kernel support for the AMCC PPC4xx HW crypto engine.
282endef
283
284$(eval $(call KernelPackage,crypto-hw-ppc4xx))
285
286
287define KernelPackage/crypto-hw-omap
288  TITLE:=TI OMAP hardware crypto modules
289  DEPENDS:=@TARGET_omap
290  KCONFIG:= \
291	CONFIG_CRYPTO_HW=y \
292	CONFIG_CRYPTO_DEV_OMAP_AES \
293	CONFIG_CRYPTO_DEV_OMAP_DES \
294	CONFIG_CRYPTO_DEV_OMAP_SHAM
295ifneq ($(wildcard $(LINUX_DIR)/drivers/crypto/omap-des.ko),)
296  FILES:= \
297	$(LINUX_DIR)/drivers/crypto/omap-aes.ko \
298	$(LINUX_DIR)/drivers/crypto/omap-des.ko \
299	$(LINUX_DIR)/drivers/crypto/omap-sham.ko
300  AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-des omap-sham)
301else
302  FILES:= \
303	$(LINUX_DIR)/drivers/crypto/omap-aes.ko \
304	$(LINUX_DIR)/drivers/crypto/omap-sham.ko
305  AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-sham)
306endif
307  $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash)
308endef
309
310define KernelPackage/crypto-hw-omap/description
311  Kernel support for the TI OMAP HW crypto engine.
312endef
313
314$(eval $(call KernelPackage,crypto-hw-omap))
315
316
317define KernelPackage/crypto-authenc
318  TITLE:=Combined mode wrapper for IPsec
319  DEPENDS:=+kmod-crypto-manager +LINUX_4_4:kmod-crypto-null
320  KCONFIG:=CONFIG_CRYPTO_AUTHENC
321  FILES:=$(LINUX_DIR)/crypto/authenc.ko
322  AUTOLOAD:=$(call AutoLoad,09,authenc)
323  $(call AddDepends/crypto)
324endef
325
326$(eval $(call KernelPackage,crypto-authenc))
327
328define KernelPackage/crypto-cbc
329  TITLE:=Cipher Block Chaining CryptoAPI module
330  DEPENDS:=+kmod-crypto-manager
331  KCONFIG:=CONFIG_CRYPTO_CBC
332  FILES:=$(LINUX_DIR)/crypto/cbc.ko
333  AUTOLOAD:=$(call AutoLoad,09,cbc)
334  $(call AddDepends/crypto)
335endef
336
337$(eval $(call KernelPackage,crypto-cbc))
338
339define KernelPackage/crypto-ctr
340  TITLE:=Counter Mode CryptoAPI module
341  DEPENDS:=+kmod-crypto-manager +kmod-crypto-seqiv +kmod-crypto-iv
342  KCONFIG:=CONFIG_CRYPTO_CTR
343  FILES:=$(LINUX_DIR)/crypto/ctr.ko
344  AUTOLOAD:=$(call AutoLoad,09,ctr)
345  $(call AddDepends/crypto)
346endef
347
348$(eval $(call KernelPackage,crypto-ctr))
349
350define KernelPackage/crypto-ccm
351 TITLE:=Support for Counter with CBC MAC (CCM)
352 DEPENDS:=+kmod-crypto-ctr +kmod-crypto-aead
353 KCONFIG:=CONFIG_CRYPTO_CCM
354 FILES:=$(LINUX_DIR)/crypto/ccm.ko
355 AUTOLOAD:=$(call AutoLoad,09,ccm)
356 $(call AddDepends/crypto)
357endef
358
359$(eval $(call KernelPackage,crypto-ccm))
360
361define KernelPackage/crypto-pcbc
362  TITLE:=Propagating Cipher Block Chaining CryptoAPI module
363  DEPENDS:=+kmod-crypto-manager
364  KCONFIG:=CONFIG_CRYPTO_PCBC
365  FILES:=$(LINUX_DIR)/crypto/pcbc.ko
366  AUTOLOAD:=$(call AutoLoad,09,pcbc)
367  $(call AddDepends/crypto)
368endef
369
370$(eval $(call KernelPackage,crypto-pcbc))
371
372define KernelPackage/crypto-crc32c
373  TITLE:=CRC32c CRC module
374  DEPENDS:=+kmod-crypto-hash
375  KCONFIG:=CONFIG_CRYPTO_CRC32C
376  FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko
377  AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1)
378  $(call AddDepends/crypto)
379endef
380
381$(eval $(call KernelPackage,crypto-crc32c))
382
383
384define KernelPackage/crypto-des
385  TITLE:=DES/3DES cipher CryptoAPI module
386  KCONFIG:=CONFIG_CRYPTO_DES
387  FILES:=$(LINUX_DIR)/crypto/des_generic.ko
388  AUTOLOAD:=$(call AutoLoad,09,des_generic)
389  $(call AddDepends/crypto)
390endef
391
392$(eval $(call KernelPackage,crypto-des))
393
394
395define KernelPackage/crypto-deflate
396  TITLE:=Deflate compression CryptoAPI module
397  DEPENDS:=+kmod-lib-zlib
398  KCONFIG:=CONFIG_CRYPTO_DEFLATE
399  FILES:=$(LINUX_DIR)/crypto/deflate.ko
400  AUTOLOAD:=$(call AutoLoad,09,deflate)
401  $(call AddDepends/crypto)
402endef
403
404$(eval $(call KernelPackage,crypto-deflate))
405
406
407define KernelPackage/crypto-fcrypt
408  TITLE:=FCRYPT cipher CryptoAPI module
409  KCONFIG:=CONFIG_CRYPTO_FCRYPT
410  FILES:=$(LINUX_DIR)/crypto/fcrypt.ko
411  AUTOLOAD:=$(call AutoLoad,09,fcrypt)
412  $(call AddDepends/crypto)
413endef
414
415$(eval $(call KernelPackage,crypto-fcrypt))
416
417define KernelPackage/crypto-ecb
418  TITLE:=Electronic CodeBook CryptoAPI module
419  DEPENDS:=+kmod-crypto-manager
420  KCONFIG:=CONFIG_CRYPTO_ECB
421  FILES:=$(LINUX_DIR)/crypto/ecb.ko
422  AUTOLOAD:=$(call AutoLoad,09,ecb)
423  $(call AddDepends/crypto)
424endef
425
426$(eval $(call KernelPackage,crypto-ecb))
427
428
429define KernelPackage/crypto-hmac
430  TITLE:=HMAC digest CryptoAPI module
431  DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
432  KCONFIG:=CONFIG_CRYPTO_HMAC
433  FILES:=$(LINUX_DIR)/crypto/hmac.ko
434  AUTOLOAD:=$(call AutoLoad,09,hmac)
435  $(call AddDepends/crypto)
436endef
437
438$(eval $(call KernelPackage,crypto-hmac))
439
440
441define KernelPackage/crypto-cmac
442  TITLE:=Support for Cipher-based Message Authentication Code (CMAC)
443  DEPENDS:=+kmod-crypto-hash
444  KCONFIG:=CONFIG_CRYPTO_CMAC
445  FILES:=$(LINUX_DIR)/crypto/cmac.ko
446  AUTOLOAD:=$(call AutoLoad,09,cmac)
447  $(call AddDepends/crypto)
448endef
449
450$(eval $(call KernelPackage,crypto-cmac))
451
452
453define KernelPackage/crypto-gcm
454  TITLE:=GCM/GMAC CryptoAPI module
455  DEPENDS:=+kmod-crypto-ctr +kmod-crypto-ghash +kmod-crypto-null
456  KCONFIG:=CONFIG_CRYPTO_GCM
457  FILES:=$(LINUX_DIR)/crypto/gcm.ko
458  AUTOLOAD:=$(call AutoLoad,09,gcm)
459  $(call AddDepends/crypto)
460endef
461
462$(eval $(call KernelPackage,crypto-gcm))
463
464
465define KernelPackage/crypto-gf128
466  TITLE:=GF(2^128) multiplication functions CryptoAPI module
467  KCONFIG:=CONFIG_CRYPTO_GF128MUL
468  FILES:=$(LINUX_DIR)/crypto/gf128mul.ko
469  AUTOLOAD:=$(call AutoLoad,09,gf128mul)
470  $(call AddDepends/crypto)
471endef
472
473$(eval $(call KernelPackage,crypto-gf128))
474
475
476define KernelPackage/crypto-ghash
477  TITLE:=GHASH digest CryptoAPI module
478  DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash
479  KCONFIG:=CONFIG_CRYPTO_GHASH
480  FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko
481  AUTOLOAD:=$(call AutoLoad,09,ghash-generic)
482  $(call AddDepends/crypto)
483endef
484
485$(eval $(call KernelPackage,crypto-ghash))
486
487
488define KernelPackage/crypto-md4
489  TITLE:=MD4 digest CryptoAPI module
490  DEPENDS:=+kmod-crypto-hash
491  KCONFIG:=CONFIG_CRYPTO_MD4
492  FILES:=$(LINUX_DIR)/crypto/md4.ko
493  AUTOLOAD:=$(call AutoLoad,09,md4)
494  $(call AddDepends/crypto)
495endef
496
497$(eval $(call KernelPackage,crypto-md4))
498
499
500define KernelPackage/crypto-md5
501  TITLE:=MD5 digest CryptoAPI module
502  DEPENDS:=+kmod-crypto-hash
503  KCONFIG:= \
504	CONFIG_CRYPTO_MD5 \
505	CONFIG_CRYPTO_MD5_OCTEON
506  FILES:=$(LINUX_DIR)/crypto/md5.ko
507  AUTOLOAD:=$(call AutoLoad,09,md5)
508  $(call AddDepends/crypto)
509endef
510
511define KernelPackage/crypto-md5/octeon
512  FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-md5.ko
513  AUTOLOAD:=$(call AutoLoad,09,octeon-md5)
514endef
515
516$(eval $(call KernelPackage,crypto-md5))
517
518
519define KernelPackage/crypto-michael-mic
520  TITLE:=Michael MIC keyed digest CryptoAPI module
521  DEPENDS:=+kmod-crypto-hash
522  KCONFIG:=CONFIG_CRYPTO_MICHAEL_MIC
523  FILES:=$(LINUX_DIR)/crypto/michael_mic.ko
524  AUTOLOAD:=$(call AutoLoad,09,michael_mic)
525  $(call AddDepends/crypto)
526endef
527
528$(eval $(call KernelPackage,crypto-michael-mic))
529
530
531define KernelPackage/crypto-sha1
532  TITLE:=SHA1 digest CryptoAPI module
533  DEPENDS:=+kmod-crypto-hash
534  KCONFIG:= \
535	CONFIG_CRYPTO_SHA1 \
536	CONFIG_CRYPTO_SHA1_OCTEON
537  FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko
538  AUTOLOAD:=$(call AutoLoad,09,sha1_generic)
539  $(call AddDepends/crypto)
540endef
541
542define KernelPackage/crypto-sha1/octeon
543  FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
544  AUTOLOAD:=$(call AutoLoad,09,octeon-sha1)
545endef
546
547$(eval $(call KernelPackage,crypto-sha1))
548
549
550define KernelPackage/crypto-sha256
551  TITLE:=SHA224 SHA256 digest CryptoAPI module
552  DEPENDS:=+kmod-crypto-hash
553  KCONFIG:= \
554	CONFIG_CRYPTO_SHA256 \
555	CONFIG_CRYPTO_SHA256_OCTEON
556  FILES:=$(LINUX_DIR)/crypto/sha256_generic.ko
557  AUTOLOAD:=$(call AutoLoad,09,sha256_generic)
558  $(call AddDepends/crypto)
559endef
560
561define KernelPackage/crypto-sha256/octeon
562  FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
563  AUTOLOAD:=$(call AutoLoad,09,octeon-sha256)
564endef
565
566$(eval $(call KernelPackage,crypto-sha256))
567
568
569define KernelPackage/crypto-sha512
570  TITLE:=SHA512 digest CryptoAPI module
571  DEPENDS:=+kmod-crypto-hash
572  KCONFIG:= \
573	CONFIG_CRYPTO_SHA512 \
574	CONFIG_CRYPTO_SHA512_OCTEON
575  FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko
576  AUTOLOAD:=$(call AutoLoad,09,sha512_generic)
577  $(call AddDepends/crypto)
578endef
579
580define KernelPackage/crypto-sha512/octeon
581  FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha512.ko
582  AUTOLOAD:=$(call AutoLoad,09,octeon-sha512)
583endef
584
585$(eval $(call KernelPackage,crypto-sha512))
586
587
588define KernelPackage/crypto-misc
589  TITLE:=Other CryptoAPI modules
590  DEPENDS:=+kmod-crypto-manager
591  KCONFIG:= \
592	CONFIG_CRYPTO_ANUBIS \
593	CONFIG_CRYPTO_BLOWFISH \
594	CONFIG_CRYPTO_CAMELLIA \
595	CONFIG_CRYPTO_CAST5 \
596	CONFIG_CRYPTO_CAST6 \
597	CONFIG_CRYPTO_FCRYPT \
598	CONFIG_CRYPTO_KHAZAD \
599	CONFIG_CRYPTO_SERPENT \
600	CONFIG_CRYPTO_TEA \
601	CONFIG_CRYPTO_TGR192 \
602	CONFIG_CRYPTO_TWOFISH \
603	CONFIG_CRYPTO_TWOFISH_COMMON \
604	CONFIG_CRYPTO_TWOFISH_586 \
605	CONFIG_CRYPTO_WP512
606  FILES:= \
607	$(LINUX_DIR)/crypto/anubis.ko \
608	$(LINUX_DIR)/crypto/camellia_generic.ko \
609	$(LINUX_DIR)/crypto/cast_common.ko \
610	$(LINUX_DIR)/crypto/cast5_generic.ko \
611	$(LINUX_DIR)/crypto/cast6_generic.ko \
612	$(LINUX_DIR)/crypto/khazad.ko \
613	$(LINUX_DIR)/crypto/tea.ko \
614	$(LINUX_DIR)/crypto/tgr192.ko \
615	$(LINUX_DIR)/crypto/twofish_common.ko \
616	$(LINUX_DIR)/crypto/wp512.ko \
617	$(LINUX_DIR)/crypto/twofish_generic.ko \
618	$(LINUX_DIR)/crypto/blowfish_common.ko \
619	$(LINUX_DIR)/crypto/blowfish_generic.ko \
620	$(LINUX_DIR)/crypto/serpent_generic.ko
621  $(call AddDepends/crypto)
622endef
623
624ifndef CONFIG_TARGET_x86_64
625  define KernelPackage/crypto-misc/x86
626    FILES+=$(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko
627  endef
628endif
629
630$(eval $(call KernelPackage,crypto-misc))
631
632
633define KernelPackage/crypto-null
634  TITLE:=Null CryptoAPI module
635  KCONFIG:=CONFIG_CRYPTO_NULL
636  FILES:=$(LINUX_DIR)/crypto/crypto_null.ko
637  AUTOLOAD:=$(call AutoLoad,09,crypto_null)
638  $(call AddDepends/crypto, +kmod-crypto-hash)
639endef
640
641$(eval $(call KernelPackage,crypto-null))
642
643
644define KernelPackage/crypto-test
645  TITLE:=Test CryptoAPI module
646  KCONFIG:=CONFIG_CRYPTO_TEST
647  FILES:=$(LINUX_DIR)/crypto/tcrypt.ko
648  $(call AddDepends/crypto,+kmod-crypto-manager)
649endef
650
651$(eval $(call KernelPackage,crypto-test))
652
653
654define KernelPackage/crypto-xts
655  TITLE:=XTS cipher CryptoAPI module
656  DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-manager
657  KCONFIG:=CONFIG_CRYPTO_XTS
658  FILES:=$(LINUX_DIR)/crypto/xts.ko
659  AUTOLOAD:=$(call AutoLoad,09,xts)
660  $(call AddDepends/crypto)
661endef
662
663$(eval $(call KernelPackage,crypto-xts))
664
665
666define KernelPackage/crypto-mv-cesa
667  TITLE:=Marvell crypto engine
668  DEPENDS:=+kmod-crypto-manager @TARGET_kirkwood||TARGET_orion
669  KCONFIG:=CONFIG_CRYPTO_DEV_MV_CESA
670  FILES:=$(LINUX_DIR)/drivers/crypto/mv_cesa.ko
671  AUTOLOAD:=$(call AutoLoad,09,mv_cesa)
672  $(call AddDepends/crypto)
673endef
674
675$(eval $(call KernelPackage,crypto-mv-cesa))
676