# SPDX-License-Identifier: GPL-2.0-only
config CRYPTO_DEV_CHELSIO
	tristate "Chelsio Crypto Co-processor Driver"
	depends on CHELSIO_T4
	select CRYPTO_SHA1
	select CRYPTO_SHA256
	select CRYPTO_SHA512
	select CRYPTO_AUTHENC
	select CRYPTO_GF128MUL
	---help---
	  The Chelsio Crypto Co-processor driver for T6 adapters.

	  For general information about Chelsio and our products, visit
	  our website at <http://www.chelsio.com>.

	  For customer support, please visit our customer support page at
	  <http://www.chelsio.com/support.html>.

	  Please send feedback to <linux-bugs@chelsio.com>.

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

config CHELSIO_IPSEC_INLINE
        bool "Chelsio IPSec XFRM Tx crypto offload"
        depends on CHELSIO_T4
	depends on CRYPTO_DEV_CHELSIO
        depends on XFRM_OFFLOAD
        depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
        default n
        ---help---
          Enable support for IPSec Tx Inline.

config CRYPTO_DEV_CHELSIO_TLS
        tristate "Chelsio Crypto Inline TLS Driver"
        depends on CHELSIO_T4
        depends on TLS
        select CRYPTO_DEV_CHELSIO
        ---help---
          Support Chelsio Inline TLS with Chelsio crypto accelerator.

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