[v3,2/5] arm: bcmcygnus: Add bcmcygnus u-architecture

Message ID 1407790706-31842-3-git-send-email-srae@broadcom.com
State Accepted
Commit 7986688075c13c1a87a086a2b36fcbcb4774efa8
Headers show

Commit Message

Steve Rae Aug. 11, 2014, 8:58 p.m.
From: Scott Branden <sbranden@broadcom.com>

Base support for the Broadcom Cygnus SoC.
Based on iproc-common and the SoC specific reset function.

Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Steve Rae <srae@broadcom.com>
---

Changes in v3: None
Changes in v2: None

 arch/arm/cpu/armv7/bcmcygnus/Makefile |  7 +++++++
 arch/arm/cpu/armv7/bcmcygnus/reset.c  | 20 ++++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 arch/arm/cpu/armv7/bcmcygnus/Makefile
 create mode 100644 arch/arm/cpu/armv7/bcmcygnus/reset.c

Comments

Tom Rini Aug. 30, 2014, 3:14 p.m. | #1
On Mon, Aug 11, 2014 at 01:58:23PM -0700, Steve Rae wrote:

> From: Scott Branden <sbranden@broadcom.com>
> 
> Base support for the Broadcom Cygnus SoC.
> Based on iproc-common and the SoC specific reset function.
> 
> Signed-off-by: Scott Branden <sbranden@broadcom.com>
> Signed-off-by: Steve Rae <srae@broadcom.com>

Applied to u-boot/master, thanks!

Patch

diff --git a/arch/arm/cpu/armv7/bcmcygnus/Makefile b/arch/arm/cpu/armv7/bcmcygnus/Makefile
new file mode 100644
index 0000000..04afcf9
--- /dev/null
+++ b/arch/arm/cpu/armv7/bcmcygnus/Makefile
@@ -0,0 +1,7 @@ 
+#
+# Copyright 2014 Broadcom Corporation.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	+= reset.o
diff --git a/arch/arm/cpu/armv7/bcmcygnus/reset.c b/arch/arm/cpu/armv7/bcmcygnus/reset.c
new file mode 100644
index 0000000..53ecc0c
--- /dev/null
+++ b/arch/arm/cpu/armv7/bcmcygnus/reset.c
@@ -0,0 +1,20 @@ 
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+
+#define CRMU_MAIL_BOX1		0x03024028
+#define CRMU_SOFT_RESET_CMD	0xFFFFFFFF
+
+void reset_cpu(ulong ignored)
+{
+	/* Send soft reset command via Mailbox. */
+	writel(CRMU_SOFT_RESET_CMD, CRMU_MAIL_BOX1);
+
+	while (1)
+		;	/* loop forever till reset */
+}