crypto: sahara - Add driver for SAHARA2 accelerator.
SAHARA2 HW module is included in the i.MX27 SoC from Freescale. It is capable of performing cipher algorithms such as AES, 3DES..., hashing and RNG too. This driver provides support for AES-CBC and AES-ECB by now. Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
6375bcf786
commit
5de8875281
4 changed files with 1096 additions and 0 deletions
15
Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt
Normal file
15
Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Freescale SAHARA Cryptographic Accelerator included in some i.MX chips.
|
||||||
|
Currently only i.MX27 is supported.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : Should be "fsl,<soc>-sahara"
|
||||||
|
- reg : Should contain SAHARA registers location and length
|
||||||
|
- interrupts : Should contain SAHARA interrupt number
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
sah@10025000 {
|
||||||
|
compatible = "fsl,imx27-sahara";
|
||||||
|
reg = < 0x10025000 0x800>;
|
||||||
|
interrupts = <75>;
|
||||||
|
};
|
|
@ -276,6 +276,16 @@ config CRYPTO_DEV_PICOXCELL
|
||||||
|
|
||||||
Saying m here will build a module named pipcoxcell_crypto.
|
Saying m here will build a module named pipcoxcell_crypto.
|
||||||
|
|
||||||
|
config CRYPTO_DEV_SAHARA
|
||||||
|
tristate "Support for SAHARA crypto accelerator"
|
||||||
|
depends on ARCH_MXC && EXPERIMENTAL && OF
|
||||||
|
select CRYPTO_BLKCIPHER
|
||||||
|
select CRYPTO_AES
|
||||||
|
select CRYPTO_ECB
|
||||||
|
help
|
||||||
|
This option enables support for the SAHARA HW crypto accelerator
|
||||||
|
found in some Freescale i.MX chips.
|
||||||
|
|
||||||
config CRYPTO_DEV_S5P
|
config CRYPTO_DEV_S5P
|
||||||
tristate "Support for Samsung S5PV210 crypto accelerator"
|
tristate "Support for Samsung S5PV210 crypto accelerator"
|
||||||
depends on ARCH_S5PV210
|
depends on ARCH_S5PV210
|
||||||
|
|
|
@ -12,6 +12,7 @@ obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += amcc/
|
||||||
obj-$(CONFIG_CRYPTO_DEV_OMAP_SHAM) += omap-sham.o
|
obj-$(CONFIG_CRYPTO_DEV_OMAP_SHAM) += omap-sham.o
|
||||||
obj-$(CONFIG_CRYPTO_DEV_OMAP_AES) += omap-aes.o
|
obj-$(CONFIG_CRYPTO_DEV_OMAP_AES) += omap-aes.o
|
||||||
obj-$(CONFIG_CRYPTO_DEV_PICOXCELL) += picoxcell_crypto.o
|
obj-$(CONFIG_CRYPTO_DEV_PICOXCELL) += picoxcell_crypto.o
|
||||||
|
obj-$(CONFIG_CRYPTO_DEV_SAHARA) += sahara.o
|
||||||
obj-$(CONFIG_CRYPTO_DEV_S5P) += s5p-sss.o
|
obj-$(CONFIG_CRYPTO_DEV_S5P) += s5p-sss.o
|
||||||
obj-$(CONFIG_CRYPTO_DEV_TEGRA_AES) += tegra-aes.o
|
obj-$(CONFIG_CRYPTO_DEV_TEGRA_AES) += tegra-aes.o
|
||||||
obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/
|
obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/
|
||||||
|
|
1070
drivers/crypto/sahara.c
Normal file
1070
drivers/crypto/sahara.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue