Skip to content

Commit 0880bb3

Browse files
Akhil Rherbertx
authored andcommitted
crypto: tegra - Add Tegra Security Engine driver
Add support for Tegra Security Engine which can accelerate various crypto algorithms. The Engine has two separate instances within for AES and HASH algorithms respectively. The driver registers two crypto engines - one for AES and another for HASH algorithms and these operate independently and both uses the host1x bus. Additionally, it provides hardware-assisted key protection for up to 15 symmetric keys which it can use for the cipher operations. Signed-off-by: Akhil R <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
1 parent cc370ff commit 0880bb3

File tree

9 files changed

+4171
-0
lines changed

9 files changed

+4171
-0
lines changed

MAINTAINERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21702,6 +21702,11 @@ M: Prashant Gaikwad <[email protected]>
2170221702
S: Supported
2170321703
F: drivers/clk/tegra/
2170421704

21705+
TEGRA CRYPTO DRIVERS
21706+
M: Akhil R <[email protected]>
21707+
S: Supported
21708+
F: drivers/crypto/tegra/*
21709+
2170521710
TEGRA DMA DRIVERS
2170621711
M: Laxman Dewangan <[email protected]>
2170721712
M: Jon Hunter <[email protected]>

drivers/crypto/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,14 @@ config CRYPTO_DEV_ROCKCHIP_DEBUG
660660
This will create /sys/kernel/debug/rk3288_crypto/stats for displaying
661661
the number of requests per algorithm and other internal stats.
662662

663+
config CRYPTO_DEV_TEGRA
664+
tristate "Enable Tegra Security Engine"
665+
depends on TEGRA_HOST1X
666+
select CRYPTO_ENGINE
667+
668+
help
669+
Select this to enable Tegra Security Engine which accelerates various
670+
AES encryption/decryption and HASH algorithms.
663671

664672
config CRYPTO_DEV_ZYNQMP_AES
665673
tristate "Support for Xilinx ZynqMP AES hw accelerator"

drivers/crypto/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ obj-$(CONFIG_CRYPTO_DEV_SAHARA) += sahara.o
4141
obj-$(CONFIG_CRYPTO_DEV_SL3516) += gemini/
4242
obj-y += stm32/
4343
obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
44+
obj-$(CONFIG_CRYPTO_DEV_TEGRA) += tegra/
4445
obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/
4546
#obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/
4647
obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) += bcm/

drivers/crypto/tegra/Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
// SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
4+
tegra-se-objs := tegra-se-key.o tegra-se-main.o
5+
6+
tegra-se-y += tegra-se-aes.o
7+
tegra-se-y += tegra-se-hash.o
8+
9+
obj-$(CONFIG_CRYPTO_DEV_TEGRA) += tegra-se.o

0 commit comments

Comments
 (0)