From: Naveen Krishna Ch <ch.naveen@samsung.com>
To: linux-crypto@vger.kernel.org, linux-samsung-soc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, vzapolskiy@gmail.com,
herbert@gondor.apana.org.au, naveenkrishna.ch@gmail.com,
cpgs@samsung.com, "David S. Miller" <davem@davemloft.net>
Subject: [PATCH 2/5] crypto:s5p-sss: Add device tree and Exynos5 support
Date: Tue, 07 Jan 2014 17:21:46 +0530 [thread overview]
Message-ID: <1389095509-14357-3-git-send-email-ch.naveen@samsung.com> (raw)
In-Reply-To: <1389095509-14357-1-git-send-email-ch.naveen@samsung.com>
This patch adds device tree support along with a new
compatible string to support Exynos5 SoCs (SSS_VER_5).
Also, Documentation under devicetree/bindings added.
Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com>
CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: David S. Miller <davem@davemloft.net>
CC: Vladimir Zapolskiy <vzapolskiy@gmail.com>
TO: <linux-crypto@vger.kernel.org>
CC: <linux-samsung-soc@vger.kernel.org>
---
.../devicetree/bindings/crypto/samsung-sss.txt | 24 ++++++++++++
drivers/crypto/s5p-sss.c | 40 ++++++++++++++++++++
2 files changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/crypto/samsung-sss.txt
diff --git a/Documentation/devicetree/bindings/crypto/samsung-sss.txt b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
new file mode 100644
index 0000000..8871a29
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
@@ -0,0 +1,24 @@
+Samsung SoC SSS crypto Module
+
+Required properties:
+
+- compatible : Should contain entries for this and backward compatible
+ SSS versions:
+ - "samsung,exynos-secss" for S5PV210.
+ - "samsung,s5p-secss" for Exynos5 series SoCs.
+ TBD: SSS module on Exynos5 SoCs supports other algorithms,
+ support for the is yet to be added in the driver.
+- reg : Offset and length of the register set for the module
+- interrupts : the interrupt-specifier for the SSS module.
+- clocks : the required gating clock for the SSS module.
+- clock-names : the gating clock name requested in the SSS driver.
+
+Example:
+ /* SSS_VER_5 */
+ sss: sss {
+ compatible = "samsung,exynos-secss";
+ reg = <0x10830000 0x10000>;
+ interrupts = <0 112 0>;
+ clocks = <&clock 471>;
+ clock-names = "secss";
+ };
diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
index dda4551..dcb9fc1 100644
--- a/drivers/crypto/s5p-sss.c
+++ b/drivers/crypto/s5p-sss.c
@@ -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>
@@ -173,10 +174,45 @@ struct s5p_aes_dev {
struct crypto_queue queue;
bool busy;
spinlock_t lock;
+
+ /* To support SSS versions across Samsung SoCs */
+ unsigned int version;
};
static struct s5p_aes_dev *s5p_dev;
+enum sss_version {
+ SSS_VER_4, /* SSS found on S5PV210 */
+ SSS_VER_5, /* SSS found on Exynos5 Series SoCs */
+};
+
+static struct platform_device_id s5p_sss_ids[] = {
+ {
+ .name = "s5p-secss",
+ .driver_data = SSS_VER_4,
+ }, { },
+};
+MODULE_DEVICE_TABLE(platform, s5p_sss_ids);
+
+static struct of_device_id s5p_sss_dt_match[] = {
+ { .compatible = "samsung,s5p-secss", .data = (void *)SSS_VER_4 },
+ { .compatible = "samsung,exynos-secss", .data = (void *)SSS_VER_5 },
+ { },
+};
+MODULE_DEVICE_TABLE(of, s5p_sss_dt_match);
+
+static inline unsigned int find_s5p_sss_version(struct platform_device *pdev)
+{
+#ifdef CONFIG_OF
+ if (pdev->dev.of_node) {
+ const struct of_device_id *match;
+ match = of_match_node(s5p_sss_dt_match, pdev->dev.of_node);
+ return (unsigned int)match->data;
+ }
+#endif
+ return platform_get_device_id(pdev)->driver_data;
+}
+
static void s5p_set_dma_indata(struct s5p_aes_dev *dev, struct scatterlist *sg)
{
SSS_WRITE(dev, FCBRDMAS, sg_dma_address(sg));
@@ -580,6 +616,8 @@ static int s5p_aes_probe(struct platform_device *pdev)
resource_size(res), pdev->name))
return -EBUSY;
+ pdata->version = find_s5p_sss_version(pdev);
+
pdata->clk = devm_clk_get(dev, "secss");
if (IS_ERR(pdata->clk)) {
dev_err(dev, "failed to find secss clock source\n");
@@ -674,9 +712,11 @@ static int s5p_aes_remove(struct platform_device *pdev)
static struct platform_driver s5p_aes_crypto = {
.probe = s5p_aes_probe,
.remove = s5p_aes_remove,
+ .id_table = s5p_sss_ids,
.driver = {
.owner = THIS_MODULE,
.name = "s5p-secss",
+ .of_match_table = s5p_sss_dt_match,
},
};
--
1.7.9.5
next prev parent reply other threads:[~2014-01-07 11:52 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-07 11:51 [PATCH 0/5] crypto:s5p-sss: Add DT " Naveen Krishna Ch
2014-01-07 11:51 ` [PATCH 1/5] crypto:s5p-sss: Use platform_get_irq() instead of _byname() Naveen Krishna Ch
2014-01-08 0:14 ` Tomasz Figa
2014-01-09 4:58 ` [PATCH 1/6 v2] " Naveen Krishna Chatradhi
2014-01-10 11:41 ` [PATCH 1/8 v3] " Naveen Krishna Chatradhi
2014-01-10 15:15 ` Tomasz Figa
2014-01-15 9:14 ` [PATCH 1/8 v4] " Naveen Krishna Chatradhi
2014-01-23 10:19 ` Naveen Krishna Ch
2014-01-29 9:19 ` [PATCH 1/9 v5] " Naveen Krishna Chatradhi
2014-02-07 5:21 ` [PATCH 1/9 v6] " Naveen Krishna Chatradhi
2014-01-07 11:51 ` Naveen Krishna Ch [this message]
2014-01-08 0:25 ` [PATCH 2/5] crypto:s5p-sss: Add device tree and Exynos5 support Tomasz Figa
2014-01-09 4:59 ` [PATCH 2/6 v2] crypto:s5p-sss: Add device tree support Naveen Krishna Chatradhi
2014-01-09 14:14 ` Tomasz Figa
2014-01-10 6:07 ` Naveen Krishna Ch
2014-01-10 6:20 ` Sachin Kamat
2014-01-10 13:44 ` Tomasz Figa
2014-01-10 11:42 ` [PATCH 2/8 v3] " Naveen Krishna Chatradhi
2014-01-15 9:14 ` [PATCH 2/8 v4] " Naveen Krishna Chatradhi
2014-01-23 10:20 ` Naveen Krishna Ch
2014-01-23 10:28 ` Sylwester Nawrocki
2014-01-23 17:41 ` Mark Rutland
2014-01-23 17:47 ` Sylwester Nawrocki
2014-01-23 17:59 ` Mark Rutland
2014-01-29 9:20 ` [PATCH 2/9 v5] " Naveen Krishna Chatradhi
2014-02-06 14:36 ` Tomasz Figa
2014-02-07 5:21 ` [PATCH 2/9 v6] " Naveen Krishna Chatradhi
2014-01-07 11:51 ` [PATCH 3/5] crypto:s5p-sss: Add support for SSS module on Exynos5 Naveen Krishna Ch
2014-01-08 0:29 ` Tomasz Figa
2014-01-09 4:59 ` [PATCH 3/6 v2] crypto:s5p-sss: Add support for SSS module on Exynos Naveen Krishna Chatradhi
2014-01-09 9:32 ` Sachin Kamat
2014-01-15 9:15 ` [PATCH 3/8 v4] " Naveen Krishna Chatradhi
2014-01-24 14:09 ` Tomasz Figa
2014-01-29 9:21 ` [PATCH 3/9 v5] " Naveen Krishna Chatradhi
2014-02-06 14:39 ` Tomasz Figa
2014-01-10 11:42 ` [PATCH 3/8 v3] " Naveen Krishna Chatradhi
2014-01-10 15:44 ` Tomasz Figa
2014-01-13 21:06 ` Vladimir Zapolskiy
2014-01-14 6:16 ` Naveen Krishna Ch
2014-01-07 11:51 ` [PATCH 4/5] crypto:s5p-sss: Exynos5 SoCs too can select SSS driver Naveen Krishna Ch
2014-01-08 0:30 ` Tomasz Figa
2014-01-09 4:27 ` Naveen Krishna Ch
2014-01-09 4:59 ` [PATCH 4/6 v2] crypto:s5p-sss: Kconfig: Let Exynos SoCs " Naveen Krishna Chatradhi
2014-01-09 9:29 ` Sachin Kamat
2014-01-15 9:15 ` [PATCH 4/8 v4] " Naveen Krishna Chatradhi
2014-01-29 9:22 ` [PATCH 4/9 v5] " Naveen Krishna Chatradhi
2014-02-06 14:41 ` Tomasz Figa
2014-01-10 11:43 ` [PATCH 4/8 v3] " Naveen Krishna Chatradhi
2014-01-10 15:47 ` Tomasz Figa
2014-02-07 5:23 ` [PATCH 4/9 v6] " Naveen Krishna Chatradhi
2014-01-07 11:51 ` [PATCH 5/5] ARM: exynos5420: add dt node for sss module Naveen Krishna Ch
2014-01-08 0:32 ` Tomasz Figa
2014-01-09 4:26 ` Naveen Krishna Ch
2014-01-09 5:00 ` [PATCH 5/6 v2] ARM: dts: " Naveen Krishna Chatradhi
2014-01-10 11:44 ` [PATCH 6/8 v3] ARM: dts: exynos5250/5420: " Naveen Krishna Chatradhi
2014-01-10 16:00 ` Tomasz Figa
2014-01-10 11:43 ` [PATCH 5/8 v3] clk:exynos-5250: Add gate clock for SSS module Naveen Krishna Chatradhi
2014-01-10 15:58 ` Tomasz Figa
2014-01-15 9:05 ` Naveen Krishna Ch
2014-01-15 9:16 ` [PATCH 5/8 v4] clk: samsung: exynos5250/5420: " Naveen Krishna Chatradhi
2014-01-23 10:20 ` Naveen Krishna Ch
2014-01-24 15:26 ` Tomasz Figa
2014-01-29 9:24 ` [PATCH 5/9 v5] clk: samsung " Naveen Krishna Chatradhi
2014-02-06 14:43 ` Tomasz Figa
2014-02-07 5:24 ` [PATCH 5/9 v6] " Naveen Krishna Chatradhi
2014-02-07 5:24 ` [PATCH 6/9 v6] ARM: dts: exynos5250/5420: add dt node for sss module Naveen Krishna Chatradhi
2014-02-13 23:28 ` Kukjin Kim
2014-02-13 23:32 ` Kukjin Kim
2014-02-14 4:13 ` Naveen Krishna Ch
2014-02-14 10:54 ` Tomasz Figa
2014-02-17 8:56 ` Naveen Krishna Ch
2014-01-10 11:41 ` [PATCH 0/8 v3] crypto:s5p-sss: Add DT and Exynos support Naveen Krishna Chatradhi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1389095509-14357-3-git-send-email-ch.naveen@samsung.com \
--to=ch.naveen@samsung.com \
--cc=cpgs@samsung.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=naveenkrishna.ch@gmail.com \
--cc=vzapolskiy@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®