From: Darwin Rambo <drambo@broadcom.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/6] arch: kona: Initial commit of kona-common architecture code
Date: Mon, 27 Jan 2014 10:53:25 -0800 [thread overview]
Message-ID: <1390848810-7227-2-git-send-email-drambo@broadcom.com> (raw)
In-Reply-To: <1390848810-7227-1-git-send-email-drambo@broadcom.com>
The Kona architecture is present on a number of Broadcom mobile SoCs
including the bcm281xx family of chips.
Signed-off-by: Darwin Rambo <drambo@broadcom.com>
Reviewed-by: Steve Rae <srae@broadcom.com>
Reviewed-by: Tim Kryger <tkryger@linaro.org>
---
arch/arm/cpu/armv7/Makefile | 1 +
arch/arm/cpu/armv7/kona-common/Makefile | 10 ++++++++
arch/arm/cpu/armv7/kona-common/clk-stubs.c | 22 +++++++++++++++++
arch/arm/cpu/armv7/kona-common/hwinit-common.c | 18 ++++++++++++++
arch/arm/cpu/armv7/kona-common/lowlevel_init.S | 15 ++++++++++++
arch/arm/cpu/armv7/kona-common/proc.c | 20 +++++++++++++++
arch/arm/include/asm/kona-common/clk.h | 31 ++++++++++++++++++++++++
arch/arm/include/asm/kona-common/misc.h | 20 +++++++++++++++
8 files changed, 137 insertions(+)
create mode 100644 arch/arm/cpu/armv7/kona-common/Makefile
create mode 100644 arch/arm/cpu/armv7/kona-common/clk-stubs.c
create mode 100644 arch/arm/cpu/armv7/kona-common/hwinit-common.c
create mode 100644 arch/arm/cpu/armv7/kona-common/lowlevel_init.S
create mode 100644 arch/arm/cpu/armv7/kona-common/proc.c
create mode 100644 arch/arm/include/asm/kona-common/clk.h
create mode 100644 arch/arm/include/asm/kona-common/misc.h
diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
index 0467d00..119ebb3 100644
--- a/arch/arm/cpu/armv7/Makefile
+++ b/arch/arm/cpu/armv7/Makefile
@@ -23,6 +23,7 @@ obj-y += nonsec_virt.o
obj-y += virt-v7.o
endif
+obj-$(CONFIG_KONA) += kona-common/
obj-$(CONFIG_OMAP_COMMON) += omap-common/
obj-$(CONFIG_TEGRA) += tegra-common/
diff --git a/arch/arm/cpu/armv7/kona-common/Makefile b/arch/arm/cpu/armv7/kona-common/Makefile
new file mode 100644
index 0000000..9a7c167
--- /dev/null
+++ b/arch/arm/cpu/armv7/kona-common/Makefile
@@ -0,0 +1,10 @@
+#
+# Copyright 2013 Broadcom Corporation. All rights reserved.
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+obj-y += clk-stubs.o
+obj-y += hwinit-common.o
+obj-y += proc.o
+obj-y += lowlevel_init.o
diff --git a/arch/arm/cpu/armv7/kona-common/clk-stubs.c b/arch/arm/cpu/armv7/kona-common/clk-stubs.c
new file mode 100644
index 0000000..dd3ce34
--- /dev/null
+++ b/arch/arm/cpu/armv7/kona-common/clk-stubs.c
@@ -0,0 +1,22 @@
+/*****************************************************************************
+*
+* Copyright 2013 Broadcom Corporation. All rights reserved.
+*
+* SPDX-License-Identifier: GPL-2.0+
+*
+*****************************************************************************/
+
+#include <common.h>
+
+/*
+ * These weak functions are available to kona architectures that don't
+ * require clock enables from the driver code.
+ */
+int __weak clk_sdio_enable(void *base, u32 rate, u32 *actual_ratep)
+{
+ return 0;
+}
+int __weak clk_bsc_enable(void *base, u32 rate, u32 *actual_ratep)
+{
+ return 0;
+}
diff --git a/arch/arm/cpu/armv7/kona-common/hwinit-common.c b/arch/arm/cpu/armv7/kona-common/hwinit-common.c
new file mode 100644
index 0000000..5d6b131
--- /dev/null
+++ b/arch/arm/cpu/armv7/kona-common/hwinit-common.c
@@ -0,0 +1,18 @@
+/*****************************************************************************
+*
+* Copyright 2013 Broadcom Corporation. All rights reserved.
+*
+* SPDX-License-Identifier: GPL-2.0+
+*
+*****************************************************************************/
+
+#include <common.h>
+#include <asm/sizes.h>
+
+#ifndef CONFIG_SYS_DCACHE_OFF
+void enable_caches(void)
+{
+ /* Enable D-cache. I-cache is already enabled in start.S */
+ dcache_enable();
+}
+#endif
diff --git a/arch/arm/cpu/armv7/kona-common/lowlevel_init.S b/arch/arm/cpu/armv7/kona-common/lowlevel_init.S
new file mode 100644
index 0000000..a03afcc
--- /dev/null
+++ b/arch/arm/cpu/armv7/kona-common/lowlevel_init.S
@@ -0,0 +1,15 @@
+/*****************************************************************************
+*
+* Copyright 2013 Broadcom Corporation. All rights reserved.
+*
+* SPDX-License-Identifier: GPL-2.0+
+*
+*****************************************************************************/
+
+//#include <asm-offsets.h>
+//#include <config.h>
+//#include <linux/linkage.h>
+
+.globl lowlevel_init
+lowlevel_init:
+ mov pc, lr
diff --git a/arch/arm/cpu/armv7/kona-common/proc.c b/arch/arm/cpu/armv7/kona-common/proc.c
new file mode 100644
index 0000000..92fb39b
--- /dev/null
+++ b/arch/arm/cpu/armv7/kona-common/proc.c
@@ -0,0 +1,20 @@
+/*****************************************************************************
+*
+* Copyright 2013 Broadcom Corporation. All rights reserved.
+*
+* SPDX-License-Identifier: GPL-2.0+
+*
+*****************************************************************************/
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/kona-common/misc.h>
+#include <asm/armv7.h>
+
+void do_proc_wfe(int forever)
+{
+ do {
+ asm volatile ("wfe @ wait for event\n");
+ /*printf("wake up from wfe\n"); */
+ } while (forever);
+}
diff --git a/arch/arm/include/asm/kona-common/clk.h b/arch/arm/include/asm/kona-common/clk.h
new file mode 100644
index 0000000..c26c6a4
--- /dev/null
+++ b/arch/arm/include/asm/kona-common/clk.h
@@ -0,0 +1,31 @@
+/*****************************************************************************
+*
+* Copyright 2013 Broadcom Corporation. All rights reserved.
+*
+* SPDX-License-Identifier: GPL-2.0+
+*
+*****************************************************************************/
+
+/* This API file is loosely based on u-boot/drivers/video/ipu.h and linux */
+
+#ifndef __KONA_COMMON_CLK_H
+#define __KONA_COMMON_CLK_H
+
+#include <linux/types.h>
+
+struct clk;
+
+/* Only implement required functions for your specific architecture */
+int clk_init(void);
+struct clk *clk_get(const char *id);
+int clk_enable(struct clk *clk);
+void clk_disable(struct clk *clk);
+unsigned long clk_get_rate(struct clk *clk);
+long clk_round_rate(struct clk *clk, unsigned long rate);
+int clk_set_rate(struct clk *clk, unsigned long rate);
+int clk_set_parent(struct clk *clk, struct clk *parent);
+struct clk *clk_get_parent(struct clk *clk);
+int clk_sdio_enable(void *base, u32 rate, u32 *actual_ratep);
+int clk_bsc_enable(void *base);
+
+#endif
diff --git a/arch/arm/include/asm/kona-common/misc.h b/arch/arm/include/asm/kona-common/misc.h
new file mode 100644
index 0000000..8506bbc
--- /dev/null
+++ b/arch/arm/include/asm/kona-common/misc.h
@@ -0,0 +1,20 @@
+/*****************************************************************************
+*
+* Copyright 2013 Broadcom Corporation. All rights reserved.
+*
+* SPDX-License-Identifier: GPL-2.0+
+*
+*****************************************************************************/
+
+#ifndef __KONA_COMMON_MISC_H
+#define __KONA_COMMON_MISC_H
+
+#include <mmc.h>
+
+void hw_watchdog_disable(void);
+int kona_sdhci_init(int dev_index, u32 min_clk, u32 quirks);
+int kona_i2c_init(unsigned int dev_idx, unsigned long base_addr);
+
+void proc_on_wfi(void);
+
+#endif
--
1.7.9.5
next prev parent reply other threads:[~2014-01-27 18:53 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-27 18:53 [U-Boot] [PATCH 0/6] Introducing the Broadcom bcm281xx Architecture Darwin Rambo
2014-01-27 18:53 ` Darwin Rambo [this message]
2014-01-29 22:32 ` [U-Boot] [PATCH 1/6] arch: kona: Initial commit of kona-common architecture code Tom Rini
2014-01-30 23:09 ` Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 2/6] arch: bcm281xx: Initial commit of bcm281xx " Darwin Rambo
2014-01-29 22:32 ` Tom Rini
2014-01-30 22:03 ` Darwin Rambo
2014-01-31 17:54 ` Tom Rini
2014-01-31 18:19 ` Darwin Rambo
2014-01-31 17:47 ` Matt Porter
2014-01-27 18:53 ` [U-Boot] [PATCH 3/6] gpio: kona: Add Kona gpio driver Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 4/6] i2c: kona: Add Kona I2C driver Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 5/6] mmc: kona: Add Kona mmc driver Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 6/6] board: bcm28155_ap: Add board files Darwin Rambo
2014-01-29 22:33 ` Tom Rini
2014-01-30 23:05 ` Darwin Rambo
2014-01-31 14:17 ` Tom Rini
2014-01-31 17:05 ` Tim Kryger
2014-01-31 17:15 ` Tom Rini
2014-01-31 18:18 ` Darwin Rambo
2014-01-29 22:32 ` [U-Boot] [PATCH 0/6] Introducing the Broadcom bcm281xx Architecture Tom Rini
2014-01-30 23:12 ` Darwin Rambo
2014-01-31 19:14 ` Tom Rini
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=1390848810-7227-2-git-send-email-drambo@broadcom.com \
--to=drambo@broadcom.com \
--cc=u-boot@lists.denx.de \
/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