devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] Add SPAcc Crypto Driver
@ 2025-06-02  5:32 Pavitrakumar Managutte
  2025-06-02  5:32 ` [PATCH v3 1/6] dt-bindings: crypto: Document support for SPAcc Pavitrakumar Managutte
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Pavitrakumar Managutte @ 2025-06-02  5:32 UTC (permalink / raw)
  To: linux-crypto, linux-kernel, devicetree, herbert, robh
  Cc: krzk+dt, conor+dt, Ruud.Derwig, manjunath.hadli, adityak,
	Pavitrakumar Managutte

Add the driver for SPAcc(Security Protocol Accelerator), which is a             
crypto acceleration IP from Synopsys. The SPAcc supports multiple ciphers,      
hashes and AEAD algorithms with various modes. The driver currently supports    
below                                                                           
                                                                                
AEAD:                                                                           
- ccm(sm4)                                                                      
- ccm(aes)                                                                      
- gcm(sm4)                                                                      
- gcm(aes)                                                                      
- rfc7539(chacha20,poly1305)                                                    
                                                                                
cipher:                                                                         
- cbc(sm4)                                                                      
- ecb(sm4)                                                                      
- ctr(sm4)                                                                      
- xts(sm4)                                                                      
- cts(cbc(sm4))                                                                 
- cbc(aes)                                                                      
- ecb(aes)                                                                      
- xts(aes)                                                                      
- cts(cbc(aes))                                                                 
- ctr(aes)                                                                      
- chacha20                                                                      
- ecb(des)                                                                      
- cbc(des)                                                                      
- ecb(des3_ede)                                                                 
- cbc(des3_ede)                                                                 
                                                                                
hash:                                                                           
- cmac(aes)                                                                     
- xcbc(aes)                                                                     
- cmac(sm4)                                                                     
- xcbc(sm4)                                                                     
- hmac(md5)                                                                     
- md5                                                                           
- hmac(sha1)                                                                    
- sha1                                                                          
- sha224
- sha256                                                                        
- sha384                                                                        
- sha512                                                                        
- hmac(sha224)                                                                  
- hmac(sha256)                                                                  
- hmac(sha384)                                                                  
- hmac(sha512)                                                                  
- sha3-224                                                                      
- sha3-256                                                                      
- sha3-384                                                                      
- sha3-512                                                                      
- hmac(sm3)                                                                     
- sm3                                                                           
- michael_mic                                              

Pavitrakumar Managutte (6):
  dt-bindings: crypto: Document support for SPAcc
  Add SPAcc Skcipher support
  Add SPAcc AUTODETECT Support
  Add SPAcc ahash support
  Add SPAcc AEAD support
  Add SPAcc Kconfig and Makefile

changelog:
  v1->v2 changes:
    - Added local_bh_disable() and local_bh_enable() for the below calls.
      a. for ciphers skcipher_request_complete()
      b. for aead aead_request_complete()
      c. for hash ahash_request_complete()
    - dt-bindings updates
      a. removed snps,vspacc-priority and made it into config option
      b. renamed snps,spacc-wdtimer to snps,spacc-internal-counter
      c. Added description to all properties
    - Updated corresponding dt-binding changes to code 

  v2->v3 changes:
    - cra_init and cra_exit replaced with init_tfm and exit_tfm for hashes.
    - removed mutex_lock/unlock for spacc_skcipher_fallback call
    - dt-bindings updates
     a. updated SOC related information
     b. renamed compatible string as per SOC.
   - Updated corresponding dt-binding changes to code 

 .../bindings/crypto/snps,dwc-spacc.yaml       |   77 +
 drivers/crypto/Kconfig                        |    1 +
 drivers/crypto/Makefile                       |    1 +
 drivers/crypto/dwc-spacc/Kconfig              |  103 +
 drivers/crypto/dwc-spacc/Makefile             |   16 +
 drivers/crypto/dwc-spacc/spacc_aead.c         | 1297 +++++++++
 drivers/crypto/dwc-spacc/spacc_ahash.c        |  969 +++++++
 drivers/crypto/dwc-spacc/spacc_core.c         | 2464 +++++++++++++++++
 drivers/crypto/dwc-spacc/spacc_core.h         |  829 ++++++
 drivers/crypto/dwc-spacc/spacc_device.c       |  309 +++
 drivers/crypto/dwc-spacc/spacc_device.h       |  231 ++
 drivers/crypto/dwc-spacc/spacc_hal.c          |  374 +++
 drivers/crypto/dwc-spacc/spacc_hal.h          |  114 +
 drivers/crypto/dwc-spacc/spacc_interrupt.c    |  324 +++
 drivers/crypto/dwc-spacc/spacc_manager.c      |  610 ++++
 drivers/crypto/dwc-spacc/spacc_skcipher.c     |  763 +++++
 16 files changed, 8482 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/snps,dwc-spacc.yaml
 create mode 100644 drivers/crypto/dwc-spacc/Kconfig
 create mode 100644 drivers/crypto/dwc-spacc/Makefile
 create mode 100755 drivers/crypto/dwc-spacc/spacc_aead.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_ahash.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_core.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_core.h
 create mode 100644 drivers/crypto/dwc-spacc/spacc_device.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_device.h
 create mode 100644 drivers/crypto/dwc-spacc/spacc_hal.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_hal.h
 create mode 100644 drivers/crypto/dwc-spacc/spacc_interrupt.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_manager.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_skcipher.c


base-commit: 0a84874c7e7dde5cdddc80a82093120e924a348b
-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-06-24  7:49 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-02  5:32 [PATCH v3 0/6] Add SPAcc Crypto Driver Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 1/6] dt-bindings: crypto: Document support for SPAcc Pavitrakumar Managutte
2025-06-02  5:58   ` Krzysztof Kozlowski
2025-06-03 11:45     ` Pavitrakumar Managutte
2025-06-03 12:04       ` Krzysztof Kozlowski
2025-06-04 12:20         ` Pavitrakumar Managutte
2025-06-04 14:07           ` Krzysztof Kozlowski
2025-06-06 11:02             ` Pavitrakumar Managutte
2025-06-06 11:25               ` Krzysztof Kozlowski
2025-06-06 12:58                 ` Pavitrakumar Managutte
2025-06-06 13:04                   ` Krzysztof Kozlowski
2025-06-24  7:49                     ` Pavitrakumar Managutte
2025-06-02  6:22   ` Krzysztof Kozlowski
2025-06-02  7:16     ` Ruud Derwig
2025-06-02  5:32 ` [PATCH v3 2/6] Add SPAcc Skcipher support Pavitrakumar Managutte
2025-06-02  6:05   ` Krzysztof Kozlowski
2025-06-03 12:02     ` Pavitrakumar Managutte
2025-06-03 12:07       ` Krzysztof Kozlowski
2025-06-04 10:50         ` Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 3/6] Add SPAcc AUTODETECT Support Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 4/6] Add SPAcc ahash support Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 5/6] Add SPAcc AEAD support Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 6/6] Add SPAcc Kconfig and Makefile Pavitrakumar Managutte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).