diff options
author | Naveen Krishna Chatradhi <ch.naveen@samsung.com> | 2014-05-08 09:58:13 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2014-05-08 09:58:13 -0400 |
commit | 6b9f16e6c2b712f724e6ca1538d18ea8a788dd90 (patch) | |
tree | 0c813baee07cb1dac4e67835268384f4f3d5d6f7 | |
parent | 96fc70b63c51199b96bee1b90c939fa75d611332 (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.txt | 25 | ||||
-rw-r--r-- | drivers/crypto/s5p-sss.c | 8 |
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 @@ | |||
1 | Samsung SoC SSS (Security SubSystem) module | ||
2 | |||
3 | The 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 | |||
11 | Required 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 | ||
178 | static struct s5p_aes_dev *s5p_dev; | 179 | static struct s5p_aes_dev *s5p_dev; |
179 | 180 | ||
181 | static const struct of_device_id s5p_sss_dt_match[] = { | ||
182 | { .compatible = "samsung,s5pv210-secss" }, | ||
183 | { }, | ||
184 | }; | ||
185 | MODULE_DEVICE_TABLE(of, s5p_sss_dt_match); | ||
186 | |||
180 | static void s5p_set_dma_indata(struct s5p_aes_dev *dev, struct scatterlist *sg) | 187 | static 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 | ||