]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
crypto: s5p-sss - Add device tree support
authorNaveen Krishna Chatradhi <ch.naveen@samsung.com>
Thu, 8 May 2014 13:58:13 +0000 (21:58 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 8 May 2014 13:58:13 +0000 (21:58 +0800)
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>
Documentation/devicetree/bindings/crypto/samsung-sss.txt [new file with mode: 0644]
drivers/crypto/s5p-sss.c

diff --git a/Documentation/devicetree/bindings/crypto/samsung-sss.txt b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
new file mode 100644 (file)
index 0000000..f6e09a6
--- /dev/null
@@ -0,0 +1,25 @@
+Samsung SoC SSS (Security SubSystem) module
+
+The SSS module in S5PV210 SoC supports the following:
+-- Feeder (FeedCtrl)
+-- Advanced Encryption Standard (AES)
+-- Data Encryption Standard (DES)/3DES
+-- Public Key Accelerator (PKA)
+-- SHA-1/SHA-256/MD5/HMAC (SHA-1/SHA-256/MD5)/PRNG
+-- PRNG: Pseudo Random Number Generator
+
+Required properties:
+
+- compatible : Should contain entries for this and backward compatible
+  SSS versions:
+  - "samsung,s5pv210-secss" for S5PV210 SoC.
+- reg : Offset and length of the register set for the module
+- interrupts : interrupt specifiers of SSS module interrupts, should contain
+               two entries:
+               - first : feed control interrupt,
+               - second : hash interrupt.
+
+- clocks : list of clock phandle and specifier pairs for all clocks  listed in
+               clock-names property.
+- clock-names : list of device clock input names; should contain one entry
+               "secss".
index 2876fa37d1f9d428a8f9bdc77a3aa6273c2f8148..c6aafe84e06a6d7bc7f908cc1836e7c868f2193f 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/scatterlist.h>
 #include <linux/dma-mapping.h>
 #include <linux/io.h>
+#include <linux/of.h>
 #include <linux/crypto.h>
 #include <linux/interrupt.h>
 
@@ -177,6 +178,12 @@ struct s5p_aes_dev {
 
 static struct s5p_aes_dev *s5p_dev;
 
+static const struct of_device_id s5p_sss_dt_match[] = {
+       { .compatible = "samsung,s5pv210-secss" },
+       { },
+};
+MODULE_DEVICE_TABLE(of, s5p_sss_dt_match);
+
 static void s5p_set_dma_indata(struct s5p_aes_dev *dev, struct scatterlist *sg)
 {
        SSS_WRITE(dev, FCBRDMAS, sg_dma_address(sg));
@@ -672,6 +679,7 @@ static struct platform_driver s5p_aes_crypto = {
        .driver = {
                .owner  = THIS_MODULE,
                .name   = "s5p-secss",
+               .of_match_table = s5p_sss_dt_match,
        },
 };