Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebc82efa authored by Nicolas Royer's avatar Nicolas Royer Committed by Herbert Xu
Browse files

crypto: atmel - add Atmel SHA1/SHA256 driver

parent 13802005
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -365,4 +365,18 @@ config CRYPTO_DEV_ATMEL_TDES
	  To compile this driver as a module, choose M here: the module
	  will be called atmel-tdes.

config CRYPTO_DEV_ATMEL_SHA
	tristate "Support for Atmel SHA1/SHA256 hw accelerator"
	depends on ARCH_AT91
	select CRYPTO_SHA1
	select CRYPTO_SHA256
	select CRYPTO_ALGAPI
	help
	  Some Atmel processors have SHA1/SHA256 hw accelerator.
	  Select this if you want to use the Atmel module for
	  SHA1/SHA256 algorithms.

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

endif # CRYPTO_HW
+1 −0
Original line number Diff line number Diff line
@@ -19,3 +19,4 @@ obj-$(CONFIG_CRYPTO_DEV_BFIN_CRC) += bfin_crc.o
obj-$(CONFIG_CRYPTO_DEV_NX) += nx/
obj-$(CONFIG_CRYPTO_DEV_ATMEL_AES) += atmel-aes.o
obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o
obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += atmel-sha.o
+46 −0
Original line number Diff line number Diff line
#ifndef __ATMEL_SHA_REGS_H__
#define __ATMEL_SHA_REGS_H__

#define SHA_REG_DIGEST(x)		(0x80 + ((x) * 0x04))
#define SHA_REG_DIN(x)			(0x40 + ((x) * 0x04))

#define SHA_CR				0x00
#define SHA_CR_START			(1 << 0)
#define SHA_CR_FIRST			(1 << 4)
#define SHA_CR_SWRST			(1 << 8)

#define SHA_MR				0x04
#define SHA_MR_MODE_MASK		(0x3 << 0)
#define SHA_MR_MODE_MANUAL		0x0
#define SHA_MR_MODE_AUTO		0x1
#define SHA_MR_MODE_PDC			0x2
#define	SHA_MR_DUALBUFF			(1 << 3)
#define SHA_MR_PROCDLY			(1 << 4)
#define SHA_MR_ALGO_SHA1		(0 << 8)
#define SHA_MR_ALGO_SHA256		(1 << 8)

#define SHA_IER				0x10
#define SHA_IDR				0x14
#define SHA_IMR				0x18
#define SHA_ISR				0x1C
#define SHA_INT_DATARDY			(1 << 0)
#define SHA_INT_ENDTX			(1 << 1)
#define SHA_INT_TXBUFE			(1 << 2)
#define SHA_INT_URAD			(1 << 8)
#define SHA_ISR_URAT_MASK		(0x7 << 12)
#define SHA_ISR_URAT_IDR		(0x0 << 12)
#define SHA_ISR_URAT_ODR		(0x1 << 12)
#define SHA_ISR_URAT_MR			(0x2 << 12)
#define SHA_ISR_URAT_WO			(0x5 << 12)

#define SHA_TPR				0x108
#define SHA_TCR				0x10C
#define SHA_TNPR			0x118
#define SHA_TNCR			0x11C
#define SHA_PTCR			0x120
#define SHA_PTCR_TXTEN		(1 << 8)
#define SHA_PTCR_TXTDIS		(1 << 9)
#define SHA_PTSR			0x124
#define SHA_PTSR_TXTEN		(1 << 8)

#endif /* __ATMEL_SHA_REGS_H__ */
+1112 −0

File added.

Preview size limit exceeded, changes collapsed.