Message ID | 20240305112831.3380896-3-pavitrakumarm@vayavyalabs.com |
---|---|
State | Superseded |
Headers | show |
Series | Add spacc crypto driver support | expand |
On 3/5/2024 3:28 AM, Pavitrakumar M wrote: > Signed-off-by: shwetar <shwetar@vayavyalabs.com> > Signed-off-by: Pavitrakumar M <pavitrakumarm@vayavyalabs.com> > Acked-by: Ruud Derwig <Ruud.Derwig@synopsys.com> > --- > drivers/crypto/dwc-spacc/Kconfig | 95 +++++++++++++++++++++++++++++++ > drivers/crypto/dwc-spacc/Makefile | 16 ++++++ > 2 files changed, 111 insertions(+) > create mode 100644 drivers/crypto/dwc-spacc/Kconfig > create mode 100644 drivers/crypto/dwc-spacc/Makefile > > diff --git a/drivers/crypto/dwc-spacc/Kconfig b/drivers/crypto/dwc-spacc/Kconfig > new file mode 100644 > index 000000000000..6f40358f7932 > --- /dev/null > +++ b/drivers/crypto/dwc-spacc/Kconfig > @@ -0,0 +1,95 @@ > +# SPDX-License-Identifier: GPL-2.0-only > + > +config CRYPTO_DEV_SPACC > + tristate "Support for dw_spacc Security protocol accelerators" > + depends on HAS_DMA > + default y <snip> Why is the default y rather than n or m? I would prefer it to be a module, but I just want to understand why it was chosen to be default compiled in. Thanks, Easwar
Hi Easwar, The default will be a module, my bad. I will rectify this in the v1 patch, which I am already working on. - PK On Wed, Mar 6, 2024 at 11:12 AM Easwar Hariharan <eahariha@linux.microsoft.com> wrote: > > On 3/5/2024 3:28 AM, Pavitrakumar M wrote: > > Signed-off-by: shwetar <shwetar@vayavyalabs.com> > > Signed-off-by: Pavitrakumar M <pavitrakumarm@vayavyalabs.com> > > Acked-by: Ruud Derwig <Ruud.Derwig@synopsys.com> > > --- > > drivers/crypto/dwc-spacc/Kconfig | 95 +++++++++++++++++++++++++++++++ > > drivers/crypto/dwc-spacc/Makefile | 16 ++++++ > > 2 files changed, 111 insertions(+) > > create mode 100644 drivers/crypto/dwc-spacc/Kconfig > > create mode 100644 drivers/crypto/dwc-spacc/Makefile > > > > diff --git a/drivers/crypto/dwc-spacc/Kconfig b/drivers/crypto/dwc-spacc/Kconfig > > new file mode 100644 > > index 000000000000..6f40358f7932 > > --- /dev/null > > +++ b/drivers/crypto/dwc-spacc/Kconfig > > @@ -0,0 +1,95 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > + > > +config CRYPTO_DEV_SPACC > > + tristate "Support for dw_spacc Security protocol accelerators" > > + depends on HAS_DMA > > + default y > > <snip> > > Why is the default y rather than n or m? I would prefer it to be a module, but I just want > to understand why it was chosen to be default compiled in. > > Thanks, > Easwar >
diff --git a/drivers/crypto/dwc-spacc/Kconfig b/drivers/crypto/dwc-spacc/Kconfig new file mode 100644 index 000000000000..6f40358f7932 --- /dev/null +++ b/drivers/crypto/dwc-spacc/Kconfig @@ -0,0 +1,95 @@ +# SPDX-License-Identifier: GPL-2.0-only + +config CRYPTO_DEV_SPACC + tristate "Support for dw_spacc Security protocol accelerators" + depends on HAS_DMA + default y + + help + This enables support for the HASH/CRYP/AEAD hw accelerator which can be found + on dw_spacc IP. + +config CRYPTO_DEV_SPACC_CIPHER + bool "Enable CIPHER functionality" + depends on CRYPTO_DEV_SPACC + default y + select CRYPTO_SKCIPHER + select CRYPTO_LIB_DES + select CRYPTO_AES + select CRYPTO_CBC + select CRYPTO_ECB + select CRYPTO_CTR + select CRYPTO_XTS + select CRYPTO_CTS + select CRYPTO_OFB + select CRYPTO_CFB + select CRYPTO_SM4_GENERIC + select CRYPTO_CHACHA20 + + help + Say y to enable Cipher functionality of SPACC. + +config CRYPTO_DEV_SPACC_HASH + bool "Enable HASH functionality" + depends on CRYPTO_DEV_SPACC + default y + select CRYPTO_HASH + select CRYPTO_SHA1 + select CRYPTO_MD5 + select CRYPTO_SHA256 + select CRYPTO_SHA512 + select CRYPTO_HMAC + select CRYPTO_SM3 + select CRYPTO_CMAC + select CRYPTO_MICHAEL_MIC + select CRYPTO_XCBC + select CRYPTO_AES + select CRYPTO_SM4_GENERIC + + help + Say y to enable Hash functionality of SPACC. + +config CRYPTO_DEV_SPACC_AEAD + bool "Enable AEAD functionality" + depends on CRYPTO_DEV_SPACC + default y + select CRYPTO_AEAD + select CRYPTO_AUTHENC + select CRYPTO_AES + select CRYPTO_SM4_GENERIC + select CRYPTO_CHACHAPOLY1305 + select CRYPTO_GCM + select CRYPTO_CCM + + help + Say y to enable AEAD functionality of SPACC. + +config CRYPTO_DEV_SPACC_AUTODETECT + bool "Enable Autodetect functionality" + depends on CRYPTO_DEV_SPACC + default y + help + Say y to enable Autodetect functionality + +config CRYPTO_DEV_SPACC_DEBUG_TRACE_IO + bool "Enable Trace MMIO reads/writes stats" + depends on CRYPTO_DEV_SPACC + default n + help + Say y to enable Trace MMIO reads/writes stats. + To Debug and trace IO register read/write opration + +config CRYPTO_DEV_SPACC_DEBUG_TRACE_DDT + bool "Enable Trace DDT entries stats" + default n + depends on CRYPTO_DEV_SPACC + help + Say y to enable Enable Trace DDT entries stats. + To Debug and trace DDT opration + +config CRYPTO_DEV_SPACC_SECURE_MODE + bool "Enable Spacc secure mode stats" + default n + depends on CRYPTO_DEV_SPACC + help + Say y to enable Spacc secure modes stats. diff --git a/drivers/crypto/dwc-spacc/Makefile b/drivers/crypto/dwc-spacc/Makefile new file mode 100644 index 000000000000..bf46c8e13a31 --- /dev/null +++ b/drivers/crypto/dwc-spacc/Makefile @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-only +obj-$(CONFIG_CRYPTO_DEV_SPACC) += snps-spacc.o +snps-spacc-objs = spacc_hal.o spacc_core.o \ +spacc_manager.o spacc_interrupt.o spacc_device.o + +ifeq ($(CONFIG_CRYPTO_DEV_SPACC_HASH),y) +snps-spacc-objs += spacc_ahash.o +endif + +ifeq ($(CONFIG_CRYPTO_DEV_SPACC_CIPHER),y) +snps-spacc-objs += spacc_skcipher.o +endif + +ifeq ($(CONFIG_CRYPTO_DEV_SPACC_AEAD),y) +snps-spacc-objs += spacc_aead.o +endif