aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaveen Krishna Chatradhi <ch.naveen@samsung.com>2014-05-08 09:58:13 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2014-05-08 09:58:13 -0400
commit6b9f16e6c2b712f724e6ca1538d18ea8a788dd90 (patch)
tree0c813baee07cb1dac4e67835268384f4f3d5d6f7
parent96fc70b63c51199b96bee1b90c939fa75d611332 (diff)
crypto: s5p-sss - Add device tree support
This patch adds device tree support to the s5p-sss.c crypto driver. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> CC: David S. Miller <davem@davemloft.net> CC: <linux-samsung-soc@vger.kernel.org> Acked-by: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--Documentation/devicetree/bindings/crypto/samsung-sss.txt25
-rw-r--r--drivers/crypto/s5p-sss.c8
2 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/crypto/samsung-sss.txt b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
new file mode 100644
index 000000000000..f6e09a6231f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
@@ -0,0 +1,25 @@
1Samsung SoC SSS (Security SubSystem) module
2
3The SSS module in S5PV210 SoC supports the following:
4-- Feeder (FeedCtrl)
5-- Advanced Encryption Standard (AES)
6-- Data Encryption Standard (DES)/3DES
7-- Public Key Accelerator (PKA)
8-- SHA-1/SHA-256/MD5/HMAC (SHA-1/SHA-256/MD5)/PRNG
9-- PRNG: Pseudo Random Number Generator
10
11Required properties:
12
13- compatible : Should contain entries for this and backward compatible
14 SSS versions:
15 - "samsung,s5pv210-secss" for S5PV210 SoC.
16- reg : Offset and length of the register set for the module
17- interrupts : interrupt specifiers of SSS module interrupts, should contain
18 two entries:
19 - first : feed control interrupt,
20 - second : hash interrupt.
21
22- clocks : list of clock phandle and specifier pairs for all clocks listed in
23 clock-names property.
24- clock-names : list of device clock input names; should contain one entry
25 "secss".
diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
index 2876fa37d1f9..c6aafe84e06a 100644
--- a/drivers/crypto/s5p-sss.c
+++ b/drivers/crypto/s5p-sss.c
@@ -22,6 +22,7 @@
22#include <linux/scatterlist.h> 22#include <linux/scatterlist.h>
23#include <linux/dma-mapping.h> 23#include <linux/dma-mapping.h>
24#include <linux/io.h> 24#include <linux/io.h>
25#include <linux/of.h>
25#include <linux/crypto.h> 26#include <linux/crypto.h>
26#include <linux/interrupt.h> 27#include <linux/interrupt.h>
27 28
@@ -177,6 +178,12 @@ struct s5p_aes_dev {
177 178
178static struct s5p_aes_dev *s5p_dev; 179static struct s5p_aes_dev *s5p_dev;
179 180
181static const struct of_device_id s5p_sss_dt_match[] = {
182 { .compatible = "samsung,s5pv210-secss" },
183 { },
184};
185MODULE_DEVICE_TABLE(of, s5p_sss_dt_match);
186
180static void s5p_set_dma_indata(struct s5p_aes_dev *dev, struct scatterlist *sg) 187static void s5p_set_dma_indata(struct s5p_aes_dev *dev, struct scatterlist *sg)
181{ 188{
182 SSS_WRITE(dev, FCBRDMAS, sg_dma_address(sg)); 189 SSS_WRITE(dev, FCBRDMAS, sg_dma_address(sg));
@@ -672,6 +679,7 @@ static struct platform_driver s5p_aes_crypto = {
672 .driver = { 679 .driver = {
673 .owner = THIS_MODULE, 680 .owner = THIS_MODULE,
674 .name = "s5p-secss", 681 .name = "s5p-secss",
682 .of_match_table = s5p_sss_dt_match,
675 }, 683 },
676}; 684};
677 685