config CRYPTO_DEV_ALLWINNER
	bool "Support for Allwinner cryptographic offloader"
	depends on ARCH_SUNXI || COMPILE_TEST
	default y if ARCH_SUNXI
	help
	  Say Y here to get to see options for Allwinner hardware crypto devices

config CRYPTO_DEV_SUN4I_SS
	tristate "Support for Allwinner Security System cryptographic accelerator"
	depends on ARCH_SUNXI
	depends on PM
	depends on CRYPTO_DEV_ALLWINNER
	select CRYPTO_MD5
	select CRYPTO_SHA1
	select CRYPTO_AES
	select CRYPTO_LIB_DES
	select CRYPTO_SKCIPHER
	help
	  Some Allwinner SoC have a crypto accelerator named
	  Security System. Select this if you want to use it.
	  The Security System handle AES/DES/3DES ciphers in CBC mode
	  and SHA1 and MD5 hash algorithms.

	  To compile this driver as a module, choose M here: the module
	  will be called sun4i-ss.

config CRYPTO_DEV_SUN4I_SS_PRNG
	bool "Support for Allwinner Security System PRNG"
	depends on CRYPTO_DEV_SUN4I_SS
	select CRYPTO_RNG
	help
	  Select this option if you want to provide kernel-side support for
	  the Pseudo-Random Number Generator found in the Security System.

config CRYPTO_DEV_SUN8I_CE
	tristate "Support for Allwinner Crypto Engine cryptographic offloader"
	select CRYPTO_SKCIPHER
	select CRYPTO_ENGINE
	select CRYPTO_ECB
	select CRYPTO_CBC
	select CRYPTO_AES
	select CRYPTO_DES
	depends on CRYPTO_DEV_ALLWINNER
	depends on PM
	help
	  Select y here to have support for the crypto Engine availlable on
	  Allwinner SoC H2+, H3, H5, H6, R40 and A64.
	  The Crypto Engine handle AES/3DES ciphers in ECB/CBC mode.

	  To compile this driver as a module, choose M here: the module
	  will be called sun8i-ce.

config CRYPTO_DEV_SUN8I_CE_DEBUG
	bool "Enable sun8i-ce stats"
	depends on CRYPTO_DEV_SUN8I_CE
	depends on DEBUG_FS
	help
	  Say y to enable sun8i-ce debug stats.
	  This will create /sys/kernel/debug/sun8i-ce/stats for displaying
	  the number of requests per flow and per algorithm.

config CRYPTO_DEV_SUN8I_CE_HASH
	bool "Enable support for hash on sun8i-ce"
	depends on CRYPTO_DEV_SUN8I_CE
	select CRYPTO_MD5
	select CRYPTO_SHA1
	select CRYPTO_SHA256
	select CRYPTO_SHA512
	help
	  Say y to enable support for hash algorithms.

config CRYPTO_DEV_SUN8I_CE_PRNG
	bool "Support for Allwinner Crypto Engine PRNG"
	depends on CRYPTO_DEV_SUN8I_CE
	select CRYPTO_RNG
	help
	  Select this option if you want to provide kernel-side support for
	  the Pseudo-Random Number Generator found in the Crypto Engine.

config CRYPTO_DEV_SUN8I_CE_TRNG
	bool "Support for Allwinner Crypto Engine TRNG"
	depends on CRYPTO_DEV_SUN8I_CE
	select HW_RANDOM
	help
	  Select this option if you want to provide kernel-side support for
	  the True Random Number Generator found in the Crypto Engine.

config CRYPTO_DEV_SUN8I_SS
	tristate "Support for Allwinner Security System cryptographic offloader"
	select CRYPTO_SKCIPHER
	select CRYPTO_ENGINE
	select CRYPTO_ECB
	select CRYPTO_CBC
	select CRYPTO_AES
	select CRYPTO_DES
	depends on CRYPTO_DEV_ALLWINNER
	depends on PM
	help
	  Select y here to have support for the Security System available on
	  Allwinner SoC A80, A83T.
	  The Security System handle AES/3DES ciphers in ECB/CBC mode.

	  To compile this driver as a module, choose M here: the module
	  will be called sun8i-ss.

config CRYPTO_DEV_SUN8I_SS_DEBUG
	bool "Enable sun8i-ss stats"
	depends on CRYPTO_DEV_SUN8I_SS
	depends on DEBUG_FS
	help
	  Say y to enable sun8i-ss debug stats.
	  This will create /sys/kernel/debug/sun8i-ss/stats for displaying
	  the number of requests per flow and per algorithm.

config CRYPTO_DEV_SUN8I_SS_PRNG
	bool "Support for Allwinner Security System PRNG"
	depends on CRYPTO_DEV_SUN8I_SS
	select CRYPTO_RNG
	help
	  Select this option if you want to provide kernel-side support for
	  the Pseudo-Random Number Generator found in the Security System.

config CRYPTO_DEV_SUN8I_SS_HASH
	bool "Enable support for hash on sun8i-ss"
	depends on CRYPTO_DEV_SUN8I_SS
	select CRYPTO_MD5
	select CRYPTO_SHA1
	select CRYPTO_SHA256
	help
	  Say y to enable support for hash algorithms.
