diff mbox

[2/8,v4] crypto:s5p-sss: Add device tree support

Message ID 1389777291-15026-1-git-send-email-ch.naveen@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Naveen Krishna Chatradhi Jan. 15, 2014, 9:14 a.m. UTC
This patch adds device tree support to the s5p-sss.c crypto driver.

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>
---
Changes since v3:
None

 .../devicetree/bindings/crypto/samsung-sss.txt     |   20 ++++++++++++++++++++
 drivers/crypto/s5p-sss.c                           |   10 +++++++++-
 2 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/crypto/samsung-sss.txt

Comments

Naveen Krishna Ch Jan. 23, 2014, 10:20 a.m. UTC | #1
Hello All,

On 15 January 2014 14:44, Naveen Krishna Chatradhi
<ch.naveen@samsung.com> wrote:
> This patch adds device tree support to the s5p-sss.c crypto driver.
>
> 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>
> ---
> Changes since v3:
> None
>
>  .../devicetree/bindings/crypto/samsung-sss.txt     |   20 ++++++++++++++++++++
>  drivers/crypto/s5p-sss.c                           |   10 +++++++++-
>  2 files changed, 29 insertions(+), 1 deletion(-)
>  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..2f9d7e4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
> @@ -0,0 +1,20 @@
> +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 : the interrupt-specifier for the SSS module.
> +               Two interrupts "feed control and hash" in case of S5PV210
> +- clocks : the required gating clock for the SSS module.
> +- clock-names : the gating clock name to be requested in the SSS driver.
> diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
> index 93cddeb..2da5617 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>
>
> @@ -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));
> @@ -676,7 +683,8 @@ static struct platform_driver s5p_aes_crypto = {
>         .remove = s5p_aes_remove,
>         .driver = {
>                 .owner  = THIS_MODULE,
> -               .name   = "s5p-secss",
> +               .name   = "s5pv210-secss",
> +               .of_match_table = s5p_sss_dt_match,
>         },
>  };
>
> --
> 1.7.9.5
Any update on this patch, Please
>
Hi,

(Adding missing devicetre ML list at CC.)

On 15/01/14 10:14, Naveen Krishna Chatradhi wrote:
> This patch adds device tree support to the s5p-sss.c crypto driver.
> 
> 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>
> ---
> Changes since v3:
> None
> 
>  .../devicetree/bindings/crypto/samsung-sss.txt     |   20 ++++++++++++++++++++
>  drivers/crypto/s5p-sss.c                           |   10 +++++++++-
>  2 files changed, 29 insertions(+), 1 deletion(-)
>  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..2f9d7e4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
> @@ -0,0 +1,20 @@
> +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 : the interrupt-specifier for the SSS module.
> +		Two interrupts "feed control and hash" in case of S5PV210

It should be described in what order both interrupts are supposed to be
specified.

> +- clocks : the required gating clock for the SSS module.
> +- clock-names : the gating clock name to be requested in the SSS driver.
> diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
> index 93cddeb..2da5617 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>
>  
> @@ -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", },

nit: the first semicolon could be omitted.

> +	{ },
> +};
> +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));
> @@ -676,7 +683,8 @@ static struct platform_driver s5p_aes_crypto = {
>  	.remove	= s5p_aes_remove,
>  	.driver	= {
>  		.owner	= THIS_MODULE,
> -		.name	= "s5p-secss",
> +		.name	= "s5pv210-secss",

Why you're changing the driver name ? It's not related and not needed AFAICT.

> +		.of_match_table = s5p_sss_dt_match,
>  	},
>  };

--
Thanks,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Rutland Jan. 23, 2014, 5:41 p.m. UTC | #3
On Thu, Jan 23, 2014 at 10:28:08AM +0000, Sylwester Nawrocki wrote:
> Hi,
> 
> (Adding missing devicetre ML list at CC.)
> 
> On 15/01/14 10:14, Naveen Krishna Chatradhi wrote:
> > This patch adds device tree support to the s5p-sss.c crypto driver.
> > 
> > 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>
> > ---
> > Changes since v3:
> > None
> > 
> >  .../devicetree/bindings/crypto/samsung-sss.txt     |   20 ++++++++++++++++++++
> >  drivers/crypto/s5p-sss.c                           |   10 +++++++++-
> >  2 files changed, 29 insertions(+), 1 deletion(-)
> >  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..2f9d7e4
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
> > @@ -0,0 +1,20 @@
> > +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 : the interrupt-specifier for the SSS module.
> > +		Two interrupts "feed control and hash" in case of S5PV210
> 
> It should be described in what order both interrupts are supposed to be
> specified.
> 
> > +- clocks : the required gating clock for the SSS module.
> > +- clock-names : the gating clock name to be requested in the SSS driver.

The _exact_ names expected must be described in the binding, or this
property is useless.

> > diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
> > index 93cddeb..2da5617 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>
> >  
> > @@ -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", },
> 
> nit: the first semicolon could be omitted.

I assume you mean comma ratehr than semicolon?

Cheers,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
On 23/01/14 18:41, Mark Rutland wrote:
>>> diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
>>> > > index 93cddeb..2da5617 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>
>>> > >  
>>> > > @@ -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", },
>> > 
>> > nit: the first semicolon could be omitted.
>
> I assume you mean comma ratehr than semicolon?

Indeed...and it's actually the second one :-/

--
Regards,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Rutland Jan. 23, 2014, 5:59 p.m. UTC | #5
On Thu, Jan 23, 2014 at 05:47:25PM +0000, Sylwester Nawrocki wrote:
> On 23/01/14 18:41, Mark Rutland wrote:
> >>> diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
> >>> > > index 93cddeb..2da5617 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>
> >>> > >  
> >>> > > @@ -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", },
> >> > 
> >> > nit: the first semicolon could be omitted.
> >
> > I assume you mean comma ratehr than semicolon?
> 
> Indeed...and it's actually the second one :-/

Also, I meant "rather" rather than "ratehr". At least we figured it out
in the end. :)

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/crypto/samsung-sss.txt b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
new file mode 100644
index 0000000..2f9d7e4
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt
@@ -0,0 +1,20 @@ 
+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 : the interrupt-specifier for the SSS module.
+		Two interrupts "feed control and hash" in case of S5PV210
+- clocks : the required gating clock for the SSS module.
+- clock-names : the gating clock name to be requested in the SSS driver.
diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c
index 93cddeb..2da5617 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>
 
@@ -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));
@@ -676,7 +683,8 @@  static struct platform_driver s5p_aes_crypto = {
 	.remove	= s5p_aes_remove,
 	.driver	= {
 		.owner	= THIS_MODULE,
-		.name	= "s5p-secss",
+		.name	= "s5pv210-secss",
+		.of_match_table = s5p_sss_dt_match,
 	},
 };