devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC
@ 2014-03-06 17:45 Florian Fainelli
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

Hi all,

This patchset adds very minimal support for the BCM63138 SoC which is
a xDSL SoC using a dual Cortex A9 CPU complex.

Future work will focus on:

- clock device/driver/providers
- SMP support (already working)
- DT'fying drivers/tty/serial/bcm63xx_uart.c to be usable

Florian Fainelli (6):
  ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
  ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
  ARM: BCM63XX: add low-level UART debug support
  ARM: BCM63XX: add BCM63138 minimal Device Tree
  ARM: BCM63XX: add BCM963138DVT Reference platform DTS
  MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs

 .../devicetree/bindings/arm/bcm/bcm63138.txt       |   9 ++
 MAINTAINERS                                        |  10 ++
 arch/arm/Kconfig.debug                             |  20 +++-
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/bcm63138.dtsi                    | 109 +++++++++++++++++++++
 arch/arm/boot/dts/bcm63138dvt.dts                  |  18 ++++
 arch/arm/include/debug/bcm63xxx.S                  |  33 +++++++
 arch/arm/mach-bcm/Kconfig                          |  20 ++++
 arch/arm/mach-bcm/Makefile                         |   2 +
 arch/arm/mach-bcm/bcm63xx.h                        |  29 ++++++
 arch/arm/mach-bcm/board_bcm63xx.c                  |  94 ++++++++++++++++++
 11 files changed, 342 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
 create mode 100644 arch/arm/boot/dts/bcm63138.dtsi
 create mode 100644 arch/arm/boot/dts/bcm63138dvt.dts
 create mode 100644 arch/arm/include/debug/bcm63xxx.S
 create mode 100644 arch/arm/mach-bcm/bcm63xx.h
 create mode 100644 arch/arm/mach-bcm/board_bcm63xx.c

-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 1/6] ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-03-06 17:45   ` Florian Fainelli
  2014-03-06 17:45   ` [PATCH 2/6] ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE Florian Fainelli
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

This patch adds basic support for the Broadcom BCM63138 DSL SoC which is
using a dual-core Cortex A9 system. Add the very minimum required code
boot Linux on this SoC.

Due to the two specific register address spaces located at 0x8000_0000
and 0xfffe_0000, we need to setup a specific iotable descriptor for
those to be remapped at the expected virtual addresses.

Finally, the PL310 cache controller requires a bit of tweaking before
handing its initialization over l2x0_of_init(), this is also taken care
of to make sure that its size is properly configured.

Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 .../devicetree/bindings/arm/bcm/bcm63138.txt       |  9 +++
 arch/arm/mach-bcm/Kconfig                          | 20 +++++
 arch/arm/mach-bcm/Makefile                         |  2 +
 arch/arm/mach-bcm/bcm63xx.h                        | 29 +++++++
 arch/arm/mach-bcm/board_bcm63xx.c                  | 94 ++++++++++++++++++++++
 5 files changed, 154 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
 create mode 100644 arch/arm/mach-bcm/bcm63xx.h
 create mode 100644 arch/arm/mach-bcm/board_bcm63xx.c

diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm63138.txt b/Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
new file mode 100644
index 000000000000..bd49987a8812
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
@@ -0,0 +1,9 @@
+Broadcom BCM63138 DSL System-on-a-Chip device tree bindings
+-----------------------------------------------------------
+
+Boards compatible with the BCM63138 DSL System-on-a-Chip should have the
+following properties:
+
+Required root node property:
+
+compatible: should be "brcm,bcm63138"
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index b1aa6a9b3bd1..951e1ec47a04 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -32,6 +32,26 @@ config ARCH_BCM_MOBILE
 	  BCM11130, BCM11140, BCM11351, BCM28145 and
 	  BCM28155 variants.
 
+config ARCH_BCM_63XX
+	bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
+	depends on MMU
+	select ARM_ERRATA_754322
+	select ARM_ERRATA_764369 if SMP
+	select ARM_GIC
+	select ARM_GLOBAL_TIMER
+	select CACHE_L2X0
+	select COMMON_CLK
+	select CPU_V7
+	select GENERIC_CLOCKEVENTS
+	select HAVE_ARM_ARCH_TIMER
+	select HAVE_ARM_TWD if SMP
+	select HAVE_ARM_SCU if SMP
+	select HAVE_SMP
+	help
+	  This enables support for systems based on Broadcom DSL SoCs.
+	  It currently supports the 'BCM63XX' ARM-based family, which includes
+	  the BCM63138 variant.
+
 endmenu
 
 endif
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
index c2ccd5a0f772..3bf068ac797a 100644
--- a/arch/arm/mach-bcm/Makefile
+++ b/arch/arm/mach-bcm/Makefile
@@ -13,3 +13,5 @@
 obj-$(CONFIG_ARCH_BCM_MOBILE)	:= board_bcm281xx.o bcm_kona_smc.o bcm_kona_smc_asm.o kona.o
 plus_sec := $(call as-instr,.arch_extension sec,+sec)
 AFLAGS_bcm_kona_smc_asm.o	:=-Wa,-march=armv7-a$(plus_sec)
+
+obj-$(CONFIG_ARCH_BCM_63XX)	:= board_bcm63xx.o
diff --git a/arch/arm/mach-bcm/bcm63xx.h b/arch/arm/mach-bcm/bcm63xx.h
new file mode 100644
index 000000000000..95872c8131f6
--- /dev/null
+++ b/arch/arm/mach-bcm/bcm63xx.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2014 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __ARM_BCM63XX_H
+#define __ARM_BCM63XX_H
+
+#define IO_ADDRESS(x)		(((x) & 0x00ffffff) + 0xfc000000)
+
+/* AHB register space */
+#define BCM63XX_AHB_PHYS	0x80001000
+#define BCM63XX_AHB_VIRT	IO_ADDRESS(BCM63XX_AHB_PHYS)
+#define BCM63XX_AHB_SIZE	0x800000
+
+/* PERIPH (legacy) register space */
+#define BCM63XX_PERIPH_PHYS	0xfffe8000
+#define BCM63XX_PERIPH_VIRT	IO_ADDRESS(BCM63XX_PERIPH_PHYS)
+#define BCM63XX_PERIPH_SIZE	0x10000
+
+#endif /* __ARM_BCM63XX_H */
diff --git a/arch/arm/mach-bcm/board_bcm63xx.c b/arch/arm/mach-bcm/board_bcm63xx.c
new file mode 100644
index 000000000000..a779aca673c4
--- /dev/null
+++ b/arch/arm/mach-bcm/board_bcm63xx.c
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2014 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/of_platform.h>
+#include <linux/init.h>
+#include <linux/device.h>
+#include <linux/platform_device.h>
+#include <linux/clocksource.h>
+#include <linux/irqchip.h>
+
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <asm/mach/time.h>
+#include <asm/hardware/cache-l2x0.h>
+
+#include "bcm63xx.h"
+
+static void __init bcm63xx_l2cc_init(void)
+{
+	u32 auxctl_val = 0, auxctl_msk = ~0UL;
+
+	/* 16-way cache */
+	auxctl_val |= (1 << L2X0_AUX_CTRL_ASSOCIATIVITY_SHIFT);
+	auxctl_msk &= ~(1 << L2X0_AUX_CTRL_ASSOCIATIVITY_SHIFT);
+	/* 32 KB */
+	auxctl_val |= (2 << L2X0_AUX_CTRL_WAY_SIZE_SHIFT);
+	auxctl_msk &= ~(L2X0_AUX_CTRL_WAY_SIZE_MASK);
+
+	/*
+	 * Set bit 22 in the auxiliary control register. If this bit
+	 * is cleared, PL310 treats Normal Shared Non-cacheable
+	 * accesses as Cacheable no-allocate.
+	 */
+	auxctl_val |= (1 << L2X0_AUX_CTRL_SHARE_OVERRIDE_SHIFT);
+
+	/* Allow non-secure access */
+	auxctl_val |= (1 << L2X0_AUX_CTRL_NS_INT_CTRL_SHIFT);
+	/* Instruction prefetch */
+	auxctl_val |= (1 << L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT);
+	/* Early BRESP */
+	auxctl_val |= (1 << L2X0_AUX_CTRL_EARLY_BRESP_SHIFT);
+
+	l2x0_of_init(auxctl_val, auxctl_msk);
+}
+
+static void __init bcm63xx_init(void)
+{
+	of_platform_populate(NULL, of_default_bus_match_table, NULL,
+		&platform_bus);
+	bcm63xx_l2cc_init();
+}
+
+static const char * const bcm63xx_dt_compat[] = {
+	"brcm,bcm63138",
+	NULL
+};
+
+static struct map_desc bcm63xx_map_desc[] __initdata = {
+	/* AHB register space */
+	{
+		.virtual = BCM63XX_AHB_VIRT,
+		.pfn = __phys_to_pfn(BCM63XX_AHB_PHYS),
+		.length	= BCM63XX_AHB_SIZE,
+		.type = MT_DEVICE,
+	},
+	/* PERIPH register space */
+	{
+		.virtual = BCM63XX_PERIPH_VIRT,
+		.pfn = __phys_to_pfn(BCM63XX_PERIPH_PHYS),
+		.length = BCM63XX_PERIPH_SIZE,
+		.type = MT_DEVICE,
+	},
+};
+
+static void __init bcm63xx_map_io(void)
+{
+	iotable_init(bcm63xx_map_desc, ARRAY_SIZE(bcm63xx_map_desc));
+}
+
+DT_MACHINE_START(BCM63XXX_DT, "BCM63xx DSL SoC")
+	.map_io		= bcm63xx_map_io,
+	.init_machine	= bcm63xx_init,
+	.dt_compat	= bcm63xx_dt_compat,
+MACHINE_END
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 2/6] ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2014-03-06 17:45   ` [PATCH 1/6] ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC Florian Fainelli
@ 2014-03-06 17:45   ` Florian Fainelli
       [not found]     ` <1394127959-3159-3-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2014-03-06 17:45   ` [PATCH 3/6] ARM: BCM63XX: add low-level UART debug support Florian Fainelli
                     ` (5 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

Low-level debugging using the Broadcom Kona UART only makes sense on the
ARCH_BCM_MOBILE platform and would otherwise prevent ARCH_BCM_63XX from
picking up the right UART implementation by default.

Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm/Kconfig.debug | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 0531da8e5216..c23f52445308 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -108,7 +108,7 @@ choice
 
 	config DEBUG_BCM_KONA_UART
 		bool "Kernel low-level debugging messages via BCM KONA UART"
-		depends on ARCH_BCM
+		depends on ARCH_BCM_MOBILE
 		select DEBUG_UART_8250
 		help
 		  Say Y here if you want kernel low-level debugging support
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 3/6] ARM: BCM63XX: add low-level UART debug support
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2014-03-06 17:45   ` [PATCH 1/6] ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC Florian Fainelli
  2014-03-06 17:45   ` [PATCH 2/6] ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE Florian Fainelli
@ 2014-03-06 17:45   ` Florian Fainelli
  2014-03-06 17:45   ` [PATCH 4/6] ARM: BCM63XX: add BCM63138 minimal Device Tree Florian Fainelli
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

Broadcom BCM63xx DSL SoCs have a different UART implementation for which
we need specially crafted low-level debug assembly code to support. Add
support for this using the standard definitions provided in
include/linux/serial_bcm63xx.h (shared with their MIPS counterparts).

Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm/Kconfig.debug            | 18 ++++++++++++++++--
 arch/arm/include/debug/bcm63xxx.S | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/include/debug/bcm63xxx.S

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index c23f52445308..a1a4281dc4b9 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -117,6 +117,11 @@ choice
 		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
 		  bcm11351, etc...)
 
+	config DEBUG_BCM63XX
+		bool "Kernel low-level debugging on BCM63XX UART"
+		depends on ARCH_BCM_63XX
+		select DEBUG_UART_BCM63XX
+
 	config DEBUG_BERLIN_UART
 		bool "Marvell Berlin SoC Debug UART"
 		depends on ARCH_BERLIN
@@ -985,6 +990,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/vf.S" if DEBUG_VF_UART
 	default "debug/vt8500.S" if DEBUG_VT8500_UART0
 	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
+	default "debug/bcm63xxx.S" if DEBUG_UART_BCM63XX
 	default "mach/debug-macro.S"
 
 # Compatibility options for PL01x
@@ -1004,6 +1010,10 @@ config DEBUG_UART_8250
 		ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
 		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
 
+# Compatibility options for BCM63xx
+config DEBUG_UART_BCM63XX
+	def_bool ARCH_BCM_63XX
+
 config DEBUG_UART_PHYS
 	hex "Physical base address of debug UART"
 	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
@@ -1059,10 +1069,12 @@ config DEBUG_UART_PHYS
 	default 0xffc02000 if DEBUG_SOCFPGA_UART
 	default 0xffd82340 if ARCH_IOP13XX
 	default 0xfff36000 if DEBUG_HIGHBANK_UART
+	default 0xfffe8600 if DEBUG_UART_BCM63XX
 	default 0xfffff700 if ARCH_IOP33X
 	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
 		DEBUG_LL_UART_EFM32 || \
-		DEBUG_UART_8250 || DEBUG_UART_PL01X
+		DEBUG_UART_8250 || DEBUG_UART_PL01X || \
+		DEBUG_UART_BCM63XX
 
 config DEBUG_UART_VIRT
 	hex "Virtual base address of debug UART"
@@ -1083,6 +1095,7 @@ config DEBUG_UART_VIRT
 	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
 	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
 	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
+	default 0xfcfe8600 if DEBUG_UART_BCM63XX
 	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
 	default 0xfd000000 if ARCH_SPEAR13XX
 	default 0xfd012000 if ARCH_MV78XX0
@@ -1120,7 +1133,8 @@ config DEBUG_UART_VIRT
 	default 0xff003000 if DEBUG_U300_UART
 	default DEBUG_UART_PHYS if !MMU
 	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
-		DEBUG_UART_8250 || DEBUG_UART_PL01X
+		DEBUG_UART_8250 || DEBUG_UART_PL01X || \
+		DEBUG_UART_BCM63XX
 
 config DEBUG_UART_8250_SHIFT
 	int "Register offset shift for the 8250 debug UART"
diff --git a/arch/arm/include/debug/bcm63xxx.S b/arch/arm/include/debug/bcm63xxx.S
new file mode 100644
index 000000000000..a28fbd1bb5d8
--- /dev/null
+++ b/arch/arm/include/debug/bcm63xxx.S
@@ -0,0 +1,33 @@
+/*
+ * Broadcom BCM63xxx low-level UART debug
+ *
+ * Copyright (C) 2014 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/serial_bcm63xx.h>
+
+	.macro	addruart, rp, rv, tmp
+	ldr	\rp, =CONFIG_DEBUG_UART_PHYS
+	ldr	\rv, =CONFIG_DEBUG_UART_VIRT
+	.endm
+
+	.macro	senduart, rd, rx
+	/* word access do not work */
+	strb	\rd, [\rx, #UART_FIFO_REG]
+	.endm
+
+	.macro	waituart, rd, rx
+1001:	ldr	\rd, [\rx, #UART_IR_REG]
+	tst	\rd, #(1 << UART_IR_TXEMPTY)
+	beq	1001b
+	.endm
+
+	.macro	busyuart, rd, rx
+1002:	ldr	\rd, [\rx, #UART_IR_REG]
+	tst	\rd, #(1 << UART_IR_TXTRESH)
+	beq	1002b
+	.endm
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 4/6] ARM: BCM63XX: add BCM63138 minimal Device Tree
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (2 preceding siblings ...)
  2014-03-06 17:45   ` [PATCH 3/6] ARM: BCM63XX: add low-level UART debug support Florian Fainelli
@ 2014-03-06 17:45   ` Florian Fainelli
  2014-03-06 17:45   ` [PATCH 5/6] ARM: BCM63XX: add BCM963138DVT Reference platform DTS Florian Fainelli
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

Add a very minimalistic BCM63138 Device Tree include file which
describes the BCM63138 SoC with only the basic set of required
peripherals:

- Cortex A9 CPU
- ARM GIC
- PL310 Level-2 cache controller
- ARM TWD & Global timers
- ARM TWD watchdog
- legacy MIPS bus (UBUS)

Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm/boot/dts/bcm63138.dtsi | 109 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 109 insertions(+)
 create mode 100644 arch/arm/boot/dts/bcm63138.dtsi

diff --git a/arch/arm/boot/dts/bcm63138.dtsi b/arch/arm/boot/dts/bcm63138.dtsi
new file mode 100644
index 000000000000..190d6e53a85a
--- /dev/null
+++ b/arch/arm/boot/dts/bcm63138.dtsi
@@ -0,0 +1,109 @@
+/*
+ * Broadcom BCM63138 DSL SoCs Device Tree
+ *
+ * Copyright (C) 2014 Broadcom Corporation
+ *
+ * Licensed under the GNU/GPL. See COPYING for details
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "skeleton.dtsi"
+
+/ {
+	compatible = "brcm,bcm63138";
+	model = "Broadcom BCM63138 DSL SoC";
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a9";
+			next-level-cache = <&L2>;
+			reg = <0>;
+		};
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		arm_timer_clk: arm_timer_clk {
+			#clock-cells = <0>;
+			compatible = "fixed-clock";
+			clock-frequency = <500000000>;
+		};
+	};
+
+	/* ARM bus */
+	axi@80000000 {
+		compatible = "simple-bus";
+		ranges = <0 0x80000000 0x783003>;
+		reg = <0x80000000 0x783003>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		L2: cache-controller@1d000 {
+			compatible = "arm,pl310-cache";
+			reg = <0x1d000 0x1000>;
+			cache-unified;
+			cache-level = <2>;
+			interrupts = <GIC_PPI 0 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
+		mpcore@1e000 {
+			compatible = "simple-bus";
+			reg = <0x1e000 0x20000>;
+			ranges = <0 0x1e000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			scu: scu@0 {
+				compatible = "arm,cortex-a9-scu";
+				reg = <0x0 0x100>;
+			};
+
+			gic: interrupt-controller@100 {
+				compatible = "arm,cortex-a9-gic";
+				reg = <0x1000 0x1000
+					0x100 0x100>;
+				#interrupt-cells = <3>;
+				#address-cells = <0>;
+				interrupt-controller;
+			};
+
+			global_timer: timer@200 {
+				compatible = "arm,cortex-a9-global-timer";
+				reg = <0x200 0x20>;
+				interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&arm_timer_clk>;
+			};
+
+			local_timer: local-timer@600 {
+				compatible = "arm,cortex-a9-twd-timer";
+				reg = <0x600 0x20>;
+				interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&arm_timer_clk>;
+			};
+
+			twd_watchdog: watchdog@620 {
+				compatible = "arm,cortex-a9-twd-wdt";
+				reg = <0x620 0x20>;
+				interupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>;
+			};
+		};
+	};
+
+	/* Legacy UBUS base */
+	ubus@fffe8000 {
+		compatible = "simple-bus";
+		reg = <0xfffe8000 0x8053>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0 0xfffe8000 0x8053>;
+	};
+};
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 5/6] ARM: BCM63XX: add BCM963138DVT Reference platform DTS
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (3 preceding siblings ...)
  2014-03-06 17:45   ` [PATCH 4/6] ARM: BCM63XX: add BCM63138 minimal Device Tree Florian Fainelli
@ 2014-03-06 17:45   ` Florian Fainelli
  2014-03-06 17:45   ` [PATCH 6/6] MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs Florian Fainelli
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

Add a DTS file for the Broadcom BCM963138DVT reference platform board
which leverages the bcm63138.dtsi SoC DTSi file.

Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm/boot/dts/Makefile        |  1 +
 arch/arm/boot/dts/bcm63138dvt.dts | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 arch/arm/boot/dts/bcm63138dvt.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 032030361bef..1e404a51d563 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -47,6 +47,7 @@ dtb-$(CONFIG_ARCH_AT91)	+= sama5d36ek.dtb
 
 dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
 dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
+dtb-$(CONFIG_ARCH_BCM_63XX) += bcm63138dvt.dtb
 dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm11351-brt.dtb \
 	bcm28155-ap.dtb
 dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
diff --git a/arch/arm/boot/dts/bcm63138dvt.dts b/arch/arm/boot/dts/bcm63138dvt.dts
new file mode 100644
index 000000000000..e212b4731978
--- /dev/null
+++ b/arch/arm/boot/dts/bcm63138dvt.dts
@@ -0,0 +1,18 @@
+/*
+ * Broadcom BCM63138 Reference Board DTS
+ *
+ * Copyright (C) 2014 Broadcom Corporation
+ */
+
+/dts-v1/;
+
+#include "bcm63138.dtsi"
+
+/ {
+	compatible = "BCM963138DVT", "brcm,bcm63138";
+	model = "Broadcom BCM963138DVT";
+
+	memory {
+		reg = <0x0 0x08000000>;
+	};
+};
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 6/6] MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (4 preceding siblings ...)
  2014-03-06 17:45   ` [PATCH 5/6] ARM: BCM63XX: add BCM963138DVT Reference platform DTS Florian Fainelli
@ 2014-03-06 17:45   ` Florian Fainelli
  2014-03-07  3:41   ` [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC Alex Elder
  2014-03-11 17:10   ` Florian Fainelli
  7 siblings, 0 replies; 14+ messages in thread
From: Florian Fainelli @ 2014-03-06 17:45 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli

Add a MAINTAINERS entry covering all the Broadcom BCM63xx ARM DSL SoCs
files along with the relevant git tree and mailing-list.

Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 MAINTAINERS | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index e1297ff255e1..628cfe1c6daa 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1882,6 +1882,16 @@ F:	arch/arm/boot/dts/bcm2835*
 F:	arch/arm/configs/bcm2835_defconfig
 F:	drivers/*/*bcm2835*
 
+BROADCOM BCM63XX ARM ARCHITECTURE
+M:	Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
+L:	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
+T:	git git://git.github.com/broadcom/arm-bcm63xx
+S:	Maintained
+F:	arch/arm/mach-bcm/board_bcm63xx.c
+F:	arch/arm/mach-bcm/bcm63xx.h
+F:	arch/arm/include/debug/bcm63xxx.S
+F:	arch/arm/configs/bcm_defconfig
+
 BROADCOM TG3 GIGABIT ETHERNET DRIVER
 M:	Nithin Nayak Sujir <nsujir-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
 M:	Michael Chan <mchan-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/6] ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
       [not found]     ` <1394127959-3159-3-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-03-07  3:25       ` Tim Kryger
  2014-03-14 16:51       ` Matt Porter
  1 sibling, 0 replies; 14+ messages in thread
From: Tim Kryger @ 2014-03-07  3:25 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: ARM Kernel List, Device Tree List, Christian Daudt,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, Matt Porter,
	jogo-p3rKhJxN3npAfugRpC6u6w, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w

On Thu, Mar 6, 2014 at 9:45 AM, Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> Low-level debugging using the Broadcom Kona UART only makes sense on the
> ARCH_BCM_MOBILE platform and would otherwise prevent ARCH_BCM_63XX from
> picking up the right UART implementation by default.
>
> Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>  arch/arm/Kconfig.debug | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 0531da8e5216..c23f52445308 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -108,7 +108,7 @@ choice
>
>         config DEBUG_BCM_KONA_UART
>                 bool "Kernel low-level debugging messages via BCM KONA UART"
> -               depends on ARCH_BCM
> +               depends on ARCH_BCM_MOBILE
>                 select DEBUG_UART_8250
>                 help
>                   Say Y here if you want kernel low-level debugging support
> --
> 1.8.3.2

Reviewed-by: Tim Kryger <tim.kryger-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (5 preceding siblings ...)
  2014-03-06 17:45   ` [PATCH 6/6] MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs Florian Fainelli
@ 2014-03-07  3:41   ` Alex Elder
       [not found]     ` <53193FEE.4060002-EkmVulN54Sk@public.gmane.org>
  2014-03-11 17:10   ` Florian Fainelli
  7 siblings, 1 reply; 14+ messages in thread
From: Alex Elder @ 2014-03-07  3:41 UTC (permalink / raw)
  To: Florian Fainelli,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, mbizon-MmRyKUhfbQ9GWvitb5QawA,
	cernekee-Re5JQEeQqe8AvxtiuMwx3w, jogo-p3rKhJxN3npAfugRpC6u6w,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w

On 03/06/2014 11:45 AM, Florian Fainelli wrote:
> Hi all,
>
> This patchset adds very minimal support for the BCM63138 SoC which is
> a xDSL SoC using a dual Cortex A9 CPU complex.

Why do you use "63xx" for the generic name, when the specific
part you are defining here is 63138?  I would have expected
"63xxx".

					-Alex


> Future work will focus on:
>
> - clock device/driver/providers
> - SMP support (already working)
> - DT'fying drivers/tty/serial/bcm63xx_uart.c to be usable
>
> Florian Fainelli (6):
>    ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
>    ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
>    ARM: BCM63XX: add low-level UART debug support
>    ARM: BCM63XX: add BCM63138 minimal Device Tree
>    ARM: BCM63XX: add BCM963138DVT Reference platform DTS
>    MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
>
>   .../devicetree/bindings/arm/bcm/bcm63138.txt       |   9 ++
>   MAINTAINERS                                        |  10 ++
>   arch/arm/Kconfig.debug                             |  20 +++-
>   arch/arm/boot/dts/Makefile                         |   1 +
>   arch/arm/boot/dts/bcm63138.dtsi                    | 109 +++++++++++++++++++++
>   arch/arm/boot/dts/bcm63138dvt.dts                  |  18 ++++
>   arch/arm/include/debug/bcm63xxx.S                  |  33 +++++++
>   arch/arm/mach-bcm/Kconfig                          |  20 ++++
>   arch/arm/mach-bcm/Makefile                         |   2 +
>   arch/arm/mach-bcm/bcm63xx.h                        |  29 ++++++
>   arch/arm/mach-bcm/board_bcm63xx.c                  |  94 ++++++++++++++++++
>   11 files changed, 342 insertions(+), 3 deletions(-)
>   create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
>   create mode 100644 arch/arm/boot/dts/bcm63138.dtsi
>   create mode 100644 arch/arm/boot/dts/bcm63138dvt.dts
>   create mode 100644 arch/arm/include/debug/bcm63xxx.S
>   create mode 100644 arch/arm/mach-bcm/bcm63xx.h
>   create mode 100644 arch/arm/mach-bcm/board_bcm63xx.c
>

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC
       [not found]     ` <53193FEE.4060002-EkmVulN54Sk@public.gmane.org>
@ 2014-03-07  4:44       ` Kevin Cernekee
       [not found]         ` <CAJiQ=7BrCqo3VijjEvt2JLifM0MNGYmAA+VG_YQbSHfyBqsbtg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 14+ messages in thread
From: Kevin Cernekee @ 2014-03-07  4:44 UTC (permalink / raw)
  To: Alex Elder
  Cc: Florian Fainelli,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, Maxime Bizon, Jonas Gorski,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w

On Thu, Mar 6, 2014 at 7:41 PM, Alex Elder <elder-EkmVulN54Sk@public.gmane.org> wrote:
>> This patchset adds very minimal support for the BCM63138 SoC which is
>> a xDSL SoC using a dual Cortex A9 CPU complex.
>
>
> Why do you use "63xx" for the generic name, when the specific
> part you are defining here is 63138?  I would have expected
> "63xxx".

The product line has a mix of 4-digit and 5-digit part numbers.  The
drivers for onchip peripherals all used "bcm63xx":

$ find drivers/ | grep 63xx
drivers/tty/serial/bcm63xx_uart.c
drivers/pcmcia/bcm63xx_pcmcia.h
drivers/pcmcia/bcm63xx_pcmcia.c
drivers/usb/gadget/bcm63xx_udc.c
drivers/watchdog/max63xx_wdt.c
drivers/watchdog/bcm63xx_wdt.c
drivers/char/hw_random/bcm63xx-rng.c
drivers/mtd/bcm63xxpart.c
drivers/net/phy/bcm63xx.c
drivers/net/ethernet/broadcom/bcm63xx_enet.h
drivers/net/ethernet/broadcom/bcm63xx_enet.c
drivers/spi/spi-bcm63xx.c
drivers/spi/spi-bcm63xx-hsspi.c
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC
       [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (6 preceding siblings ...)
  2014-03-07  3:41   ` [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC Alex Elder
@ 2014-03-11 17:10   ` Florian Fainelli
       [not found]     ` <CAGVrzcbxmWE+1drcyNK7K1a4ta6Pp1-Kc4xv7x0vDSumZen1fg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  7 siblings, 1 reply; 14+ messages in thread
From: Florian Fainelli @ 2014-03-11 17:10 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	mporter-QSEj5FYQhm4dnm+yROfE0A, Christian Daudt, mbizon,
	Kevin Cernekee, Jonas Gorski, jpeshkin-dY08KVG/lbpWk0Htik3J/w,
	Florian Fainelli

2014-03-06 9:45 GMT-08:00 Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:
> Hi all,
>
> This patchset adds very minimal support for the BCM63138 SoC which is
> a xDSL SoC using a dual Cortex A9 CPU complex.
>
> Future work will focus on:
>
> - clock device/driver/providers
> - SMP support (already working)
> - DT'fying drivers/tty/serial/bcm63xx_uart.c to be usable

Gentle ping, patch 2 should not be too controversial and could
probably be queued for a next 3.14-rc pull request?

>
> Florian Fainelli (6):
>   ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
>   ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
>   ARM: BCM63XX: add low-level UART debug support
>   ARM: BCM63XX: add BCM63138 minimal Device Tree
>   ARM: BCM63XX: add BCM963138DVT Reference platform DTS
>   MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
>
>  .../devicetree/bindings/arm/bcm/bcm63138.txt       |   9 ++
>  MAINTAINERS                                        |  10 ++
>  arch/arm/Kconfig.debug                             |  20 +++-
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/bcm63138.dtsi                    | 109 +++++++++++++++++++++
>  arch/arm/boot/dts/bcm63138dvt.dts                  |  18 ++++
>  arch/arm/include/debug/bcm63xxx.S                  |  33 +++++++
>  arch/arm/mach-bcm/Kconfig                          |  20 ++++
>  arch/arm/mach-bcm/Makefile                         |   2 +
>  arch/arm/mach-bcm/bcm63xx.h                        |  29 ++++++
>  arch/arm/mach-bcm/board_bcm63xx.c                  |  94 ++++++++++++++++++
>  11 files changed, 342 insertions(+), 3 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
>  create mode 100644 arch/arm/boot/dts/bcm63138.dtsi
>  create mode 100644 arch/arm/boot/dts/bcm63138dvt.dts
>  create mode 100644 arch/arm/include/debug/bcm63xxx.S
>  create mode 100644 arch/arm/mach-bcm/bcm63xx.h
>  create mode 100644 arch/arm/mach-bcm/board_bcm63xx.c
>
> --
> 1.8.3.2
>



-- 
Florian
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC
       [not found]         ` <CAJiQ=7BrCqo3VijjEvt2JLifM0MNGYmAA+VG_YQbSHfyBqsbtg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-03-13 21:05           ` Alex Elder
  0 siblings, 0 replies; 14+ messages in thread
From: Alex Elder @ 2014-03-13 21:05 UTC (permalink / raw)
  To: Kevin Cernekee
  Cc: Florian Fainelli,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA, mporter-QSEj5FYQhm4dnm+yROfE0A,
	bcm-xK7y4jjYLqYh9ZMKESR00Q, Maxime Bizon, Jonas Gorski,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w

On 03/06/2014 10:44 PM, Kevin Cernekee wrote:
> On Thu, Mar 6, 2014 at 7:41 PM, Alex Elder <elder-EkmVulN54Sk@public.gmane.org> wrote:
>>> This patchset adds very minimal support for the BCM63138 SoC which is
>>> a xDSL SoC using a dual Cortex A9 CPU complex.
>>
>>
>> Why do you use "63xx" for the generic name, when the specific
>> part you are defining here is 63138?  I would have expected
>> "63xxx".
> 
> The product line has a mix of 4-digit and 5-digit part numbers.  The
> drivers for onchip peripherals all used "bcm63xx":

That's too bad.  I would suggest that one or the other be used
consistently, apparently "63xx" (not 63xxx) would be it.

					-Alex

> $ find drivers/ | grep 63xx
> drivers/tty/serial/bcm63xx_uart.c
> drivers/pcmcia/bcm63xx_pcmcia.h
> drivers/pcmcia/bcm63xx_pcmcia.c
> drivers/usb/gadget/bcm63xx_udc.c
> drivers/watchdog/max63xx_wdt.c
> drivers/watchdog/bcm63xx_wdt.c
> drivers/char/hw_random/bcm63xx-rng.c
> drivers/mtd/bcm63xxpart.c
> drivers/net/phy/bcm63xx.c
> drivers/net/ethernet/broadcom/bcm63xx_enet.h
> drivers/net/ethernet/broadcom/bcm63xx_enet.c
> drivers/spi/spi-bcm63xx.c
> drivers/spi/spi-bcm63xx-hsspi.c
> 

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/6] ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
       [not found]     ` <1394127959-3159-3-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2014-03-07  3:25       ` Tim Kryger
@ 2014-03-14 16:51       ` Matt Porter
  1 sibling, 0 replies; 14+ messages in thread
From: Matt Porter @ 2014-03-14 16:51 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA, bcm-xK7y4jjYLqYh9ZMKESR00Q,
	mbizon-MmRyKUhfbQ9GWvitb5QawA, cernekee-Re5JQEeQqe8AvxtiuMwx3w,
	jogo-p3rKhJxN3npAfugRpC6u6w, jpeshkin-dY08KVG/lbpWk0Htik3J/w

On Thu, Mar 06, 2014 at 09:45:55AM -0800, Florian Fainelli wrote:
> Low-level debugging using the Broadcom Kona UART only makes sense on the
> ARCH_BCM_MOBILE platform and would otherwise prevent ARCH_BCM_63XX from
> picking up the right UART implementation by default.
> 
> Signed-off-by: Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>  arch/arm/Kconfig.debug | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to mach-bcm armsoc/for-3.15/soc-3

Thanks,
Matt
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC
       [not found]     ` <CAGVrzcbxmWE+1drcyNK7K1a4ta6Pp1-Kc4xv7x0vDSumZen1fg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-04-02 19:41       ` Florian Fainelli
  0 siblings, 0 replies; 14+ messages in thread
From: Florian Fainelli @ 2014-04-02 19:41 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Matt Porter,
	Christian Daudt, mbizon, Kevin Cernekee, Jonas Gorski,
	jpeshkin-dY08KVG/lbpWk0Htik3J/w, Florian Fainelli, Arnd Bergmann

Hi all,

2014-03-11 10:10 GMT-07:00 Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:
> 2014-03-06 9:45 GMT-08:00 Florian Fainelli <f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:
>> Hi all,
>>
>> This patchset adds very minimal support for the BCM63138 SoC which is
>> a xDSL SoC using a dual Cortex A9 CPU complex.
>>
>> Future work will focus on:
>>
>> - clock device/driver/providers
>> - SMP support (already working)
>> - DT'fying drivers/tty/serial/bcm63xx_uart.c to be usable
>
> Gentle ping, patch 2 should not be too controversial and could
> probably be queued for a next 3.14-rc pull request?

Thanks for merging patch 2, can I borrow some of your bandwidth to
review the remainder of the patches?

Thanks!

>
>>
>> Florian Fainelli (6):
>>   ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
>>   ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
>>   ARM: BCM63XX: add low-level UART debug support
>>   ARM: BCM63XX: add BCM63138 minimal Device Tree
>>   ARM: BCM63XX: add BCM963138DVT Reference platform DTS
>>   MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
>>
>>  .../devicetree/bindings/arm/bcm/bcm63138.txt       |   9 ++
>>  MAINTAINERS                                        |  10 ++
>>  arch/arm/Kconfig.debug                             |  20 +++-
>>  arch/arm/boot/dts/Makefile                         |   1 +
>>  arch/arm/boot/dts/bcm63138.dtsi                    | 109 +++++++++++++++++++++
>>  arch/arm/boot/dts/bcm63138dvt.dts                  |  18 ++++
>>  arch/arm/include/debug/bcm63xxx.S                  |  33 +++++++
>>  arch/arm/mach-bcm/Kconfig                          |  20 ++++
>>  arch/arm/mach-bcm/Makefile                         |   2 +
>>  arch/arm/mach-bcm/bcm63xx.h                        |  29 ++++++
>>  arch/arm/mach-bcm/board_bcm63xx.c                  |  94 ++++++++++++++++++
>>  11 files changed, 342 insertions(+), 3 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm63138.txt
>>  create mode 100644 arch/arm/boot/dts/bcm63138.dtsi
>>  create mode 100644 arch/arm/boot/dts/bcm63138dvt.dts
>>  create mode 100644 arch/arm/include/debug/bcm63xxx.S
>>  create mode 100644 arch/arm/mach-bcm/bcm63xx.h
>>  create mode 100644 arch/arm/mach-bcm/board_bcm63xx.c
>>
>> --
>> 1.8.3.2
>>
>
>
>
> --
> Florian



-- 
Florian
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2014-04-02 19:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-06 17:45 [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC Florian Fainelli
     [not found] ` <1394127959-3159-1-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-06 17:45   ` [PATCH 1/6] ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC Florian Fainelli
2014-03-06 17:45   ` [PATCH 2/6] ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE Florian Fainelli
     [not found]     ` <1394127959-3159-3-git-send-email-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-07  3:25       ` Tim Kryger
2014-03-14 16:51       ` Matt Porter
2014-03-06 17:45   ` [PATCH 3/6] ARM: BCM63XX: add low-level UART debug support Florian Fainelli
2014-03-06 17:45   ` [PATCH 4/6] ARM: BCM63XX: add BCM63138 minimal Device Tree Florian Fainelli
2014-03-06 17:45   ` [PATCH 5/6] ARM: BCM63XX: add BCM963138DVT Reference platform DTS Florian Fainelli
2014-03-06 17:45   ` [PATCH 6/6] MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs Florian Fainelli
2014-03-07  3:41   ` [PATCH 0/6] ARM: BCM63XX: add support for BCM63138 SoC Alex Elder
     [not found]     ` <53193FEE.4060002-EkmVulN54Sk@public.gmane.org>
2014-03-07  4:44       ` Kevin Cernekee
     [not found]         ` <CAJiQ=7BrCqo3VijjEvt2JLifM0MNGYmAA+VG_YQbSHfyBqsbtg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-13 21:05           ` Alex Elder
2014-03-11 17:10   ` Florian Fainelli
     [not found]     ` <CAGVrzcbxmWE+1drcyNK7K1a4ta6Pp1-Kc4xv7x0vDSumZen1fg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-02 19:41       ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).