All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards.
@ 2014-08-11 20:58 Steve Rae
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 1/5] arm: iproc: Initial commit of iproc architecture code Steve Rae
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Steve Rae @ 2014-08-11 20:58 UTC (permalink / raw)
  To: u-boot

This series adds the bcm958300k and the bcm958622hr boards which
share the iproc architecture code.

Changes in v3:
- remove boards.cfg
- improve error checking of configs
- add required files for Kconfig

Changes in v2:
- remove unused include file
- reformat multi-line comment(s)
- remove deprecated "SZ_" definitions
- remove misc_init_r()
- update CONFIG_ENV_SIZE

Scott Branden (4):
  arm: iproc: Initial commit of iproc architecture code
  arm: bcmcygnus: Add bcmcygnus u-architecture
  arm: bcmnsp: Add bcmnsp u-architecture
  arm: add Cygnus and NSP boards

Steve Rae (1):
  arm: convert Cygnus and NSP boards to Kconfig

 arch/arm/Kconfig                                |   8 ++
 arch/arm/cpu/armv7/Makefile                     |   1 +
 arch/arm/cpu/armv7/bcmcygnus/Makefile           |   7 +
 arch/arm/cpu/armv7/bcmcygnus/reset.c            |  20 +++
 arch/arm/cpu/armv7/bcmnsp/Makefile              |   7 +
 arch/arm/cpu/armv7/bcmnsp/reset.c               |  19 +++
 arch/arm/cpu/armv7/iproc-common/Makefile        |   9 ++
 arch/arm/cpu/armv7/iproc-common/armpll.c        | 170 ++++++++++++++++++++++++
 arch/arm/cpu/armv7/iproc-common/hwinit-common.c |  15 +++
 arch/arm/cpu/armv7/iproc-common/timer.c         | 130 ++++++++++++++++++
 arch/arm/include/asm/arch-bcmcygnus/configs.h   |  25 ++++
 arch/arm/include/asm/arch-bcmnsp/configs.h      |  22 +++
 arch/arm/include/asm/iproc-common/armpll.h      |  14 ++
 arch/arm/include/asm/iproc-common/configs.h     |  20 +++
 arch/arm/include/asm/iproc-common/sysmap.h      |  47 +++++++
 arch/arm/include/asm/iproc-common/timer.h       |  37 ++++++
 board/broadcom/bcm958300k/Kconfig               |  23 ++++
 board/broadcom/bcm958300k/MAINTAINERS           |   6 +
 board/broadcom/bcm958622hr/Kconfig              |  23 ++++
 board/broadcom/bcm958622hr/MAINTAINERS          |   6 +
 board/broadcom/bcm_ep/Makefile                  |   7 +
 board/broadcom/bcm_ep/board.c                   |  55 ++++++++
 configs/bcm958300k_defconfig                    |   3 +
 configs/bcm958622hr_defconfig                   |   3 +
 include/configs/bcm_ep_board.h                  | 115 ++++++++++++++++
 25 files changed, 792 insertions(+)
 create mode 100644 arch/arm/cpu/armv7/bcmcygnus/Makefile
 create mode 100644 arch/arm/cpu/armv7/bcmcygnus/reset.c
 create mode 100644 arch/arm/cpu/armv7/bcmnsp/Makefile
 create mode 100644 arch/arm/cpu/armv7/bcmnsp/reset.c
 create mode 100644 arch/arm/cpu/armv7/iproc-common/Makefile
 create mode 100644 arch/arm/cpu/armv7/iproc-common/armpll.c
 create mode 100644 arch/arm/cpu/armv7/iproc-common/hwinit-common.c
 create mode 100644 arch/arm/cpu/armv7/iproc-common/timer.c
 create mode 100644 arch/arm/include/asm/arch-bcmcygnus/configs.h
 create mode 100644 arch/arm/include/asm/arch-bcmnsp/configs.h
 create mode 100644 arch/arm/include/asm/iproc-common/armpll.h
 create mode 100644 arch/arm/include/asm/iproc-common/configs.h
 create mode 100644 arch/arm/include/asm/iproc-common/sysmap.h
 create mode 100644 arch/arm/include/asm/iproc-common/timer.h
 create mode 100644 board/broadcom/bcm958300k/Kconfig
 create mode 100644 board/broadcom/bcm958300k/MAINTAINERS
 create mode 100644 board/broadcom/bcm958622hr/Kconfig
 create mode 100644 board/broadcom/bcm958622hr/MAINTAINERS
 create mode 100644 board/broadcom/bcm_ep/Makefile
 create mode 100644 board/broadcom/bcm_ep/board.c
 create mode 100644 configs/bcm958300k_defconfig
 create mode 100644 configs/bcm958622hr_defconfig
 create mode 100644 include/configs/bcm_ep_board.h

-- 
1.8.5

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH v3 1/5] arm: iproc: Initial commit of iproc architecture code
  2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
@ 2014-08-11 20:58 ` Steve Rae
  2014-08-30 15:14   ` [U-Boot] [U-Boot, v3, " Tom Rini
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 2/5] arm: bcmcygnus: Add bcmcygnus u-architecture Steve Rae
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Steve Rae @ 2014-08-11 20:58 UTC (permalink / raw)
  To: u-boot

From: Scott Branden <sbranden@broadcom.com>

The iproc architecture code is present in several Broadcom
chip architectures, including Cygnus and NSP.

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

Changes in v3: None
Changes in v2:
- remove unused include file

 arch/arm/cpu/armv7/Makefile                     |   1 +
 arch/arm/cpu/armv7/iproc-common/Makefile        |   9 ++
 arch/arm/cpu/armv7/iproc-common/armpll.c        | 170 ++++++++++++++++++++++++
 arch/arm/cpu/armv7/iproc-common/hwinit-common.c |  15 +++
 arch/arm/cpu/armv7/iproc-common/timer.c         | 130 ++++++++++++++++++
 arch/arm/include/asm/iproc-common/armpll.h      |  14 ++
 arch/arm/include/asm/iproc-common/sysmap.h      |  47 +++++++
 arch/arm/include/asm/iproc-common/timer.h       |  37 ++++++
 8 files changed, 423 insertions(+)
 create mode 100644 arch/arm/cpu/armv7/iproc-common/Makefile
 create mode 100644 arch/arm/cpu/armv7/iproc-common/armpll.c
 create mode 100644 arch/arm/cpu/armv7/iproc-common/hwinit-common.c
 create mode 100644 arch/arm/cpu/armv7/iproc-common/timer.c
 create mode 100644 arch/arm/include/asm/iproc-common/armpll.h
 create mode 100644 arch/arm/include/asm/iproc-common/sysmap.h
 create mode 100644 arch/arm/include/asm/iproc-common/timer.h

diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
index 703ce8c..afeed4d 100644
--- a/arch/arm/cpu/armv7/Makefile
+++ b/arch/arm/cpu/armv7/Makefile
@@ -28,6 +28,7 @@ ifneq ($(CONFIG_ARMV7_PSCI),)
 obj-y	+= psci.o
 endif
 
+obj-$(CONFIG_IPROC) += iproc-common/
 obj-$(CONFIG_KONA) += kona-common/
 obj-$(CONFIG_OMAP_COMMON) += omap-common/
 obj-$(CONFIG_SYS_ARCH_TIMER) += arch_timer.o
diff --git a/arch/arm/cpu/armv7/iproc-common/Makefile b/arch/arm/cpu/armv7/iproc-common/Makefile
new file mode 100644
index 0000000..c071a17
--- /dev/null
+++ b/arch/arm/cpu/armv7/iproc-common/Makefile
@@ -0,0 +1,9 @@
+#
+# Copyright 2014 Broadcom Corporation.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	+= armpll.o
+obj-y	+= hwinit-common.o
+obj-y	+= timer.o
diff --git a/arch/arm/cpu/armv7/iproc-common/armpll.c b/arch/arm/cpu/armv7/iproc-common/armpll.c
new file mode 100644
index 0000000..49b61bf
--- /dev/null
+++ b/arch/arm/cpu/armv7/iproc-common/armpll.c
@@ -0,0 +1,170 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/iproc-common/armpll.h>
+#include <asm/iproc-common/sysmap.h>
+
+#define NELEMS(x)	(sizeof(x) / sizeof(x[0]))
+
+struct armpll_parameters {
+	unsigned int mode;
+	unsigned int ndiv_int;
+	unsigned int ndiv_frac;
+	unsigned int pdiv;
+	unsigned int freqid;
+};
+
+struct armpll_parameters armpll_clk_tab[] = {
+	{   25, 64,      1, 1, 0},
+	{  100, 64,      1, 1, 2},
+	{  400, 64,      1, 1, 6},
+	{  448, 71, 713050, 1, 6},
+	{  500, 80,      1, 1, 6},
+	{  560, 89, 629145, 1, 6},
+	{  600, 96,      1, 1, 6},
+	{  800, 64,      1, 1, 7},
+	{  896, 71, 713050, 1, 7},
+	{ 1000, 80,      1, 1, 7},
+	{ 1100, 88,      1, 1, 7},
+	{ 1120, 89, 629145, 1, 7},
+	{ 1200, 96,      1, 1, 7},
+};
+
+uint32_t armpll_config(uint32_t clkmhz)
+{
+	uint32_t freqid;
+	uint32_t ndiv_frac;
+	uint32_t pll;
+	uint32_t status = 1;
+	uint32_t timeout_countdown;
+	int i;
+
+	for (i = 0; i < NELEMS(armpll_clk_tab); i++) {
+		if (armpll_clk_tab[i].mode == clkmhz) {
+			status = 0;
+			break;
+		}
+	}
+
+	if (status) {
+		printf("Error: Clock configuration not supported\n");
+		goto armpll_config_done;
+	}
+
+	/* Enable write access */
+	writel(IPROC_REG_WRITE_ACCESS, IHOST_PROC_CLK_WR_ACCESS);
+
+	if (clkmhz == 25)
+		freqid = 0;
+	else
+		freqid = 2;
+
+	/* Bypass ARM clock and run on sysclk */
+	writel(1 << IHOST_PROC_CLK_POLICY_FREQ__PRIV_ACCESS_MODE |
+	       freqid << IHOST_PROC_CLK_POLICY_FREQ__POLICY3_FREQ_R |
+	       freqid << IHOST_PROC_CLK_POLICY_FREQ__POLICY2_FREQ_R |
+	       freqid << IHOST_PROC_CLK_POLICY_FREQ__POLICY1_FREQ_R |
+	       freqid << IHOST_PROC_CLK_POLICY_FREQ__POLICY0_FREQ_R,
+	       IHOST_PROC_CLK_POLICY_FREQ);
+
+	writel(1 << IHOST_PROC_CLK_POLICY_CTL__GO |
+	       1 << IHOST_PROC_CLK_POLICY_CTL__GO_AC,
+	       IHOST_PROC_CLK_POLICY_CTL);
+
+	/* Poll CCU until operation complete */
+	timeout_countdown = 0x100000;
+	while (readl(IHOST_PROC_CLK_POLICY_CTL) &
+	       (1 << IHOST_PROC_CLK_POLICY_CTL__GO)) {
+		timeout_countdown--;
+		if (timeout_countdown == 0) {
+			printf("CCU polling timedout\n");
+			status = 1;
+			goto armpll_config_done;
+		}
+	}
+
+	if (clkmhz == 25 || clkmhz == 100) {
+		status = 0;
+		goto armpll_config_done;
+	}
+
+	/* Now it is safe to program the PLL */
+	pll = readl(IHOST_PROC_CLK_PLLARMB);
+	pll &= ~((1 << IHOST_PROC_CLK_PLLARMB__PLLARM_NDIV_FRAC_WIDTH) - 1);
+	ndiv_frac =
+		((1 << IHOST_PROC_CLK_PLLARMB__PLLARM_NDIV_FRAC_WIDTH) - 1) &
+		 (armpll_clk_tab[i].ndiv_frac <<
+		 IHOST_PROC_CLK_PLLARMB__PLLARM_NDIV_FRAC_R);
+	pll |= ndiv_frac;
+	writel(pll, IHOST_PROC_CLK_PLLARMB);
+
+	writel(1 << IHOST_PROC_CLK_PLLARMA__PLLARM_LOCK |
+	       armpll_clk_tab[i].ndiv_int <<
+			IHOST_PROC_CLK_PLLARMA__PLLARM_NDIV_INT_R |
+	       armpll_clk_tab[i].pdiv <<
+			IHOST_PROC_CLK_PLLARMA__PLLARM_PDIV_R |
+	       1 << IHOST_PROC_CLK_PLLARMA__PLLARM_SOFT_RESETB,
+	       IHOST_PROC_CLK_PLLARMA);
+
+	/* Poll ARM PLL Lock until operation complete */
+	timeout_countdown = 0x100000;
+	while (readl(IHOST_PROC_CLK_PLLARMA) &
+	       (1 << IHOST_PROC_CLK_PLLARMA__PLLARM_LOCK)) {
+		timeout_countdown--;
+		if (timeout_countdown == 0) {
+			printf("ARM PLL lock failed\n");
+			status = 1;
+			goto armpll_config_done;
+		}
+	}
+
+	pll = readl(IHOST_PROC_CLK_PLLARMA);
+	pll |= (1 << IHOST_PROC_CLK_PLLARMA__PLLARM_SOFT_POST_RESETB);
+	writel(pll, IHOST_PROC_CLK_PLLARMA);
+
+	/* Set the policy */
+	writel(1 << IHOST_PROC_CLK_POLICY_FREQ__PRIV_ACCESS_MODE |
+	       armpll_clk_tab[i].freqid <<
+			IHOST_PROC_CLK_POLICY_FREQ__POLICY3_FREQ_R |
+	       armpll_clk_tab[i].freqid <<
+			IHOST_PROC_CLK_POLICY_FREQ__POLICY2_FREQ_R |
+	       armpll_clk_tab[i].freqid <<
+			IHOST_PROC_CLK_POLICY_FREQ__POLICY1_FREQ_R |
+	       armpll_clk_tab[i+4].freqid <<
+			IHOST_PROC_CLK_POLICY_FREQ__POLICY0_FREQ_R,
+	       IHOST_PROC_CLK_POLICY_FREQ);
+
+	writel(IPROC_CLKCT_HDELAY_SW_EN, IHOST_PROC_CLK_CORE0_CLKGATE);
+	writel(IPROC_CLKCT_HDELAY_SW_EN, IHOST_PROC_CLK_CORE1_CLKGATE);
+	writel(IPROC_CLKCT_HDELAY_SW_EN, IHOST_PROC_CLK_ARM_SWITCH_CLKGATE);
+	writel(IPROC_CLKCT_HDELAY_SW_EN, IHOST_PROC_CLK_ARM_PERIPH_CLKGATE);
+	writel(IPROC_CLKCT_HDELAY_SW_EN, IHOST_PROC_CLK_APB0_CLKGATE);
+
+	writel(1 << IHOST_PROC_CLK_POLICY_CTL__GO |
+	       1 << IHOST_PROC_CLK_POLICY_CTL__GO_AC,
+	       IHOST_PROC_CLK_POLICY_CTL);
+
+	/* Poll CCU until operation complete */
+	timeout_countdown = 0x100000;
+	while (readl(IHOST_PROC_CLK_POLICY_CTL) &
+	       (1 << IHOST_PROC_CLK_POLICY_CTL__GO)) {
+		timeout_countdown--;
+		if (timeout_countdown == 0) {
+			printf("CCU polling failed\n");
+			status = 1;
+			goto armpll_config_done;
+		}
+	}
+
+	status = 0;
+armpll_config_done:
+	/* Disable access to PLL registers */
+	writel(0, IHOST_PROC_CLK_WR_ACCESS);
+
+	return status;
+}
diff --git a/arch/arm/cpu/armv7/iproc-common/hwinit-common.c b/arch/arm/cpu/armv7/iproc-common/hwinit-common.c
new file mode 100644
index 0000000..7131524
--- /dev/null
+++ b/arch/arm/cpu/armv7/iproc-common/hwinit-common.c
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.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/iproc-common/timer.c b/arch/arm/cpu/armv7/iproc-common/timer.c
new file mode 100644
index 0000000..373d8ec
--- /dev/null
+++ b/arch/arm/cpu/armv7/iproc-common/timer.c
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <div64.h>
+#include <asm/io.h>
+#include <asm/iproc-common/timer.h>
+#include <asm/iproc-common/sysmap.h>
+
+static inline uint64_t timer_global_read(void)
+{
+	uint64_t cur_tick;
+	uint32_t count_h;
+	uint32_t count_l;
+
+	do {
+		count_h = readl(IPROC_PERIPH_GLB_TIM_REG_BASE +
+				TIMER_GLB_HI_OFFSET);
+		count_l = readl(IPROC_PERIPH_GLB_TIM_REG_BASE +
+				TIMER_GLB_LOW_OFFSET);
+		cur_tick = readl(IPROC_PERIPH_GLB_TIM_REG_BASE +
+				 TIMER_GLB_HI_OFFSET);
+	} while (cur_tick != count_h);
+
+	return (cur_tick << 32) + count_l;
+}
+
+void timer_global_init(void)
+{
+	writel(0, IPROC_PERIPH_GLB_TIM_REG_BASE + TIMER_GLB_CTRL_OFFSET);
+	writel(0, IPROC_PERIPH_GLB_TIM_REG_BASE + TIMER_GLB_LOW_OFFSET);
+	writel(0, IPROC_PERIPH_GLB_TIM_REG_BASE + TIMER_GLB_HI_OFFSET);
+	writel(TIMER_GLB_TIM_CTRL_TIM_EN,
+	       IPROC_PERIPH_GLB_TIM_REG_BASE + TIMER_GLB_CTRL_OFFSET);
+}
+
+int timer_init(void)
+{
+	timer_global_init();
+	return 0;
+}
+
+unsigned long get_timer(unsigned long base)
+{
+	uint64_t count;
+	uint64_t ret;
+	uint64_t tim_clk;
+	uint64_t periph_clk;
+
+	count = timer_global_read();
+
+	/* default arm clk is 1GHz, periph_clk=arm_clk/2, tick per msec */
+	periph_clk = 500000;
+	tim_clk = lldiv(periph_clk,
+			(((readl(IPROC_PERIPH_GLB_TIM_REG_BASE +
+				 TIMER_GLB_CTRL_OFFSET) &
+			TIMER_GLB_TIM_CTRL_PRESC_MASK) >> 8) + 1));
+
+	ret = lldiv(count, (uint32_t)tim_clk);
+
+	/* returns msec */
+	return ret - base;
+}
+
+void __udelay(unsigned long usec)
+{
+	uint64_t cur_tick, end_tick;
+	uint64_t tim_clk;
+	uint64_t periph_clk;
+
+	/* default arm clk is 1GHz, periph_clk=arm_clk/2, tick per usec */
+	periph_clk = 500;
+
+	tim_clk = lldiv(periph_clk,
+			(((readl(IPROC_PERIPH_GLB_TIM_REG_BASE +
+				 TIMER_GLB_CTRL_OFFSET) &
+			TIMER_GLB_TIM_CTRL_PRESC_MASK) >> 8) + 1));
+
+	cur_tick = timer_global_read();
+
+	end_tick = tim_clk;
+	end_tick *= usec;
+	end_tick += cur_tick;
+
+	do {
+		cur_tick = timer_global_read();
+
+	} while (cur_tick < end_tick);
+}
+
+void timer_systick_init(uint32_t tick_ms)
+{
+	/* Disable timer and clear interrupt status*/
+	writel(0, IPROC_PERIPH_PVT_TIM_REG_BASE + TIMER_PVT_CTRL_OFFSET);
+	writel(TIMER_PVT_TIM_INT_STATUS_SET,
+	       IPROC_PERIPH_PVT_TIM_REG_BASE + TIMER_PVT_STATUS_OFFSET);
+	writel((PLL_AXI_CLK/1000) * tick_ms,
+	       IPROC_PERIPH_PVT_TIM_REG_BASE + TIMER_PVT_LOAD_OFFSET);
+	writel(TIMER_PVT_TIM_CTRL_INT_EN |
+	       TIMER_PVT_TIM_CTRL_AUTO_RELD |
+	       TIMER_PVT_TIM_CTRL_TIM_EN,
+	       IPROC_PERIPH_PVT_TIM_REG_BASE + TIMER_PVT_CTRL_OFFSET);
+}
+
+void timer_systick_isr(void *data)
+{
+	writel(TIMER_PVT_TIM_INT_STATUS_SET,
+	       IPROC_PERIPH_PVT_TIM_REG_BASE + TIMER_PVT_STATUS_OFFSET);
+}
+
+/*
+ * This function is derived from PowerPC code (read timebase as long long).
+ * On ARM it just returns the timer value in msec.
+ */
+unsigned long long get_ticks(void)
+{
+	return get_timer(0);
+}
+
+/*
+ * This is used in conjuction with get_ticks, which returns msec as ticks.
+ * Here we just return ticks/sec = msec/sec = 1000
+ */
+ulong get_tbclk(void)
+{
+	return 1000;
+}
diff --git a/arch/arm/include/asm/iproc-common/armpll.h b/arch/arm/include/asm/iproc-common/armpll.h
new file mode 100644
index 0000000..1bee350
--- /dev/null
+++ b/arch/arm/include/asm/iproc-common/armpll.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __ARMPLL_H
+#define __ARMPLL_H
+
+#include <linux/types.h>
+
+uint32_t armpll_config(uint32_t clkmhz);
+
+#endif /*__ARMPLL_H */
diff --git a/arch/arm/include/asm/iproc-common/sysmap.h b/arch/arm/include/asm/iproc-common/sysmap.h
new file mode 100644
index 0000000..5766dc9
--- /dev/null
+++ b/arch/arm/include/asm/iproc-common/sysmap.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __SYSMAP_H
+#define __SYSMAP_H
+
+#define IHOST_PROC_CLK_PLLARMA					0X19000C00
+#define IHOST_PROC_CLK_PLLARMB					0X19000C04
+#define IHOST_PROC_CLK_PLLARMA__PLLARM_PDIV_R				24
+
+#define IHOST_PROC_CLK_WR_ACCESS				0X19000000
+#define IHOST_PROC_CLK_POLICY_FREQ				0X19000008
+#define IHOST_PROC_CLK_POLICY_FREQ__PRIV_ACCESS_MODE			31
+#define IHOST_PROC_CLK_POLICY_FREQ__POLICY3_FREQ_R			24
+#define IHOST_PROC_CLK_POLICY_FREQ__POLICY2_FREQ_R			16
+#define IHOST_PROC_CLK_POLICY_FREQ__POLICY1_FREQ_R			 8
+#define IHOST_PROC_CLK_POLICY_CTL				0X1900000C
+#define IHOST_PROC_CLK_POLICY_CTL__GO					 0
+#define IHOST_PROC_CLK_POLICY_CTL__GO_AC				 1
+#define IHOST_PROC_CLK_PLLARMB__PLLARM_NDIV_FRAC_R			 0
+#define IHOST_PROC_CLK_PLLARMB__PLLARM_NDIV_FRAC_WIDTH			20
+#define IHOST_PROC_CLK_PLLARMA__PLLARM_LOCK				28
+#define IHOST_PROC_CLK_POLICY_FREQ__POLICY0_FREQ_R			 0
+#define IHOST_PROC_CLK_PLLARMA__PLLARM_NDIV_INT_R			 8
+#define IHOST_PROC_CLK_PLLARMA__PLLARM_SOFT_POST_RESETB			 1
+#define IHOST_PROC_CLK_PLLARMA__PLLARM_SOFT_RESETB			 0
+#define IHOST_PROC_CLK_CORE0_CLKGATE				0X19000200
+#define IHOST_PROC_CLK_CORE1_CLKGATE				0X19000204
+#define IHOST_PROC_CLK_ARM_SWITCH_CLKGATE			0X19000210
+#define IHOST_PROC_CLK_ARM_PERIPH_CLKGATE			0X19000300
+#define IHOST_PROC_CLK_APB0_CLKGATE				0X19000400
+#define IPROC_CLKCT_HDELAY_SW_EN				0x00000303
+
+#define IPROC_REG_WRITE_ACCESS					0x00a5a501
+
+#define IPROC_PERIPH_BASE					0x19020000
+#define IPROC_PERIPH_INT_CTRL_REG_BASE		(IPROC_PERIPH_BASE +  0x100)
+#define IPROC_PERIPH_GLB_TIM_REG_BASE		(IPROC_PERIPH_BASE +  0x200)
+#define IPROC_PERIPH_PVT_TIM_REG_BASE		(IPROC_PERIPH_BASE +  0x600)
+#define IPROC_PERIPH_INT_DISTR_REG_BASE		(IPROC_PERIPH_BASE + 0x1000)
+
+#define PLL_AXI_CLK						0x1DCD6500
+
+#endif /* __SYSMAP_H */
diff --git a/arch/arm/include/asm/iproc-common/timer.h b/arch/arm/include/asm/iproc-common/timer.h
new file mode 100644
index 0000000..2bc2322
--- /dev/null
+++ b/arch/arm/include/asm/iproc-common/timer.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __TIMER_H
+#define __TIMER_H
+
+#include <linux/types.h>
+
+void timer_systick_init(uint32_t tick_ms);
+void timer_global_init(void);
+
+/* ARM A9 Private Timer */
+#define TIMER_PVT_LOAD_OFFSET			0x00000000
+#define TIMER_PVT_COUNTER_OFFSET		0x00000004
+#define TIMER_PVT_CTRL_OFFSET			0x00000008
+#define TIMER_PVT_STATUS_OFFSET			0x0000000C
+#define TIMER_PVT_TIM_CTRL_TIM_EN		0x00000001
+#define TIMER_PVT_TIM_CTRL_AUTO_RELD		0x00000002
+#define TIMER_PVT_TIM_CTRL_INT_EN		0x00000004
+#define TIMER_PVT_TIM_CTRL_PRESC_MASK		0x0000FF00
+#define TIMER_PVT_TIM_INT_STATUS_SET		0x00000001
+
+/* Global timer */
+#define TIMER_GLB_LOW_OFFSET			0x00000000
+#define TIMER_GLB_HI_OFFSET			0x00000004
+#define TIMER_GLB_CTRL_OFFSET			0x00000008
+#define TIMER_GLB_TIM_CTRL_TIM_EN		0x00000001
+#define TIMER_GLB_TIM_CTRL_COMP_EN		0x00000002
+#define TIMER_GLB_TIM_CTRL_INT_EN		0x00000004
+#define TIMER_GLB_TIM_CTRL_AUTO_INC		0x00000008
+#define TIMER_GLB_TIM_CTRL_PRESC_MASK		0x0000FF00
+#define TIMER_GLB_TIM_INT_STATUS_SET		0x00000001
+
+#endif /*__TIMER_H */
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH v3 2/5] arm: bcmcygnus: Add bcmcygnus u-architecture
  2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 1/5] arm: iproc: Initial commit of iproc architecture code Steve Rae
@ 2014-08-11 20:58 ` Steve Rae
  2014-08-30 15:14   ` [U-Boot] [U-Boot, v3, " Tom Rini
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 3/5] arm: bcmnsp: Add bcmnsp u-architecture Steve Rae
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Steve Rae @ 2014-08-11 20:58 UTC (permalink / raw)
  To: u-boot

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

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 */
+}
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH v3 3/5] arm: bcmnsp: Add bcmnsp u-architecture
  2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 1/5] arm: iproc: Initial commit of iproc architecture code Steve Rae
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 2/5] arm: bcmcygnus: Add bcmcygnus u-architecture Steve Rae
@ 2014-08-11 20:58 ` Steve Rae
  2014-08-30 15:15   ` [U-Boot] [U-Boot, v3, " Tom Rini
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 4/5] arm: add Cygnus and NSP boards Steve Rae
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Steve Rae @ 2014-08-11 20:58 UTC (permalink / raw)
  To: u-boot

From: Scott Branden <sbranden@broadcom.com>

Base support for the Broadcom NSP 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/bcmnsp/Makefile |  7 +++++++
 arch/arm/cpu/armv7/bcmnsp/reset.c  | 19 +++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 arch/arm/cpu/armv7/bcmnsp/Makefile
 create mode 100644 arch/arm/cpu/armv7/bcmnsp/reset.c

diff --git a/arch/arm/cpu/armv7/bcmnsp/Makefile b/arch/arm/cpu/armv7/bcmnsp/Makefile
new file mode 100644
index 0000000..04afcf9
--- /dev/null
+++ b/arch/arm/cpu/armv7/bcmnsp/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/bcmnsp/reset.c b/arch/arm/cpu/armv7/bcmnsp/reset.c
new file mode 100644
index 0000000..d79d9aa
--- /dev/null
+++ b/arch/arm/cpu/armv7/bcmnsp/reset.c
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+
+#define CRU_RESET_OFFSET	0x1803F184
+
+void reset_cpu(ulong ignored)
+{
+	/* Reset the cpu by setting software reset request bit */
+	writel(0x1, CRU_RESET_OFFSET);
+
+	while (1)
+		;	/* loop forever till reset */
+}
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH v3 4/5] arm: add Cygnus and NSP boards
  2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
                   ` (2 preceding siblings ...)
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 3/5] arm: bcmnsp: Add bcmnsp u-architecture Steve Rae
@ 2014-08-11 20:58 ` Steve Rae
  2014-08-30 15:15   ` [U-Boot] [U-Boot,v3,4/5] " Tom Rini
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 5/5] arm: convert Cygnus and NSP boards to Kconfig Steve Rae
  2014-08-28 18:05 ` [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
  5 siblings, 1 reply; 12+ messages in thread
From: Steve Rae @ 2014-08-11 20:58 UTC (permalink / raw)
  To: u-boot

From: Scott Branden <sbranden@broadcom.com>

The bcm_ep board configuration is used by a number of boards
including Cygnus and NSP.
Add builds for the bcm958300k and the bcm958622hr boards.

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

Changes in v3:
- remove boards.cfg
- improve error checking of configs

Changes in v2:
- reformat multi-line comment(s)
- remove deprecated "SZ_" definitions
- remove misc_init_r()
- update CONFIG_ENV_SIZE

 arch/arm/include/asm/arch-bcmcygnus/configs.h |  25 ++++++
 arch/arm/include/asm/arch-bcmnsp/configs.h    |  22 +++++
 arch/arm/include/asm/iproc-common/configs.h   |  20 +++++
 board/broadcom/bcm_ep/Makefile                |   7 ++
 board/broadcom/bcm_ep/board.c                 |  55 ++++++++++++
 include/configs/bcm_ep_board.h                | 115 ++++++++++++++++++++++++++
 6 files changed, 244 insertions(+)
 create mode 100644 arch/arm/include/asm/arch-bcmcygnus/configs.h
 create mode 100644 arch/arm/include/asm/arch-bcmnsp/configs.h
 create mode 100644 arch/arm/include/asm/iproc-common/configs.h
 create mode 100644 board/broadcom/bcm_ep/Makefile
 create mode 100644 board/broadcom/bcm_ep/board.c
 create mode 100644 include/configs/bcm_ep_board.h

diff --git a/arch/arm/include/asm/arch-bcmcygnus/configs.h b/arch/arm/include/asm/arch-bcmcygnus/configs.h
new file mode 100644
index 0000000..5354637
--- /dev/null
+++ b/arch/arm/include/asm/arch-bcmcygnus/configs.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __ARCH_CONFIGS_H
+#define __ARCH_CONFIGS_H
+
+#include <asm/iproc-common/configs.h>
+
+/* uArchitecture specifics */
+
+/* Serial Info */
+/* Post pad 3 bytes after each reg addr */
+#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
+#define CONFIG_SYS_NS16550_MEM32
+
+#define CONFIG_SYS_NS16550_CLK		100000000
+#define CONFIG_SYS_NS16550_CLK_DIV	54
+#define CONFIG_SERIAL_MULTI
+#define CONFIG_CONS_INDEX		3
+#define CONFIG_SYS_NS16550_COM3		0x18023000
+
+#endif /* __ARCH_CONFIGS_H */
diff --git a/arch/arm/include/asm/arch-bcmnsp/configs.h b/arch/arm/include/asm/arch-bcmnsp/configs.h
new file mode 100644
index 0000000..786deae
--- /dev/null
+++ b/arch/arm/include/asm/arch-bcmnsp/configs.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __ARCH_CONFIGS_H
+#define __ARCH_CONFIGS_H
+
+#include <asm/iproc-common/configs.h>
+
+/* uArchitecture specifics */
+
+/* Serial Info */
+/* no padding */
+#define CONFIG_SYS_NS16550_REG_SIZE	1
+
+#define CONFIG_SYS_NS16550_CLK		0x03b9aca0
+#define CONFIG_CONS_INDEX		1
+#define CONFIG_SYS_NS16550_COM1		0x18000300
+
+#endif /* __ARCH_CONFIGS_H */
diff --git a/arch/arm/include/asm/iproc-common/configs.h b/arch/arm/include/asm/iproc-common/configs.h
new file mode 100644
index 0000000..c24de1f
--- /dev/null
+++ b/arch/arm/include/asm/iproc-common/configs.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __IPROC_COMMON_CONFIGS_H
+#define __IPROC_COMMON_CONFIGS_H
+
+#include <linux/stringify.h>
+
+/* Architecture, CPU, chip, etc */
+#define CONFIG_IPROC
+#define CONFIG_SYS_ARM_CACHE_WRITETHROUGH
+
+/* Memory Info */
+#define CONFIG_SYS_TEXT_BASE		0x61000000
+#define CONFIG_SYS_SDRAM_BASE		0x61000000
+
+#endif /* __IPROC_COMMON_CONFIGS_H */
diff --git a/board/broadcom/bcm_ep/Makefile b/board/broadcom/bcm_ep/Makefile
new file mode 100644
index 0000000..8914e54
--- /dev/null
+++ b/board/broadcom/bcm_ep/Makefile
@@ -0,0 +1,7 @@
+#
+# Copyright 2014 Broadcom Corporation.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	+= board.o
diff --git a/board/broadcom/bcm_ep/board.c b/board/broadcom/bcm_ep/board.c
new file mode 100644
index 0000000..e48cd3f
--- /dev/null
+++ b/board/broadcom/bcm_ep/board.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <config.h>
+#include <asm/system.h>
+#include <asm/iproc-common/armpll.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * board_init - early hardware init
+ */
+int board_init(void)
+{
+	/*
+	 * Address of boot parameters passed to kernel
+	 * Use default offset 0x100
+	 */
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+
+	return 0;
+}
+
+/*
+ * dram_init - sets u-boot's idea of sdram size
+ */
+int dram_init(void)
+{
+	gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
+				    CONFIG_SYS_SDRAM_SIZE);
+	return 0;
+}
+
+void dram_init_banksize(void)
+{
+	gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
+	gd->bd->bi_dram[0].size = gd->ram_size;
+}
+
+int board_early_init_f(void)
+{
+	uint32_t status = 0;
+
+	/* Setup PLL if required */
+#if defined(CONFIG_ARMCLK)
+	armpll_config(CONFIG_ARMCLK);
+#endif
+
+	return status;
+}
diff --git a/include/configs/bcm_ep_board.h b/include/configs/bcm_ep_board.h
new file mode 100644
index 0000000..827844e
--- /dev/null
+++ b/include/configs/bcm_ep_board.h
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __BCM_EP_BOARD_H
+#define __BCM_EP_BOARD_H
+
+#include <asm/arch/configs.h>
+
+/* Architecture, CPU, chip, etc */
+#define CONFIG_ARMV7
+#define CONFIG_SKIP_LOWLEVEL_INIT
+
+#define CONFIG_SYS_GENERIC_BOARD
+
+/*
+ * Memory configuration
+ * (these must be defined elsewhere)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#error	CONFIG_SYS_TEXT_BASE must be defined!
+#endif
+#ifndef CONFIG_SYS_SDRAM_BASE
+#error	CONFIG_SYS_SDRAM_BASE must be defined!
+#endif
+#ifndef CONFIG_SYS_SDRAM_SIZE
+#error	CONFIG_SYS_SDRAM_SIZE must be defined!
+#endif
+
+#define CONFIG_NR_DRAM_BANKS		1
+
+#define CONFIG_SYS_MALLOC_LEN		(4 * 1024 * 1024)
+#define CONFIG_STACKSIZE		(256 * 1024)
+
+/* Some commands use this as the default load address */
+#define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_SDRAM_BASE
+
+/* No mtest functions as recommended */
+#undef CONFIG_CMD_MEMORY
+
+/*
+ * This is the initial SP which is used only briefly for relocating the u-boot
+ * image to the top of SDRAM. After relocation u-boot moves the stack to the
+ * proper place.
+ */
+#define CONFIG_SYS_INIT_SP_ADDR		CONFIG_SYS_TEXT_BASE
+
+/* allow to overwrite serial and ethaddr */
+#define CONFIG_ENV_OVERWRITE
+
+/* Serial Info */
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_SERIAL
+
+#define CONFIG_BAUDRATE			115200
+
+#define CONFIG_ENV_SIZE			0x2000
+#define CONFIG_ENV_IS_NOWHERE
+
+#define CONFIG_SYS_NO_FLASH	/* Not using NAND/NOR unmanaged flash */
+
+/* console configuration */
+#define CONFIG_SYS_CBSIZE		1024	/* Console buffer size */
+#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
+			sizeof(CONFIG_SYS_PROMPT) + 16)	/* Printbuffer size */
+#define CONFIG_SYS_MAXARGS		64
+#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
+
+/*
+ * One partition type must be defined for part.c
+ * This is necessary for the fatls command to work on an SD card
+ * for example.
+ */
+#define CONFIG_DOS_PARTITION
+
+/* version string, parser, etc */
+#define CONFIG_VERSION_VARIABLE
+#define CONFIG_AUTO_COMPLETE
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_COMMAND_HISTORY
+#define CONFIG_SYS_LONGHELP
+
+#define CONFIG_CRC32_VERIFY
+#define CONFIG_MX_CYCLIC
+
+/* Commands */
+#include <config_cmd_default.h>
+
+#define CONFIG_CMD_ASKENV
+#define CONFIG_CMD_CACHE
+#define CONFIG_CMD_FAT
+#define CONFIG_FAT_WRITE
+
+/* Enable devicetree support */
+#define CONFIG_OF_LIBFDT
+
+/* SHA hashing */
+#define CONFIG_CMD_HASH
+#define CONFIG_HASH_VERIFY
+#define CONFIG_SHA1
+#define CONFIG_SHA256
+
+/* Enable Time Command */
+#define CONFIG_CMD_TIME
+
+#define CONFIG_CMD_BOOTZ
+
+/* Misc utility code */
+#define CONFIG_BOUNCE_BUFFER
+#define CONFIG_CRC32_VERIFY
+
+#endif /* __BCM_EP_BOARD_H */
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH v3 5/5] arm: convert Cygnus and NSP boards to Kconfig
  2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
                   ` (3 preceding siblings ...)
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 4/5] arm: add Cygnus and NSP boards Steve Rae
@ 2014-08-11 20:58 ` Steve Rae
  2014-08-30 15:15   ` [U-Boot] [U-Boot, v3, " Tom Rini
  2014-08-28 18:05 ` [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
  5 siblings, 1 reply; 12+ messages in thread
From: Steve Rae @ 2014-08-11 20:58 UTC (permalink / raw)
  To: u-boot

Convert the bcm958300k and the bcm958622hr boards from "boards.cfg" to Kconfig.

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

Changes in v3:
- add required files for Kconfig

Changes in v2: None

 arch/arm/Kconfig                       |  8 ++++++++
 board/broadcom/bcm958300k/Kconfig      | 23 +++++++++++++++++++++++
 board/broadcom/bcm958300k/MAINTAINERS  |  6 ++++++
 board/broadcom/bcm958622hr/Kconfig     | 23 +++++++++++++++++++++++
 board/broadcom/bcm958622hr/MAINTAINERS |  6 ++++++
 configs/bcm958300k_defconfig           |  3 +++
 configs/bcm958622hr_defconfig          |  3 +++
 7 files changed, 72 insertions(+)
 create mode 100644 board/broadcom/bcm958300k/Kconfig
 create mode 100644 board/broadcom/bcm958300k/MAINTAINERS
 create mode 100644 board/broadcom/bcm958622hr/Kconfig
 create mode 100644 board/broadcom/bcm958622hr/MAINTAINERS
 create mode 100644 configs/bcm958300k_defconfig
 create mode 100644 configs/bcm958622hr_defconfig

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e385eda..f528e0a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -428,6 +428,12 @@ config TARGET_SAMA5D3XEK
 config TARGET_BCM28155_AP
 	bool "Support bcm28155_ap"
 
+config TARGET_BCM958300K
+	bool "Support bcm958300k"
+
+config TARGET_BCM958622HR
+	bool "Support bcm958622hr"
+
 config TARGET_ARNDALE
 	bool "Support arndale"
 
@@ -823,6 +829,8 @@ source "board/bluegiga/apx4devkit/Kconfig"
 source "board/bluewater/snapper9260/Kconfig"
 source "board/boundary/nitrogen6x/Kconfig"
 source "board/broadcom/bcm28155_ap/Kconfig"
+source "board/broadcom/bcm958300k/Kconfig"
+source "board/broadcom/bcm958622hr/Kconfig"
 source "board/buffalo/lsxl/Kconfig"
 source "board/calao/sbc35_a9g20/Kconfig"
 source "board/calao/tny_a9260/Kconfig"
diff --git a/board/broadcom/bcm958300k/Kconfig b/board/broadcom/bcm958300k/Kconfig
new file mode 100644
index 0000000..165cee7
--- /dev/null
+++ b/board/broadcom/bcm958300k/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_BCM958300K
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "bcm_ep"
+
+config SYS_VENDOR
+	string
+	default "broadcom"
+
+config SYS_SOC
+	string
+	default "bcmcygnus"
+
+config SYS_CONFIG_NAME
+	string
+	default "bcm_ep_board"
+
+endif
diff --git a/board/broadcom/bcm958300k/MAINTAINERS b/board/broadcom/bcm958300k/MAINTAINERS
new file mode 100644
index 0000000..f75ee6e
--- /dev/null
+++ b/board/broadcom/bcm958300k/MAINTAINERS
@@ -0,0 +1,6 @@
+Broadcom: Cygnus
+M:	Steve Rae <srae@broadcom.com>
+S:	Maintained
+F:	board/broadcom/bcm958300k/
+F:	include/configs/bcm_ep_board.h
+F:	configs/bcm958300k_defconfig
diff --git a/board/broadcom/bcm958622hr/Kconfig b/board/broadcom/bcm958622hr/Kconfig
new file mode 100644
index 0000000..6d09592
--- /dev/null
+++ b/board/broadcom/bcm958622hr/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_BCM958622HR
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "bcm_ep"
+
+config SYS_VENDOR
+	string
+	default "broadcom"
+
+config SYS_SOC
+	string
+	default "bcmnsp"
+
+config SYS_CONFIG_NAME
+	string
+	default "bcm_ep_board"
+
+endif
diff --git a/board/broadcom/bcm958622hr/MAINTAINERS b/board/broadcom/bcm958622hr/MAINTAINERS
new file mode 100644
index 0000000..c34272f
--- /dev/null
+++ b/board/broadcom/bcm958622hr/MAINTAINERS
@@ -0,0 +1,6 @@
+Broadcom: Northstar Plus
+M:	Steve Rae <srae@broadcom.com>
+S:	Maintained
+F:	board/broadcom/bcm958622hr/
+F:	include/configs/bcm_ep_board.h
+F:	configs/bcm958622hr_defconfig
diff --git a/configs/bcm958300k_defconfig b/configs/bcm958300k_defconfig
new file mode 100644
index 0000000..066739d
--- /dev/null
+++ b/configs/bcm958300k_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000"
+CONFIG_ARM=y
+CONFIG_TARGET_BCM958300K=y
diff --git a/configs/bcm958622hr_defconfig b/configs/bcm958622hr_defconfig
new file mode 100644
index 0000000..8a45e51
--- /dev/null
+++ b/configs/bcm958622hr_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x01000000"
+CONFIG_ARM=y
+CONFIG_TARGET_BCM958622HR=y
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards.
  2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
                   ` (4 preceding siblings ...)
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 5/5] arm: convert Cygnus and NSP boards to Kconfig Steve Rae
@ 2014-08-28 18:05 ` Steve Rae
  5 siblings, 0 replies; 12+ messages in thread
From: Steve Rae @ 2014-08-28 18:05 UTC (permalink / raw)
  To: u-boot



On 14-08-11 01:58 PM, Steve Rae wrote:
> This series adds the bcm958300k and the bcm958622hr boards which
> share the iproc architecture code.
>
> Changes in v3:
> - remove boards.cfg
> - improve error checking of configs
> - add required files for Kconfig
>
> Changes in v2:
> - remove unused include file
> - reformat multi-line comment(s)
> - remove deprecated "SZ_" definitions
> - remove misc_init_r()
> - update CONFIG_ENV_SIZE
>
> Scott Branden (4):
>    arm: iproc: Initial commit of iproc architecture code
>    arm: bcmcygnus: Add bcmcygnus u-architecture
>    arm: bcmnsp: Add bcmnsp u-architecture
>    arm: add Cygnus and NSP boards
>
> Steve Rae (1):
>    arm: convert Cygnus and NSP boards to Kconfig
>
>   arch/arm/Kconfig                                |   8 ++
>   arch/arm/cpu/armv7/Makefile                     |   1 +
>   arch/arm/cpu/armv7/bcmcygnus/Makefile           |   7 +
>   arch/arm/cpu/armv7/bcmcygnus/reset.c            |  20 +++
>   arch/arm/cpu/armv7/bcmnsp/Makefile              |   7 +
>   arch/arm/cpu/armv7/bcmnsp/reset.c               |  19 +++
>   arch/arm/cpu/armv7/iproc-common/Makefile        |   9 ++
>   arch/arm/cpu/armv7/iproc-common/armpll.c        | 170 ++++++++++++++++++++++++
>   arch/arm/cpu/armv7/iproc-common/hwinit-common.c |  15 +++
>   arch/arm/cpu/armv7/iproc-common/timer.c         | 130 ++++++++++++++++++
>   arch/arm/include/asm/arch-bcmcygnus/configs.h   |  25 ++++
>   arch/arm/include/asm/arch-bcmnsp/configs.h      |  22 +++
>   arch/arm/include/asm/iproc-common/armpll.h      |  14 ++
>   arch/arm/include/asm/iproc-common/configs.h     |  20 +++
>   arch/arm/include/asm/iproc-common/sysmap.h      |  47 +++++++
>   arch/arm/include/asm/iproc-common/timer.h       |  37 ++++++
>   board/broadcom/bcm958300k/Kconfig               |  23 ++++
>   board/broadcom/bcm958300k/MAINTAINERS           |   6 +
>   board/broadcom/bcm958622hr/Kconfig              |  23 ++++
>   board/broadcom/bcm958622hr/MAINTAINERS          |   6 +
>   board/broadcom/bcm_ep/Makefile                  |   7 +
>   board/broadcom/bcm_ep/board.c                   |  55 ++++++++
>   configs/bcm958300k_defconfig                    |   3 +
>   configs/bcm958622hr_defconfig                   |   3 +
>   include/configs/bcm_ep_board.h                  | 115 ++++++++++++++++
>   25 files changed, 792 insertions(+)
>   create mode 100644 arch/arm/cpu/armv7/bcmcygnus/Makefile
>   create mode 100644 arch/arm/cpu/armv7/bcmcygnus/reset.c
>   create mode 100644 arch/arm/cpu/armv7/bcmnsp/Makefile
>   create mode 100644 arch/arm/cpu/armv7/bcmnsp/reset.c
>   create mode 100644 arch/arm/cpu/armv7/iproc-common/Makefile
>   create mode 100644 arch/arm/cpu/armv7/iproc-common/armpll.c
>   create mode 100644 arch/arm/cpu/armv7/iproc-common/hwinit-common.c
>   create mode 100644 arch/arm/cpu/armv7/iproc-common/timer.c
>   create mode 100644 arch/arm/include/asm/arch-bcmcygnus/configs.h
>   create mode 100644 arch/arm/include/asm/arch-bcmnsp/configs.h
>   create mode 100644 arch/arm/include/asm/iproc-common/armpll.h
>   create mode 100644 arch/arm/include/asm/iproc-common/configs.h
>   create mode 100644 arch/arm/include/asm/iproc-common/sysmap.h
>   create mode 100644 arch/arm/include/asm/iproc-common/timer.h
>   create mode 100644 board/broadcom/bcm958300k/Kconfig
>   create mode 100644 board/broadcom/bcm958300k/MAINTAINERS
>   create mode 100644 board/broadcom/bcm958622hr/Kconfig
>   create mode 100644 board/broadcom/bcm958622hr/MAINTAINERS
>   create mode 100644 board/broadcom/bcm_ep/Makefile
>   create mode 100644 board/broadcom/bcm_ep/board.c
>   create mode 100644 configs/bcm958300k_defconfig
>   create mode 100644 configs/bcm958622hr_defconfig
>   create mode 100644 include/configs/bcm_ep_board.h
>

Any chance of getting this in soon?
( we have an upcoming release.... )
Thanks, Steve

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, v3, 1/5] arm: iproc: Initial commit of iproc architecture code
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 1/5] arm: iproc: Initial commit of iproc architecture code Steve Rae
@ 2014-08-30 15:14   ` Tom Rini
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-30 15:14 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 11, 2014 at 01:58:22PM -0700, Steve Rae wrote:

> From: Scott Branden <sbranden@broadcom.com>
> 
> The iproc architecture code is present in several Broadcom
> chip architectures, including Cygnus and NSP.
> 
> Signed-off-by: Scott Branden <sbranden@broadcom.com>
> Signed-off-by: Steve Rae <srae@broadcom.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140830/8c14320c/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, v3, 2/5] arm: bcmcygnus: Add bcmcygnus u-architecture
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 2/5] arm: bcmcygnus: Add bcmcygnus u-architecture Steve Rae
@ 2014-08-30 15:14   ` Tom Rini
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-30 15:14 UTC (permalink / raw)
  To: u-boot

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!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140830/ba084a24/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, v3, 3/5] arm: bcmnsp: Add bcmnsp u-architecture
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 3/5] arm: bcmnsp: Add bcmnsp u-architecture Steve Rae
@ 2014-08-30 15:15   ` Tom Rini
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-30 15:15 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 11, 2014 at 01:58:24PM -0700, Steve Rae wrote:

> From: Scott Branden <sbranden@broadcom.com>
> 
> Base support for the Broadcom NSP 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!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140830/be20bba4/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot,v3,4/5] arm: add Cygnus and NSP boards
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 4/5] arm: add Cygnus and NSP boards Steve Rae
@ 2014-08-30 15:15   ` Tom Rini
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-30 15:15 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 11, 2014 at 01:58:25PM -0700, Steve Rae wrote:

> From: Scott Branden <sbranden@broadcom.com>
> 
> The bcm_ep board configuration is used by a number of boards
> including Cygnus and NSP.
> Add builds for the bcm958300k and the bcm958622hr boards.
> 
> Signed-off-by: Scott Branden <sbranden@broadcom.com>
> Signed-off-by: Steve Rae <srae@broadcom.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140830/01aa91cf/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, v3, 5/5] arm: convert Cygnus and NSP boards to Kconfig
  2014-08-11 20:58 ` [U-Boot] [PATCH v3 5/5] arm: convert Cygnus and NSP boards to Kconfig Steve Rae
@ 2014-08-30 15:15   ` Tom Rini
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-30 15:15 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 11, 2014 at 01:58:26PM -0700, Steve Rae wrote:


> Convert the bcm958300k and the bcm958622hr boards from "boards.cfg" to Kconfig.
> 
> Signed-off-by: Steve Rae <srae@broadcom.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140830/e3abe488/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-08-30 15:15 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-11 20:58 [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae
2014-08-11 20:58 ` [U-Boot] [PATCH v3 1/5] arm: iproc: Initial commit of iproc architecture code Steve Rae
2014-08-30 15:14   ` [U-Boot] [U-Boot, v3, " Tom Rini
2014-08-11 20:58 ` [U-Boot] [PATCH v3 2/5] arm: bcmcygnus: Add bcmcygnus u-architecture Steve Rae
2014-08-30 15:14   ` [U-Boot] [U-Boot, v3, " Tom Rini
2014-08-11 20:58 ` [U-Boot] [PATCH v3 3/5] arm: bcmnsp: Add bcmnsp u-architecture Steve Rae
2014-08-30 15:15   ` [U-Boot] [U-Boot, v3, " Tom Rini
2014-08-11 20:58 ` [U-Boot] [PATCH v3 4/5] arm: add Cygnus and NSP boards Steve Rae
2014-08-30 15:15   ` [U-Boot] [U-Boot,v3,4/5] " Tom Rini
2014-08-11 20:58 ` [U-Boot] [PATCH v3 5/5] arm: convert Cygnus and NSP boards to Kconfig Steve Rae
2014-08-30 15:15   ` [U-Boot] [U-Boot, v3, " Tom Rini
2014-08-28 18:05 ` [U-Boot] [PATCH v3 0/5] Introducing the Broadcom Cygnus and NSP boards Steve Rae

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.