kernel: crypto: package SHA3
[openwrt/staging/mans0n.git] / package / kernel / linux / modules / crypto.mk
index 98bcb9e874701195ffc9b25c6628077079f542f0..84c4668b972d87d91b01c173a3a662e4b200b40a 100644 (file)
@@ -399,6 +399,19 @@ endef
 
 $(eval $(call KernelPackage,crypto-hw-hifn-795x))
 
+define KernelPackage/crypto-hw-ixp4xx
+  TITLE:=Intel IXP4xx crypto accelerator
+  DEPENDS:=@TARGET_ixp4xx +kmod-random-core +kmod-crypto-manager +kmod-crypto-authenc +kmod-crypto-des
+  KCONFIG:= \
+       CONFIG_CRYPTO_HW=y \
+       CONFIG_CRYPTO_DEV_IXP4XX
+  FILES:=$(LINUX_DIR)/drivers/crypto/ixp4xx_crypto.ko
+  AUTOLOAD:=$(call AutoProbe,ixp4xx_crypto)
+  $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-ixp4xx))
+
 
 define KernelPackage/crypto-hw-padlock
   TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
@@ -463,6 +476,35 @@ endef
 
 $(eval $(call KernelPackage,crypto-hw-talitos))
 
+define KernelPackage/crypto-hw-eip93
+  TITLE:=MTK EIP93 crypto module
+  DEPENDS:=@TARGET_ramips_mt7621 \
+       +kmod-crypto-authenc \
+       +kmod-crypto-des \
+       +kmod-crypto-md5 \
+       +kmod-crypto-sha1 \
+       +kmod-crypto-sha256
+  KCONFIG:= \
+       CONFIG_CRYPTO_HW=y \
+       CONFIG_CRYPTO_DEV_EIP93 \
+       CONFIG_CRYPTO_DEV_EIP93_AES=y \
+       CONFIG_CRYPTO_DEV_EIP93_DES=y \
+       CONFIG_CRYPTO_DEV_EIP93_AEAD=y \
+       CONFIG_CRYPTO_DEV_EIP93_GENERIC_SW_MAX_LEN=256 \
+       CONFIG_CRYPTO_DEV_EIP93_AES_128_SW_MAX_LEN=512
+  FILES:=$(LINUX_DIR)/drivers/crypto/mtk-eip93/crypto-hw-eip93.ko
+  AUTOLOAD:=$(call AutoLoad,09,crypto-hw-eip93)
+  $(call AddDepends/crypto)
+endef
+
+define KernelPackage/crypto-hw-eip93/description
+Kernel module to enable EIP-93 Crypto engine as found
+in the Mediatek MT7621 SoC.
+It enables DES/3DES/AES ECB/CBC/CTR and
+IPSEC offload with authenc(hmac(sha1/sha256), aes/cbc/rfc3686)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-eip93))
 
 define KernelPackage/crypto-kpp
   TITLE:=Key-agreement Protocol Primitives
@@ -494,6 +536,8 @@ define KernelPackage/crypto-lib-chacha20/arm
   FILES:=$(LINUX_DIR)/arch/arm/crypto/chacha-neon.ko
 endef
 
+KernelPackage/crypto-lib-chacha20/armeb=$(KernelPackage/crypto-lib-chacha20/arm)
+
 define KernelPackage/crypto-lib-chacha20/aarch64
   KCONFIG+=CONFIG_CRYPTO_CHACHA20_NEON
   FILES+=$(LINUX_DIR)/arch/arm64/crypto/chacha-neon.ko
@@ -587,6 +631,8 @@ define KernelPackage/crypto-lib-poly1305/arm
   FILES:=$(LINUX_DIR)/arch/arm/crypto/poly1305-arm.ko
 endef
 
+KernelPackage/crypto-lib-poly1305/armeb=$(KernelPackage/crypto-lib-poly1305/arm)
+
 define KernelPackage/crypto-lib-poly1305/aarch64
   KCONFIG+=CONFIG_CRYPTO_POLY1305_NEON
   FILES:=$(LINUX_DIR)/arch/arm64/crypto/poly1305-neon.ko
@@ -704,7 +750,6 @@ define KernelPackage/crypto-misc
        CONFIG_CRYPTO_KHAZAD \
        CONFIG_CRYPTO_SERPENT \
        CONFIG_CRYPTO_TEA \
-       CONFIG_CRYPTO_TGR192@lt5.12 \
        CONFIG_CRYPTO_TWOFISH \
        CONFIG_CRYPTO_TWOFISH_COMMON \
        CONFIG_CRYPTO_TWOFISH_586 \
@@ -717,7 +762,6 @@ define KernelPackage/crypto-misc
        $(LINUX_DIR)/crypto/cast6_generic.ko \
        $(LINUX_DIR)/crypto/khazad.ko \
        $(LINUX_DIR)/crypto/tea.ko \
-       $(LINUX_DIR)/crypto/tgr192.ko@lt5.12 \
        $(LINUX_DIR)/crypto/twofish_common.ko \
        $(LINUX_DIR)/crypto/wp512.ko \
        $(LINUX_DIR)/crypto/twofish_generic.ko \
@@ -725,7 +769,7 @@ define KernelPackage/crypto-misc
        $(LINUX_DIR)/crypto/blowfish_generic.ko \
        $(LINUX_DIR)/crypto/serpent_generic.ko
   AUTOLOAD:=$(call AutoLoad,10,anubis camellia_generic cast_common \
-       cast5_generic cast6_generic khazad tea tgr192@lt5.12 twofish_common \
+       cast5_generic cast6_generic khazad tea twofish_common \
        wp512 blowfish_common serpent_generic)
   ifndef CONFIG_TARGET_x86
        AUTOLOAD+= $(call AutoLoad,10,twofish_generic blowfish_generic)
@@ -738,10 +782,9 @@ ifndef CONFIG_TARGET_x86_64
     FILES+= \
        $(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko \
        $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-i586.ko \
-       $(LINUX_DIR)/arch/x86/crypto/glue_helper.ko@lt5.12 \
        $(LINUX_DIR)/crypto/cryptd.ko \
        $(LINUX_DIR)/crypto/crypto_simd.ko
-    AUTOLOAD+= $(call AutoLoad,10,cryptd glue_helper@lt5.12 \
+    AUTOLOAD+= $(call AutoLoad,10,cryptd \
        serpent-sse2-i586 twofish-i586 blowfish_generic)
   endef
 endif
@@ -827,9 +870,7 @@ $(eval $(call KernelPackage,crypto-rmd160))
 
 define KernelPackage/crypto-rng
   TITLE:=CryptoAPI random number generation
-  DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac \
-               +LINUX_5_10:kmod-crypto-sha256 \
-               +LINUX_5_15:kmod-crypto-sha512
+  DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha512
   KCONFIG:= \
        CONFIG_CRYPTO_DRBG \
        CONFIG_CRYPTO_DRBG_HMAC=y \
@@ -902,10 +943,12 @@ define KernelPackage/crypto-sha1/mpc85xx
   AUTOLOAD+=$(call AutoLoad,09,sha1-ppc-spe)
 endef
 
+ifndef CONFIG_TARGET_uml
 define KernelPackage/crypto-sha1/x86_64
   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko
   AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3)
 endef
+endif
 
 ifdef KernelPackage/crypto-sha1/$(ARCH)
   KernelPackage/crypto-sha1/$(CRYPTO_TARGET)=\
@@ -915,6 +958,18 @@ endif
 $(eval $(call KernelPackage,crypto-sha1))
 
 
+define KernelPackage/crypto-sha3
+  TITLE:=SHA3 digest CryptoAPI module
+  DEPENDS:=+kmod-crypto-hash
+  KCONFIG:= CONFIG_CRYPTO_SHA3
+  FILES:=$(LINUX_DIR)/crypto/sha3_generic.ko
+  AUTOLOAD:=$(call AutoLoad,09,sha3_generic)
+  $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-sha3))
+
+
 define KernelPackage/crypto-sha256
   TITLE:=SHA224 SHA256 digest CryptoAPI module
   DEPENDS:=+kmod-crypto-hash
@@ -940,10 +995,12 @@ define KernelPackage/crypto-sha256/mpc85xx
   AUTOLOAD+=$(call AutoLoad,09,sha256-ppc-spe)
 endef
 
+ifndef CONFIG_TARGET_uml
 define KernelPackage/crypto-sha256/x86_64
   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko
   AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3)
 endef
+endif
 
 ifdef KernelPackage/crypto-sha256/$(ARCH)
   KernelPackage/crypto-sha256/$(CRYPTO_TARGET)=\
@@ -982,10 +1039,12 @@ endef
 
 KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm)
 
+ifndef CONFIG_TARGET_uml
 define KernelPackage/crypto-sha512/x86_64
   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko
   AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3)
 endef
+endif
 
 ifdef KernelPackage/crypto-sha512/$(ARCH)
   KernelPackage/crypto-sha512/$(CRYPTO_TARGET)=\