aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/crypto/caam/ctrl.c9
-rw-r--r--drivers/crypto/caam/jr.c8
2 files changed, 15 insertions, 2 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index 77557ebcd337..9a2db9c30630 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -82,13 +82,18 @@ static int caam_probe(struct platform_device *pdev)
82 82
83 /* 83 /*
84 * Enable DECO watchdogs and, if this is a PHYS_ADDR_T_64BIT kernel, 84 * Enable DECO watchdogs and, if this is a PHYS_ADDR_T_64BIT kernel,
85 * 36-bit pointers in master configuration register 85 * long pointers in master configuration register
86 */ 86 */
87 setbits32(&topregs->ctrl.mcr, MCFGR_WDENABLE | 87 setbits32(&topregs->ctrl.mcr, MCFGR_WDENABLE |
88 (sizeof(dma_addr_t) == sizeof(u64) ? MCFGR_LONG_PTR : 0)); 88 (sizeof(dma_addr_t) == sizeof(u64) ? MCFGR_LONG_PTR : 0));
89 89
90 if (sizeof(dma_addr_t) == sizeof(u64)) 90 if (sizeof(dma_addr_t) == sizeof(u64))
91 dma_set_mask(dev, DMA_BIT_MASK(36)); 91 if (of_device_is_compatible(nprop, "fsl,sec-v5.0"))
92 dma_set_mask(dev, DMA_BIT_MASK(40));
93 else
94 dma_set_mask(dev, DMA_BIT_MASK(36));
95 else
96 dma_set_mask(dev, DMA_BIT_MASK(32));
92 97
93 /* 98 /*
94 * Detect and enable JobRs 99 * Detect and enable JobRs
diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c
index 6ce4c41c8634..9f16b2c03613 100644
--- a/drivers/crypto/caam/jr.c
+++ b/drivers/crypto/caam/jr.c
@@ -503,6 +503,14 @@ int caam_jr_probe(struct platform_device *pdev, struct device_node *np,
503 dev_set_drvdata(jrdev, jrpriv); 503 dev_set_drvdata(jrdev, jrpriv);
504 ctrlpriv->jrdev[ring] = jrdev; 504 ctrlpriv->jrdev[ring] = jrdev;
505 505
506 if (sizeof(dma_addr_t) == sizeof(u64))
507 if (of_device_is_compatible(np, "fsl,sec-v5.0-job-ring"))
508 dma_set_mask(jrdev, DMA_BIT_MASK(40));
509 else
510 dma_set_mask(jrdev, DMA_BIT_MASK(36));
511 else
512 dma_set_mask(jrdev, DMA_BIT_MASK(32));
513
506 /* Identify the interrupt */ 514 /* Identify the interrupt */
507 jrpriv->irq = of_irq_to_resource(np, 0, NULL); 515 jrpriv->irq = of_irq_to_resource(np, 0, NULL);
508 516