ea2884e018
This patch makes the driver work on the newer v2.3 core. Signed-off-by: John Crispin <john@phrozen.org>
28 lines
1.0 KiB
Diff
28 lines
1.0 KiB
Diff
--- a/drivers/crypto/inside-secure/safexcel.c
|
|
+++ b/drivers/crypto/inside-secure/safexcel.c
|
|
@@ -595,6 +595,14 @@ static int safexcel_hw_init(struct safex
|
|
val |= EIP197_MST_CTRL_TX_MAX_CMD(5);
|
|
writel(val, EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
|
|
}
|
|
+ /*
|
|
+ * Set maximum number of TX commands to 2^4 = 16 for EIP97 HW2.1/HW2.3
|
|
+ */
|
|
+ else {
|
|
+ val = 0;
|
|
+ val |= EIP97_MST_CTRL_TX_MAX_CMD(4);
|
|
+ writel(val, EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
|
|
+ }
|
|
|
|
/* Configure wr/rd cache values */
|
|
writel(EIP197_MST_CTRL_RD_CACHE(RD_CACHE_4BITS) |
|
|
--- a/drivers/crypto/inside-secure/safexcel.h
|
|
+++ b/drivers/crypto/inside-secure/safexcel.h
|
|
@@ -306,6 +306,7 @@
|
|
#define EIP197_MST_CTRL_RD_CACHE(n) (((n) & 0xf) << 0)
|
|
#define EIP197_MST_CTRL_WD_CACHE(n) (((n) & 0xf) << 4)
|
|
#define EIP197_MST_CTRL_TX_MAX_CMD(n) (((n) & 0xf) << 20)
|
|
+#define EIP97_MST_CTRL_TX_MAX_CMD(n) (((n) & 0xf) << 4)
|
|
#define EIP197_MST_CTRL_BYTE_SWAP BIT(24)
|
|
#define EIP197_MST_CTRL_NO_BYTE_SWAP BIT(25)
|
|
#define EIP197_MST_CTRL_BYTE_SWAP_BITS GENMASK(25, 24)
|