crypto: inside-secure - Add MaxLinear platform
authorPeter Harliman Liem <pliem@maxlinear.com>
Tue, 27 Sep 2022 03:10:10 +0000 (11:10 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Oct 2022 11:05:24 +0000 (19:05 +0800)
This is to add MaxLinear platform into compatible id.
Firmware endianness option is added since MaxLinear
firmware is in little endian format.

Signed-off-by: Peter Harliman Liem <pliem@maxlinear.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel.c
drivers/crypto/inside-secure/safexcel.h

index 4d6d64ff9a0f2e2ba2b93d97a8ae7b45e7b572fa..ae6110376e21c690a2e0f065915585ab3a7a66c1 100644 (file)
@@ -421,6 +421,8 @@ static int eip197_load_firmwares(struct safexcel_crypto_priv *priv)
        else if (priv->data->version == EIP197B_MRVL ||
                 priv->data->version == EIP197_DEVBRD)
                dir = "eip197b";
+       else if (priv->data->version == EIP197C_MXL)
+               dir = "eip197c";
        else
                return -ENODEV;
 
@@ -1828,6 +1830,11 @@ static const struct safexcel_priv_data eip197_devbrd_data = {
        .version = EIP197_DEVBRD,
 };
 
+static const struct safexcel_priv_data eip197c_mxl_data = {
+       .version = EIP197C_MXL,
+       .fw_little_endian = true,
+};
+
 static const struct of_device_id safexcel_of_match_table[] = {
        {
                .compatible = "inside-secure,safexcel-eip97ies",
@@ -1841,6 +1848,10 @@ static const struct of_device_id safexcel_of_match_table[] = {
                .compatible = "inside-secure,safexcel-eip197d",
                .data = &eip197d_mrvl_data,
        },
+       {
+               .compatible = "inside-secure,safexcel-eip197c-mxl",
+               .data = &eip197c_mxl_data,
+       },
        /* For backward compatibility and intended for generic use */
        {
                .compatible = "inside-secure,safexcel-eip97",
index f049293870b484c437d655b8863963681a2aab2d..6c2fc662f64ffa727f4d2da1a4c74945d7932a54 100644 (file)
@@ -730,7 +730,8 @@ enum safexcel_eip_version {
        EIP97IES_MRVL,
        EIP197B_MRVL,
        EIP197D_MRVL,
-       EIP197_DEVBRD
+       EIP197_DEVBRD,
+       EIP197C_MXL,
 };
 
 struct safexcel_priv_data {