From b78acc9f0e26459ce2bb586bb00d28bcc14b2c26 Mon Sep 17 00:00:00 2001 From: Srikanth Jampala Date: Fri, 23 Jun 2017 16:22:54 +0530 Subject: [PATCH] cavium: Add firmware for CNN55XX crypto driver. This patchset adds the firmware for CNN55XX cryto driver, supports Symmetric crypto operations. The version of the firmware is v07. Signed-off-by: Srikanth Jampala Signed-off-by: Kyle McMartin --- WHENCE | 9 +++++++++ cavium/cnn55xx_se.fw | Bin 0 -> 27698 bytes 2 files changed, 9 insertions(+) create mode 100644 cavium/cnn55xx_se.fw diff --git a/WHENCE b/WHENCE index b13cef5..06a46d8 100644 --- a/WHENCE +++ b/WHENCE @@ -3278,6 +3278,15 @@ Licence: Redistributable. See LICENCE.cavium for details -------------------------------------------------------------------------- +Driver: nitrox -- Cavium CNN55XX crypto driver + +File: cavium/cnn55xx_se.fw +Version: v07 + +Licence: Redistributable. See LICENCE.cavium for details + +-------------------------------------------------------------------------- + Driver: i915 -- Intel Integrated Graphics driver File: i915/skl_dmc_ver1_23.bin diff --git a/cavium/cnn55xx_se.fw b/cavium/cnn55xx_se.fw new file mode 100644 index 0000000000000000000000000000000000000000..076e270d383488e7ae67e8f4224a519c4173bedc GIT binary patch literal 27698 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