crypto: mxs - Add Freescale MXS DCP driver
Add support for the MXS DCP block. The driver currently supports SHA-1/SHA-256 hashing and AES-128 CBC/ECB modes. The non-standard CRC32 is not yet supported. Signed-off-by: Marek Vasut <marex@denx.de> Cc: David S. Miller <davem@davemloft.net> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: devicetree@vger.kernel.org Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
c493c04403
commit
15b59e7c37
17
Documentation/devicetree/bindings/crypto/fsl-dcp.txt
Normal file
17
Documentation/devicetree/bindings/crypto/fsl-dcp.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
Freescale DCP (Data Co-Processor) found on i.MX23/i.MX28 .
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "fsl,<soc>-dcp"
|
||||
- reg : Should contain MXS DCP registers location and length
|
||||
- interrupts : Should contain MXS DCP interrupt numbers, VMI IRQ and DCP IRQ
|
||||
must be supplied, optionally Secure IRQ can be present, but
|
||||
is currently not implemented and not used.
|
||||
|
||||
Example:
|
||||
|
||||
dcp@80028000 {
|
||||
compatible = "fsl,imx28-dcp", "fsl,imx23-dcp";
|
||||
reg = <0x80028000 0x2000>;
|
||||
interrupts = <52 53>;
|
||||
status = "okay";
|
||||
};
|
|
@ -401,4 +401,21 @@ if CRYPTO_DEV_CCP
|
|||
source "drivers/crypto/ccp/Kconfig"
|
||||
endif
|
||||
|
||||
config CRYPTO_DEV_MXS_DCP
|
||||
tristate "Support for Freescale MXS DCP"
|
||||
depends on ARCH_MXS
|
||||
select CRYPTO_SHA1
|
||||
select CRYPTO_SHA256
|
||||
select CRYPTO_CBC
|
||||
select CRYPTO_ECB
|
||||
select CRYPTO_AES
|
||||
select CRYPTO_BLKCIPHER
|
||||
select CRYPTO_ALGAPI
|
||||
help
|
||||
The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB
|
||||
co-processor on the die.
|
||||
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called mxs-dcp.
|
||||
|
||||
endif # CRYPTO_HW
|
||||
|
|
|
@ -22,3 +22,4 @@ 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
|
||||
obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/
|
||||
obj-$(CONFIG_CRYPTO_DEV_MXS_DCP) += mxs-dcp.o
|
||||
|
|
1100
drivers/crypto/mxs-dcp.c
Normal file
1100
drivers/crypto/mxs-dcp.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue