Add support for HW crypto cores: padlock, geode and hifn75x (#388#)
[openwrt/svn-archive/archive.git] / package / kernel / modules / crypto.mk
index 57018218a8ea982890032db1bb27efc2f8f20b89..8bb57816c0b7d8f4c1e8756caa94dd93e3a3b4ac 100644 (file)
@@ -72,21 +72,63 @@ endef
 $(eval $(call KernelPackage,crypto-core))
 
 
+define KernelPackage/crypto-hw-padlock
+  SUBMENU:=$(CRYPTO_MENU)
+  TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
+  DEPENDS:=+kmod-crypto-core
+  KCONFIG:= \
+       CONFIG_CRYPTO_DEV_PADLOCK \
+       CONFIG_CRYPTO_DEV_PADLOCK_AES \
+       CONFIG_CRYPTO_DEV_PADLOCK_SHA
+  FILES:= \
+       $(LINUX_DIR)/drivers/crypto/padlock-aes.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/drivers/crypto/padlock-sha.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-padlock))
+
+
+define KernelPackage/crypto-hw-geode
+  SUBMENU:=$(CRYPTO_MENU)
+  TITLE:=AMD Geode hardware crypto module
+  DEPENDS:=+kmod-crypto-core
+  KCONFIG:= \
+       CONFIG_CRYPTO_DEV_GEODE
+  FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,09,geode-aes)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-geode))
+
+
+define KernelPackage/crypto-hw-hifn-795x
+  SUBMENU:=$(CRYPTO_MENU)
+  TITLE:=HIFN 795x crypto accelerator
+  DEPENDS:=+kmod-crypto-core +kmod-crypto-des
+  KCONFIG:= \
+       CONFIG_CRYPTO_DEV_HIFN_795X \
+       CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+  FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,09,hifn_795x)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-hifn-795x))
+
+
 define KernelPackage/crypto-aes
   SUBMENU:=$(CRYPTO_MENU)
   TITLE:=AES cipher CryptoAPI module
   DEPENDS:=+kmod-crypto-core
-  KCONFIG:= \
-       CONFIG_CRYPTO_AES \
-       CONFIG_CRYPTO_AES_586
+  KCONFIG:=CONFIG_CRYPTO_AES
   FILES:=$(LINUX_DIR)/crypto/aes$(AES_SUFFIX).$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,09,aes$(AES_SUFFIX))
 endef
 
 define KernelPackage/crypto-aes/x86-2.6
-  KCONFIG:=CONFIG_CRYPTO_AES_586
-  FILES:=$(LINUX_DIR)/arch/x86/crypto/aes-i586.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,09,aes-i586)
+  KCONFIG+=CONFIG_CRYPTO_AES_586
+  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,09,aes$(AES_SUFFIX) aes-i586)
 endef
 
 $(eval $(call KernelPackage,crypto-aes))