$(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
$(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
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
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
CONFIG_CRYPTO_SHA1 \
CONFIG_CRYPTO_SHA1_ARM \
CONFIG_CRYPTO_SHA1_ARM_NEON \
+ CONFIG_CRYPTO_SHA1_ARM64_CE \
CONFIG_CRYPTO_SHA1_OCTEON \
CONFIG_CRYPTO_SHA1_PPC_SPE \
CONFIG_CRYPTO_SHA1_SSSE3
AUTOLOAD+=$(call AutoLoad,09,sha1-arm-neon)
endef
+define KernelPackage/crypto-sha1/aarch64-ce
+ FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha1-ce.ko
+ AUTOLOAD+=$(call AutoLoad,09,sha1-ce)
+endef
+
KernelPackage/crypto-sha1/imx=$(KernelPackage/crypto-sha1/arm-neon)
KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon)
KernelPackage/crypto-sha1/mvebu/cortexa9=$(KernelPackage/crypto-sha1/arm-neon)
+KernelPackage/crypto-sha1/qualcommax=$(KernelPackage/crypto-sha1/aarch64-ce)
define KernelPackage/crypto-sha1/octeon
FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
$(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
CONFIG_CRYPTO_SHA256 \
CONFIG_CRYPTO_SHA256_OCTEON \
CONFIG_CRYPTO_SHA256_PPC_SPE \
+ CONFIG_CRYPTO_SHA256_ARM64 \
CONFIG_CRYPTO_SHA256_SSSE3
FILES:= \
$(LINUX_DIR)/crypto/sha256_generic.ko \
$(call AddDepends/crypto)
endef
+define KernelPackage/crypto-sha256/aarch64
+ FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha256-arm64.ko
+ AUTOLOAD+=$(call AutoLoad,09,sha256-arm64)
+endef
+
define KernelPackage/crypto-sha256/octeon
FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
AUTOLOAD+=$(call AutoLoad,09,octeon-sha256)