Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b9f16e6 authored by Naveen Krishna Chatradhi's avatar Naveen Krishna Chatradhi Committed by Herbert Xu
Browse files

crypto: s5p-sss - Add device tree support



This patch adds device tree support to the s5p-sss.c crypto driver.

Signed-off-by: default avatarNaveen Krishna Chatradhi <ch.naveen@samsung.com>
CC: David S. Miller <davem@davemloft.net>
CC: <linux-samsung-soc@vger.kernel.org>
Acked-by: default avatarVladimir Zapolskiy <vz@mleia.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 96fc70b6
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
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".
+8 −0
Original line number Diff line number Diff line
@@ -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,
	},
};