[PATCH 0/3] Add Inline Crypto Engine (ICE) driver

From: AnilKumar Chimata
Date: Wed Oct 17 2018 - 11:18:35 EST


This patch series adds support for QualComm ICE driver which
is embedded in storage device such as UFS/eMMC.

ICE HW provides high throughputs, which meets the line speed
of storage devices. ICE works in bypass or non-bypass mode,
during bypass mode ICE does not perform any crypto operations
but in non-bypass mode ICE will perform encryption/decryption
based on the configuration.

ICE HW supports AES128/256 bit ECB & XTS mode algorithms, which
is used on many SoCs like msm8916, msm8996, msm8953, sdm845 and
many more MTPs from QualComm.

Also adds new functions to firmware driver which are needed to
request secure OS to restore ICE key config when device reset.

These patches have been tested on sdm845 MTP using some additional
patches (a) interconnect changes (b) ufs-ice interface driver
(c) dtsi changes for device init (d) kernel config changes. Once
these patches are accepted rest will be posted.

AnilKumar Chimata (3):
firmware: qcom: scm: Update qcom_scm_call signature
dt-bindings: Add ICE device specific parameters
crypto: qce: ice: Add support for Inline Crypto Engine

Documentation/crypto/msm/ice.txt | 235 +++
.../devicetree/bindings/crypto/msm/ice.txt | 34 +
drivers/crypto/Kconfig | 10 +
drivers/crypto/qce/Makefile | 1 +
drivers/crypto/qce/ice.c | 1613 ++++++++++++++++++++
drivers/crypto/qce/iceregs.h | 159 ++
drivers/firmware/qcom_scm-32.c | 30 +-
drivers/firmware/qcom_scm-64.c | 77 +-
drivers/firmware/qcom_scm.c | 8 +-
drivers/firmware/qcom_scm.h | 5 +-
include/crypto/ice.h | 80 +
include/linux/qcom_scm.h | 5 +
12 files changed, 2213 insertions(+), 44 deletions(-)
create mode 100644 Documentation/crypto/msm/ice.txt
create mode 100644 Documentation/devicetree/bindings/crypto/msm/ice.txt
create mode 100644 drivers/crypto/qce/ice.c
create mode 100644 drivers/crypto/qce/iceregs.h
create mode 100644 include/crypto/ice.h

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project