Received: from mail.onstor.com (66.201.51.107) by exch1.onstor.net
 (10.0.0.225) with Microsoft SMTP Server id 8.1.311.2; Tue, 26 May 2009
 08:03:11 -0700
Received: from psmtp.com ([64.18.0.87]) by mail.onstor.com with Microsoft
 SMTPSVC(6.0.3790.3959);	 Tue, 26 May 2009 08:03:10 -0700
Received: from source ([213.58.128.207]) by exprod5mx264.postini.com
 ([64.18.4.11]) with SMTP;	Tue, 26 May 2009 11:03:10 EDT
Received: from localhost.localdomain ([127.0.0.1]:34886 "EHLO
	ftp.linux-mips.org" rhost-flags-OK-OK-OK-FAIL) by ftp.linux-mips.org	with
 ESMTP id S20024055AbZEZPCt (ORCPT	<rfc822;andy.sharp@onstor.com>); Tue, 26
 May 2009 16:02:49 +0100
Received: with ECARTIS (v1.0.0; list linux-mips); Tue, 26 May 2009 16:02:32
 +0100 (BST)
Received: from mba.ocn.ne.jp ([122.1.235.107]:65375 "HELO smtp.mba.ocn.ne.jp"
	rhost-flags-OK-OK-OK-OK) by ftp.linux-mips.org with SMTP	id S20024052AbZEZPC0
 (ORCPT <rfc822;linux-mips@linux-mips.org>);	Tue, 26 May 2009 16:02:26 +0100
Received: from localhost.localdomain (p1252-ipad203funabasi.chiba.ocn.ne.jp
 [222.146.80.252])	by smtp.mba.ocn.ne.jp (Postfix) with ESMTP	id 6DEB2ADD2;
 Wed, 27 May 2009 00:02:21 +0900 (JST)
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
To: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
CC: "ralf@linux-mips.org" <ralf@linux-mips.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Sender: "linux-mips-bounce@linux-mips.org" <linux-mips-bounce@linux-mips.org>
Date: Tue, 26 May 2009 08:02:21 -0700
Subject: [PATCH] TXx9: Add TX4939 RNG support
Thread-Topic: [PATCH] TXx9: Add TX4939 RNG support
Thread-Index: AcneExZA/+joiQ0uTTW6sitkQN7c7w==
Message-ID: <1243350141-883-2-git-send-email-anemo@mba.ocn.ne.jp>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 0b
X-MS-Exchange-Organization-AuthSource: exch1.onstor.net
X-MS-Has-Attach:
X-Auto-Response-Suppress: All
X-MS-TNEF-Correlator:
x-originalarrivaltime: 26 May 2009 15:03:10.0884 (UTC)
 FILETIME=[15D5AE40:01C9DE13]
x-ems-stamp: krh4YJE1jPJmskUnvKJBog==
x-ems-proccessed: 2K3Xl1OQTInXD6xxuA8z3Q==
errors-to: linux-mips-bounce@linux-mips.org
x-pstn-neptune: 0/0/0.00/0
x-pstn-levels: (S:56.88880/99.90000 CV:99.9000 FC:95.5390 LC:95.5390
 R:95.9108 P:95.9108 M:97.0282 C:98.6951 )
x-list: linux-mips
x-archive-position: 22972
x-ecartis-version: Ecartis v1.0.0
x-original-sender: anemo@mba.ocn.ne.jp
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

Add platform support for RNG of TX4939 SoC.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
---
 arch/mips/include/asm/txx9/tx4939.h   |    1 +
 arch/mips/txx9/generic/setup_tx4939.c |   18 ++++++++++++++++++
 arch/mips/txx9/rbtx4939/setup.c       |    1 +
 3 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/arch/mips/include/asm/txx9/tx4939.h b/arch/mips/include/asm/tx=
x9/tx4939.h
index 050364d..3451499 100644
--- a/arch/mips/include/asm/txx9/tx4939.h
+++ b/arch/mips/include/asm/txx9/tx4939.h
@@ -547,5 +547,6 @@ void tx4939_ndfmc_init(unsigned int hold, unsigned int =
spw,
 void tx4939_dmac_init(int memcpy_chan0, int memcpy_chan1);
 void tx4939_aclc_init(void);
 void tx4939_sramc_init(void);
+void tx4939_rng_init(void);
=20
 #endif /* __ASM_TXX9_TX4939_H */
diff --git a/arch/mips/txx9/generic/setup_tx4939.c b/arch/mips/txx9/generic=
/setup_tx4939.c
index df13a89..4b7293c 100644
--- a/arch/mips/txx9/generic/setup_tx4939.c
+++ b/arch/mips/txx9/generic/setup_tx4939.c
@@ -500,6 +500,24 @@ void __init tx4939_sramc_init(void)
 		txx9_sramc_init(&tx4939_sram_resource);
 }
=20
+#define TX4939_RNG_REG	((TX4939_CRYPTO_REG & 0xfffffffffULL) + 0xb0)
+void __init tx4939_rng_init(void)
+{
+	static struct resource res =3D {
+		.start =3D TX4939_RNG_REG,
+		.end =3D TX4939_RNG_REG + 0x30 - 1,
+		.flags =3D IORESOURCE_MEM,
+	};
+	static struct platform_device pdev =3D {
+		.name =3D "tx4939-rng",
+		.id =3D -1,
+		.num_resources =3D 1,
+		.resource =3D &res,
+	};
+
+	platform_device_register(&pdev);
+}
+
 static void __init tx4939_stop_unused_modules(void)
 {
 	__u64 pcfg, rst =3D 0, ckd =3D 0;
diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setu=
p.c
index b919696..c033ffe 100644
--- a/arch/mips/txx9/rbtx4939/setup.c
+++ b/arch/mips/txx9/rbtx4939/setup.c
@@ -502,6 +502,7 @@ static void __init rbtx4939_device_init(void)
 	tx4939_aclc_init();
 	platform_device_register_simple("txx9aclc-generic", -1, NULL, 0);
 	tx4939_sramc_init();
+	tx4939_rng_init();
 }
=20
 static void __init rbtx4939_setup(void)
--=20
1.5.6.5


