All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/12] Initial multi-platform support
@ 2012-09-06 20:12 Rob Herring
  2012-09-06 20:12 ` [PATCH 01/12] ARM: move debug macros to common location Rob Herring
                   ` (12 more replies)
  0 siblings, 13 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

This series enables initial ARM multi-platform support for highbank, mvebu,
socfpga, picoxcell, and vexpress. Multi-platform support is dependent on
some DEBUG_LL and dtb build rules restructuring. This series is also
dependent on my gpio clean-up series posted here:

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-September/118138.html

New in this version:
- Moved ARCH_MULTIPLATFORM back into choice so converted platforms'
  defconfigs work before and after conversion.
- Added mvebu, socfpga and picoxcell DEBUG_LL support. DEBUG_LL should
  work for all converted platforms.
- Fixed make dtbs.
- Removed all unused headers (timex.h, uncompress.h) and Makefile.boot
- Add ARCH_MULTIPLATFORM depends for XIP found with randconfig builds
- Split out Vexpress to separate patch as now DT board support is always
  enabled.

This series plus gpio clean-up is available here:
git://sources.calxeda.com/kernel/linux.git multi-plat

Rob

Arnd Bergmann (1):
  ARM: vexpress: remove dependency on mach/* headers

Rob Herring (11):
  ARM: move debug macros to common location
  ARM: highbank: move debug macros to include/debug
  ARM: vexpress: move debug macros to include/debug
  ARM: mvebu: move debug macros to include/debug
  ARM: socfpga: move debug macros to include/debug
  ARM: picoxcell: move debug macros to include/debug
  ARM: move all dtb targets out of Makefile.boot
  ARM: picoxcell: remove dependency on mach/* headers
  ARM: mvebu: move armada-370-xp.h in mach dir
  ARM: initial multiplatform support
  ARM: vexpress: convert to multi-platform

 arch/arm/Kconfig                                   |  142 ++++++++----------
 arch/arm/Kconfig.debug                             |   33 +++++
 arch/arm/Makefile                                  |  155 ++++++++++----------
 arch/arm/boot/Makefile                             |    2 +
 arch/arm/boot/compressed/misc.c                    |    6 +
 arch/arm/boot/dts/Makefile                         |   41 ++++++
 arch/arm/include/asm/timex.h                       |    4 +
 .../debug-macro.S => include/debug/highbank.S}     |    6 +-
 arch/arm/include/debug/icedcc.S                    |   90 ++++++++++++
 .../mach/debug-macro.S => include/debug/mvebu.S}   |    3 +-
 .../debug-macro.S => include/debug/picoxcell.S}    |    0
 .../mach/debug-macro.S => include/debug/socfpga.S} |    0
 .../debug-macro.S => include/debug/vexpress.S}     |    0
 arch/arm/kernel/debug.S                            |   87 +----------
 arch/arm/kernel/head.S                             |    4 +-
 arch/arm/mach-at91/Makefile.boot                   |   24 ---
 arch/arm/mach-exynos/Makefile.boot                 |    3 -
 arch/arm/mach-highbank/Kconfig                     |   15 ++
 arch/arm/mach-highbank/Makefile.boot               |    1 -
 arch/arm/mach-highbank/include/mach/timex.h        |    6 -
 arch/arm/mach-highbank/include/mach/uncompress.h   |    9 --
 arch/arm/mach-imx/Makefile.boot                    |    7 -
 arch/arm/mach-kirkwood/Makefile.boot               |   11 --
 arch/arm/mach-lpc32xx/Makefile.boot                |    2 -
 arch/arm/mach-mvebu/Kconfig                        |   10 ++
 arch/arm/mach-mvebu/Makefile                       |    2 +
 arch/arm/mach-mvebu/Makefile.boot                  |    3 -
 arch/arm/mach-mvebu/armada-370-xp.c                |    2 +-
 .../mach-mvebu/{include/mach => }/armada-370-xp.h  |    0
 arch/arm/mach-mvebu/include/mach/timex.h           |   13 --
 arch/arm/mach-mvebu/include/mach/uncompress.h      |   43 ------
 arch/arm/mach-mxs/Makefile.boot                    |    9 --
 arch/arm/mach-picoxcell/Kconfig                    |   14 ++
 arch/arm/mach-picoxcell/Makefile.boot              |    1 -
 arch/arm/mach-picoxcell/common.c                   |    6 +-
 arch/arm/mach-picoxcell/include/mach/hardware.h    |   21 ---
 arch/arm/mach-picoxcell/include/mach/map.h         |   25 ----
 arch/arm/mach-picoxcell/include/mach/timex.h       |   25 ----
 arch/arm/mach-picoxcell/include/mach/uncompress.h  |   21 ---
 .../{include/mach => }/picoxcell_soc.h             |    0
 arch/arm/mach-socfpga/Kconfig                      |   16 ++
 arch/arm/mach-socfpga/Makefile.boot                |    1 -
 arch/arm/mach-socfpga/include/mach/timex.h         |   19 ---
 arch/arm/mach-socfpga/include/mach/uncompress.h    |    9 --
 arch/arm/mach-spear13xx/Makefile.boot              |    3 -
 arch/arm/mach-spear3xx/Makefile.boot               |    4 -
 arch/arm/mach-spear6xx/Makefile.boot               |    2 -
 arch/arm/mach-tegra/Makefile.boot                  |    8 -
 arch/arm/mach-ux500/Makefile.boot                  |    2 -
 arch/arm/mach-vexpress/Kconfig                     |   64 ++++----
 arch/arm/mach-vexpress/Makefile                    |    2 +
 arch/arm/mach-vexpress/Makefile.boot               |   10 --
 arch/arm/mach-vexpress/ct-ca9x4.c                  |    1 +
 arch/arm/mach-vexpress/include/mach/irqs.h         |    2 +
 arch/arm/mach-vexpress/v2m.c                       |    4 -
 arch/arm/plat-versatile/Makefile                   |    2 +
 56 files changed, 423 insertions(+), 572 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
 rename arch/arm/{mach-highbank/include/mach/debug-macro.S => include/debug/highbank.S} (83%)
 create mode 100644 arch/arm/include/debug/icedcc.S
 rename arch/arm/{mach-mvebu/include/mach/debug-macro.S => include/debug/mvebu.S} (86%)
 rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
 rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
 rename arch/arm/{mach-vexpress/include/mach/debug-macro.S => include/debug/vexpress.S} (100%)
 create mode 100644 arch/arm/mach-highbank/Kconfig
 delete mode 100644 arch/arm/mach-highbank/Makefile.boot
 delete mode 100644 arch/arm/mach-highbank/include/mach/timex.h
 delete mode 100644 arch/arm/mach-highbank/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-mvebu/Makefile.boot
 rename arch/arm/mach-mvebu/{include/mach => }/armada-370-xp.h (100%)
 delete mode 100644 arch/arm/mach-mvebu/include/mach/timex.h
 delete mode 100644 arch/arm/mach-mvebu/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-picoxcell/Kconfig
 delete mode 100644 arch/arm/mach-picoxcell/Makefile.boot
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/map.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/timex.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/uncompress.h
 rename arch/arm/mach-picoxcell/{include/mach => }/picoxcell_soc.h (100%)
 create mode 100644 arch/arm/mach-socfpga/Kconfig
 delete mode 100644 arch/arm/mach-socfpga/Makefile.boot
 delete mode 100644 arch/arm/mach-socfpga/include/mach/timex.h
 delete mode 100644 arch/arm/mach-socfpga/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-vexpress/Makefile.boot

-- 
1.7.9.5

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

* [PATCH 01/12] ARM: move debug macros to common location
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-06 20:12 ` [PATCH 02/12] ARM: highbank: move debug macros to include/debug Rob Herring
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Based on suggestion by Russell King, create a common location for debug
macros and select the included debug macro file using config option.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
---
 arch/arm/Kconfig.debug          |    5 +++
 arch/arm/include/debug/icedcc.S |   90 +++++++++++++++++++++++++++++++++++++++
 arch/arm/kernel/debug.S         |   87 ++-----------------------------------
 arch/arm/kernel/head.S          |    4 +-
 4 files changed, 100 insertions(+), 86 deletions(-)
 create mode 100644 arch/arm/include/debug/icedcc.S

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index f15f82b..4f9760b 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -373,6 +373,11 @@ choice
 
 endchoice
 
+config DEBUG_LL_INCLUDE
+	string
+	default "debug/icedcc.S" if DEBUG_ICEDCC
+	default "mach/debug-macro.S"
+
 config EARLY_PRINTK
 	bool "Early printk"
 	depends on DEBUG_LL
diff --git a/arch/arm/include/debug/icedcc.S b/arch/arm/include/debug/icedcc.S
new file mode 100644
index 0000000..43afcb0
--- /dev/null
+++ b/arch/arm/include/debug/icedcc.S
@@ -0,0 +1,90 @@
+/*
+ *  arch/arm/include/debug/icedcc.S
+ *
+ *  Copyright (C) 1994-1999 Russell King
+ *
+ * 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.
+ *
+ */
+
+		@@ debug using ARM EmbeddedICE DCC channel
+
+		.macro	addruart, rp, rv, tmp
+		.endm
+
+#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
+
+		.macro	senduart, rd, rx
+		mcr	p14, 0, \rd, c0, c5, 0
+		.endm
+
+		.macro	busyuart, rd, rx
+1001:
+		mrc	p14, 0, \rx, c0, c1, 0
+		tst	\rx, #0x20000000
+		beq	1001b
+		.endm
+
+		.macro	waituart, rd, rx
+		mov	\rd, #0x2000000
+1001:
+		subs	\rd, \rd, #1
+		bmi	1002f
+		mrc	p14, 0, \rx, c0, c1, 0
+		tst	\rx, #0x20000000
+		bne	1001b
+1002:
+		.endm
+
+#elif defined(CONFIG_CPU_XSCALE)
+
+		.macro	senduart, rd, rx
+		mcr	p14, 0, \rd, c8, c0, 0
+		.endm
+
+		.macro	busyuart, rd, rx
+1001:
+		mrc	p14, 0, \rx, c14, c0, 0
+		tst	\rx, #0x10000000
+		beq	1001b
+		.endm
+
+		.macro	waituart, rd, rx
+		mov	\rd, #0x10000000
+1001:
+		subs	\rd, \rd, #1
+		bmi	1002f
+		mrc	p14, 0, \rx, c14, c0, 0
+		tst	\rx, #0x10000000
+		bne	1001b
+1002:
+		.endm
+
+#else
+
+		.macro	senduart, rd, rx
+		mcr	p14, 0, \rd, c1, c0, 0
+		.endm
+
+		.macro	busyuart, rd, rx
+1001:
+		mrc	p14, 0, \rx, c0, c0, 0
+		tst	\rx, #2
+		beq	1001b
+
+		.endm
+
+		.macro	waituart, rd, rx
+		mov	\rd, #0x2000000
+1001:
+		subs	\rd, \rd, #1
+		bmi	1002f
+		mrc	p14, 0, \rx, c0, c0, 0
+		tst	\rx, #2
+		bne	1001b
+1002:
+		.endm
+
+#endif	/* CONFIG_CPU_V6 */
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S
index c45522c..66f711b 100644
--- a/arch/arm/kernel/debug.S
+++ b/arch/arm/kernel/debug.S
@@ -20,90 +20,9 @@
  * references to these in a production kernel!
  */
 
-#if defined(CONFIG_DEBUG_ICEDCC)
-		@@ debug using ARM EmbeddedICE DCC channel
-
-		.macro	addruart, rp, rv, tmp
-		.endm
-
-#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
-
-		.macro	senduart, rd, rx
-		mcr	p14, 0, \rd, c0, c5, 0
-		.endm
-
-		.macro	busyuart, rd, rx
-1001:
-		mrc	p14, 0, \rx, c0, c1, 0
-		tst	\rx, #0x20000000
-		beq	1001b
-		.endm
-
-		.macro	waituart, rd, rx
-		mov	\rd, #0x2000000
-1001:
-		subs	\rd, \rd, #1
-		bmi	1002f
-		mrc	p14, 0, \rx, c0, c1, 0
-		tst	\rx, #0x20000000
-		bne	1001b
-1002:
-		.endm
-
-#elif defined(CONFIG_CPU_XSCALE)
-
-		.macro	senduart, rd, rx
-		mcr	p14, 0, \rd, c8, c0, 0
-		.endm
-
-		.macro	busyuart, rd, rx
-1001:
-		mrc	p14, 0, \rx, c14, c0, 0
-		tst	\rx, #0x10000000
-		beq	1001b
-		.endm
-
-		.macro	waituart, rd, rx
-		mov	\rd, #0x10000000
-1001:
-		subs	\rd, \rd, #1
-		bmi	1002f
-		mrc	p14, 0, \rx, c14, c0, 0
-		tst	\rx, #0x10000000
-		bne	1001b
-1002:
-		.endm
-
-#else
-
-		.macro	senduart, rd, rx
-		mcr	p14, 0, \rd, c1, c0, 0
-		.endm
-
-		.macro	busyuart, rd, rx
-1001:
-		mrc	p14, 0, \rx, c0, c0, 0
-		tst	\rx, #2
-		beq	1001b
-
-		.endm
-
-		.macro	waituart, rd, rx
-		mov	\rd, #0x2000000
-1001:
-		subs	\rd, \rd, #1
-		bmi	1002f
-		mrc	p14, 0, \rx, c0, c0, 0
-		tst	\rx, #2
-		bne	1001b
-1002:
-		.endm
-
-#endif	/* CONFIG_CPU_V6 */
-
-#elif !defined(CONFIG_DEBUG_SEMIHOSTING)
-#include <mach/debug-macro.S>
-#endif	/* CONFIG_DEBUG_ICEDCC */
+#if !defined(CONFIG_DEBUG_SEMIHOSTING)
+#include CONFIG_DEBUG_LL_INCLUDE
+#endif
 
 #ifdef CONFIG_MMU
 		.macro	addruart_current, rx, tmp1, tmp2
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 3db960e..9874d07 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -23,8 +23,8 @@
 #include <asm/thread_info.h>
 #include <asm/pgtable.h>
 
-#ifdef CONFIG_DEBUG_LL
-#include <mach/debug-macro.S>
+#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING)
+#include CONFIG_DEBUG_LL_INCLUDE
 #endif
 
 /*
-- 
1.7.9.5

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

* [PATCH 02/12] ARM: highbank: move debug macros to include/debug
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
  2012-09-06 20:12 ` [PATCH 01/12] ARM: move debug macros to common location Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-06 20:12 ` [PATCH 03/12] ARM: vexpress: " Rob Herring
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Move highbank debug-macro.S over to common debug macro directory.

Also, remove v7 specific movw/movt instructions so this can compile under
v6 mode.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
 arch/arm/Kconfig.debug                             |    1 +
 .../debug-macro.S => include/debug/highbank.S}     |    6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)
 rename arch/arm/{mach-highbank/include/mach/debug-macro.S => include/debug/highbank.S} (83%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 4f9760b..d9d8eff 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -376,6 +376,7 @@ endchoice
 config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
+	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "mach/debug-macro.S"
 
 config EARLY_PRINTK
diff --git a/arch/arm/mach-highbank/include/mach/debug-macro.S b/arch/arm/include/debug/highbank.S
similarity index 83%
rename from arch/arm/mach-highbank/include/mach/debug-macro.S
rename to arch/arm/include/debug/highbank.S
index cb57fe5..8cad432 100644
--- a/arch/arm/mach-highbank/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/highbank.S
@@ -10,10 +10,8 @@
  */
 
 		.macro	addruart,rp,rv,tmp
-		movw	\rv, #0x6000
-		movt	\rv, #0xfee3
-		movw	\rp, #0x6000
-		movt	\rp, #0xfff3
+		ldr	\rv, =0xfee36000
+		ldr	\rp, =0xfff36000
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
-- 
1.7.9.5

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

* [PATCH 03/12] ARM: vexpress: move debug macros to include/debug
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
  2012-09-06 20:12 ` [PATCH 01/12] ARM: move debug macros to common location Rob Herring
  2012-09-06 20:12 ` [PATCH 02/12] ARM: highbank: move debug macros to include/debug Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-06 20:12 ` [PATCH 04/12] ARM: mvebu: " Rob Herring
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Move vexpress debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
---
 arch/arm/Kconfig.debug                             |    2 ++
 .../debug-macro.S => include/debug/vexpress.S}     |    0
 2 files changed, 2 insertions(+)
 rename arch/arm/{mach-vexpress/include/mach/debug-macro.S => include/debug/vexpress.S} (100%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index d9d8eff..525d9bd 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -377,6 +377,8 @@ config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
+	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
+		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
 
 config EARLY_PRINTK
diff --git a/arch/arm/mach-vexpress/include/mach/debug-macro.S b/arch/arm/include/debug/vexpress.S
similarity index 100%
rename from arch/arm/mach-vexpress/include/mach/debug-macro.S
rename to arch/arm/include/debug/vexpress.S
-- 
1.7.9.5

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

* [PATCH 04/12] ARM: mvebu: move debug macros to include/debug
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (2 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 03/12] ARM: vexpress: " Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-07 15:08   ` Jason Cooper
  2012-09-06 20:12 ` [PATCH 05/12] ARM: socfpga: " Rob Herring
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Move mvebu debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/mvebu.S}   |    3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)
 rename arch/arm/{mach-mvebu/include/mach/debug-macro.S => include/debug/mvebu.S} (86%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 525d9bd..3bafdd2 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -261,6 +261,13 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to the serial port on MSM 8960 devices.
 
+	config DEBUG_MVEBU_UART
+		bool "Kernel low-level debugging messages via MVEBU UART"
+		depends on ARCH_MVEBU
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on MVEBU based platforms.
+
 	config DEBUG_REALVIEW_STD_PORT
 		bool "RealView Default UART"
 		depends on ARCH_REALVIEW
@@ -377,6 +384,7 @@ config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
+	default "debug/mvebu.S" if DEBUG_MVEBU_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
diff --git a/arch/arm/mach-mvebu/include/mach/debug-macro.S b/arch/arm/include/debug/mvebu.S
similarity index 86%
rename from arch/arm/mach-mvebu/include/mach/debug-macro.S
rename to arch/arm/include/debug/mvebu.S
index 2282576..865c6d0 100644
--- a/arch/arm/mach-mvebu/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/mvebu.S
@@ -11,7 +11,8 @@
  * published by the Free Software Foundation.
 */
 
-#include <mach/armada-370-xp.h>
+#define ARMADA_370_XP_REGS_PHYS_BASE	0xd0000000
+#define ARMADA_370_XP_REGS_VIRT_BASE	0xfeb00000
 
 	.macro	addruart, rp, rv, tmp
 	ldr	\rp, =ARMADA_370_XP_REGS_PHYS_BASE
-- 
1.7.9.5

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

* [PATCH 05/12] ARM: socfpga: move debug macros to include/debug
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (3 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 04/12] ARM: mvebu: " Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-06 22:33   ` Dinh Nguyen
  2012-09-06 23:35   ` Dinh Nguyen
  2012-09-06 20:12 ` [PATCH 06/12] ARM: picoxcell: " Rob Herring
                   ` (7 subsequent siblings)
  12 siblings, 2 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Move socfpga debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/socfpga.S} |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 3bafdd2..aa56934 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -317,6 +317,13 @@ choice
 		  The uncompressor code port configuration is now handled
 		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
 
+	config DEBUG_SOCFPGA_UART
+		depends on ARCH_SOCFPGA
+		bool "Use SOCFPGA UART for low-level debug"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on SOCFPGA based platforms.
+
 	config DEBUG_VEXPRESS_UART0_DETECT
 		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
 		depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -385,6 +392,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "debug/mvebu.S" if DEBUG_MVEBU_UART
+	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S
-- 
1.7.9.5

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

* [PATCH 06/12] ARM: picoxcell: move debug macros to include/debug
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (4 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 05/12] ARM: socfpga: " Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-13 14:16   ` Shawn Guo
  2012-09-06 20:12 ` [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot Rob Herring
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Move picoxcell debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Jamie Iles <jamie@jamieiles.com>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../debug-macro.S => include/debug/picoxcell.S}    |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index aa56934..b74ed97 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -268,6 +268,13 @@ choice
 		  Say Y here if you want kernel low-level debugging support
 		  on MVEBU based platforms.
 
+	config DEBUG_PICOXCELL_UART
+		depends on ARCH_PICOXCELL
+		bool "Use PicoXcell UART for low-level debug"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on PicoXcell based platforms.
+
 	config DEBUG_REALVIEW_STD_PORT
 		bool "RealView Default UART"
 		depends on ARCH_REALVIEW
@@ -392,6 +399,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "debug/mvebu.S" if DEBUG_MVEBU_UART
+	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
 	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
diff --git a/arch/arm/mach-picoxcell/include/mach/debug-macro.S b/arch/arm/include/debug/picoxcell.S
similarity index 100%
rename from arch/arm/mach-picoxcell/include/mach/debug-macro.S
rename to arch/arm/include/debug/picoxcell.S
-- 
1.7.9.5

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (5 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 06/12] ARM: picoxcell: " Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-07  2:27   ` Shawn Guo
                     ` (2 more replies)
  2012-09-06 20:12 ` [PATCH 08/12] ARM: picoxcell: remove dependency on mach/* headers Rob Herring
                   ` (5 subsequent siblings)
  12 siblings, 3 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Shiraz Hashim <shiraz.hashim@st.com>
Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile

diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
+	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
+	tegra20-whistler.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
+dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb armada-xp-db.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb at91sam9263ek.dtb \
+	at91sam9g20ek_2mmc.dtb at91sam9g20ek.dtb at91sam9g25ek.dtb \
+	at91sam9m10g45ek.dtb at91sam9n12ek.dtb ethernut5.dtb evk-pro3.dtb \
+	kizbox.dtb tny_a9260.dtb tny_a9263.dtb tny_a9g20.dtb usb_a9260.dtb \
+	usb_a9263.dtb usb_a9g20.dtb
+dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb kirkwood-dns325.dtb
+dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
+dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
+dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
+dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
+dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
+dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
+dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
+dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
+	imx53-qsb.dtb imx53-smd.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
+dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
+dtb-$(CONFIG_MACH_SPEAR1310) += spear1310-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR1340) += spear1340-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR300) += spear300-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR310) += spear310-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR320) += spear320-evb.dtb
+dtb-$(CONFIG_MACH_TS219_DT) += kirkwood-ts219-6281.dtb kirkwood-ts219-6282.dtb
+dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb imx6q-sabrelite.dtb \
+			   imx6q-sabresd.dtb
+dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb imx23-olinuxino.dtb \
+	 imx23-stmp378x_devb.dtb imx28-apx4devkit.dtb \
+	 imx28-cfa10036.dtb imx28-evk.dtb \
+	 imx28-m28evk.dtb imx28-tx28.dtb
+dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
+	   vexpress-v2p-ca9.dtb vexpress-v2p-ca15-tc1.dtb \
+	   vexpress-v2p-ca15_a7.dtb
diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot
index 30bb733..5309f9b 100644
--- a/arch/arm/mach-at91/Makefile.boot
+++ b/arch/arm/mach-at91/Makefile.boot
@@ -12,27 +12,3 @@ else
 params_phys-y	:= 0x20000100
 initrd_phys-y	:= 0x20410000
 endif
-
-# Keep dtb files sorted alphabetically for each SoC
-# sam9260
-dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += evk-pro3.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb
-# sam9263
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb
-# sam9g20
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
-# sam9g45
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb
-# sam9n12
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9n12ek.dtb
-# sam9x5
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb
diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot
index 31bd181..b9862e2 100644
--- a/arch/arm/mach-exynos/Makefile.boot
+++ b/arch/arm/mach-exynos/Makefile.boot
@@ -1,5 +1,2 @@
    zreladdr-y	+= 0x40008000
 params_phys-y	:= 0x40000100
-
-dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
-dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot
index 05541cf..b27815d 100644
--- a/arch/arm/mach-imx/Makefile.boot
+++ b/arch/arm/mach-imx/Makefile.boot
@@ -37,10 +37,3 @@ initrd_phys-$(CONFIG_SOC_IMX53)	:= 0x70800000
 zreladdr-$(CONFIG_SOC_IMX6Q)	+= 0x10008000
 params_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10000100
 initrd_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10800000
-
-dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
-dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
-			       imx53-qsb.dtb imx53-smd.dtb
-dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb \
-			   imx6q-sabrelite.dtb \
-			   imx6q-sabresd.dtb \
diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot
index a13299d..760a0ef 100644
--- a/arch/arm/mach-kirkwood/Makefile.boot
+++ b/arch/arm/mach-kirkwood/Makefile.boot
@@ -1,14 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns325.dtb
-dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
-dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6281.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6282.dtb
-dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot
index 697323b..d7392a4 100644
--- a/arch/arm/mach-lpc32xx/Makefile.boot
+++ b/arch/arm/mach-lpc32xx/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x80008000
 params_phys-y	:= 0x80000100
 initrd_phys-y	:= 0x82000000
-
-dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot
index 2579a2f..b327175 100644
--- a/arch/arm/mach-mvebu/Makefile.boot
+++ b/arch/arm/mach-mvebu/Makefile.boot
@@ -1,3 +1 @@
 zreladdr-y := 0x00008000
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-xp-db.dtb
diff --git a/arch/arm/mach-mxs/Makefile.boot b/arch/arm/mach-mxs/Makefile.boot
index 4582999..07b11fe 100644
--- a/arch/arm/mach-mxs/Makefile.boot
+++ b/arch/arm/mach-mxs/Makefile.boot
@@ -1,10 +1 @@
 zreladdr-y += 0x40008000
-
-dtb-y += imx23-evk.dtb \
-	 imx23-olinuxino.dtb \
-	 imx23-stmp378x_devb.dtb \
-	 imx28-apx4devkit.dtb \
-	 imx28-cfa10036.dtb \
-	 imx28-evk.dtb \
-	 imx28-m28evk.dtb \
-	 imx28-tx28.dtb \
diff --git a/arch/arm/mach-spear13xx/Makefile.boot b/arch/arm/mach-spear13xx/Makefile.boot
index 403efd7..4674a4c 100644
--- a/arch/arm/mach-spear13xx/Makefile.boot
+++ b/arch/arm/mach-spear13xx/Makefile.boot
@@ -1,6 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR1310)	+= spear1310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR1340)	+= spear1340-evb.dtb
diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot
index d93e217..4674a4c 100644
--- a/arch/arm/mach-spear3xx/Makefile.boot
+++ b/arch/arm/mach-spear3xx/Makefile.boot
@@ -1,7 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR300)	+= spear300-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR310)	+= spear310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR320)	+= spear320-evb.dtb
diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot
index af493da..4674a4c 100644
--- a/arch/arm/mach-spear6xx/Makefile.boot
+++ b/arch/arm/mach-spear6xx/Makefile.boot
@@ -1,5 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index 7a1bb62..2943381 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -1,11 +1,3 @@
 zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC)	+= 0x00008000
 params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00000100
 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
-
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-paz00.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot
index dd5cd00..760a0ef 100644
--- a/arch/arm/mach-ux500/Makefile.boot
+++ b/arch/arm/mach-ux500/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
index 318d308..c6dd891 100644
--- a/arch/arm/mach-vexpress/Makefile.boot
+++ b/arch/arm/mach-vexpress/Makefile.boot
@@ -3,8 +3,3 @@
    zreladdr-y	+= 0x60008000
 params_phys-y	:= 0x60000100
 initrd_phys-y	:= 0x60800000
-
-dtb-$(CONFIG_ARCH_VEXPRESS_DT)	+= vexpress-v2p-ca5s.dtb \
-				   vexpress-v2p-ca9.dtb \
-				   vexpress-v2p-ca15-tc1.dtb \
-				   vexpress-v2p-ca15_a7.dtb
-- 
1.7.9.5

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

* [PATCH 08/12] ARM: picoxcell: remove dependency on mach/* headers
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (6 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-06 20:12 ` [PATCH 09/12] ARM: vexpress: " Rob Herring
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Jamie Iles <jamie@jamieiles.com>
---
 arch/arm/mach-picoxcell/common.c                   |    6 ++---
 arch/arm/mach-picoxcell/include/mach/map.h         |   25 --------------------
 .../{include/mach => }/picoxcell_soc.h             |    0
 3 files changed, 3 insertions(+), 28 deletions(-)
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/map.h
 rename arch/arm/mach-picoxcell/{include/mach => }/picoxcell_soc.h (100%)

diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index 8f9a0b4..a8b70b5 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -20,11 +20,11 @@
 #include <asm/hardware/vic.h>
 #include <asm/mach/map.h>
 
-#include <mach/map.h>
-#include <mach/picoxcell_soc.h>
-
+#include "picoxcell_soc.h"
 #include "common.h"
 
+#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
+
 #define WDT_CTRL_REG_EN_MASK	(1 << 0)
 #define WDT_CTRL_REG_OFFS	(0x00)
 #define WDT_TIMEOUT_REG_OFFS	(0x04)
diff --git a/arch/arm/mach-picoxcell/include/mach/map.h b/arch/arm/mach-picoxcell/include/mach/map.h
deleted file mode 100644
index c06afad..0000000
--- a/arch/arm/mach-picoxcell/include/mach/map.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __PICOXCELL_MAP_H__
-#define __PICOXCELL_MAP_H__
-
-#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
-
-#ifdef __ASSEMBLY__
-#define IO_ADDRESS(x)		PHYS_TO_IO((x))
-#else
-#define IO_ADDRESS(x)		(void __iomem __force *)(PHYS_TO_IO((x)))
-#endif
-
-#endif /* __PICOXCELL_MAP_H__ */
diff --git a/arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
similarity index 100%
rename from arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h
rename to arch/arm/mach-picoxcell/picoxcell_soc.h
-- 
1.7.9.5

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

* [PATCH 09/12] ARM: vexpress: remove dependency on mach/* headers
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (7 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 08/12] ARM: picoxcell: remove dependency on mach/* headers Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-06 20:12 ` [PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir Rob Herring
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Pawel Moll <pawel.moll@arm.com>
---
 arch/arm/mach-vexpress/ct-ca9x4.c          |    1 +
 arch/arm/mach-vexpress/include/mach/irqs.h |    2 ++
 2 files changed, 3 insertions(+)

diff --git a/arch/arm/mach-vexpress/ct-ca9x4.c b/arch/arm/mach-vexpress/ct-ca9x4.c
index 61c4924..0e770e8 100644
--- a/arch/arm/mach-vexpress/ct-ca9x4.c
+++ b/arch/arm/mach-vexpress/ct-ca9x4.c
@@ -27,6 +27,7 @@
 #include "core.h"
 
 #include <mach/motherboard.h>
+#include <mach/irqs.h>
 
 #include <plat/clcd.h>
 
diff --git a/arch/arm/mach-vexpress/include/mach/irqs.h b/arch/arm/mach-vexpress/include/mach/irqs.h
index 4b10ee7..f8f7f78 100644
--- a/arch/arm/mach-vexpress/include/mach/irqs.h
+++ b/arch/arm/mach-vexpress/include/mach/irqs.h
@@ -1,4 +1,6 @@
 #define IRQ_LOCALTIMER		29
 #define IRQ_LOCALWDOG		30
 
+#ifndef CONFIG_SPARSE_IRQ
 #define NR_IRQS	256
+#endif
-- 
1.7.9.5

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

* [PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (8 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 09/12] ARM: vexpress: " Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-07 15:11   ` Jason Cooper
  2012-09-06 20:12 ` [PATCH 11/12] ARM: initial multiplatform support Rob Herring
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/mach-mvebu/armada-370-xp.c                |    2 +-
 .../mach-mvebu/{include/mach => }/armada-370-xp.h  |    0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename arch/arm/mach-mvebu/{include/mach => }/armada-370-xp.h (100%)

diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index 4ef923b..b46418a 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -20,7 +20,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/time.h>
-#include <mach/armada-370-xp.h>
+#include "armada-370-xp.h"
 #include "common.h"
 
 static struct map_desc armada_370_xp_io_desc[] __initdata = {
diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp.h b/arch/arm/mach-mvebu/armada-370-xp.h
similarity index 100%
rename from arch/arm/mach-mvebu/include/mach/armada-370-xp.h
rename to arch/arm/mach-mvebu/armada-370-xp.h
-- 
1.7.9.5

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

* [PATCH 11/12] ARM: initial multiplatform support
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (9 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-12 19:49   ` Arnd Bergmann
  2012-09-13 14:12   ` Shawn Guo
  2012-09-06 20:12 ` [PATCH 12/12] ARM: vexpress: convert to multi-platform Rob Herring
  2012-09-10 19:07 ` [PATCH v3 00/12] Initial multi-platform support Jamie Iles
  12 siblings, 2 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:

* SMP support must be turned off because of conflicting symbols.
  Marc Zyngier has proposed a solution by adding a new SOC
  operations structure to hold indirect function pointers
  for these, but that work is currently stalled

* We turn on SPARSE_IRQ unconditionally, which is not supported
  on most platforms. Each of them is currently in a different
  state, but most are being worked on.

* A common clock framework is in place since v3.4 but not yet
  being used. Work on this is on its way.

* DEBUG_LL for early debugging is currently disabled.

* THUMB2_KERNEL does not work with allyesconfig because the
  kernel gets too big

[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
---
 arch/arm/Kconfig                                  |  123 ++++++++--------
 arch/arm/Kconfig.debug                            |    1 +
 arch/arm/Makefile                                 |  155 +++++++++++----------
 arch/arm/boot/compressed/misc.c                   |    6 +
 arch/arm/include/asm/timex.h                      |    4 +
 arch/arm/mach-highbank/Kconfig                    |   15 ++
 arch/arm/mach-highbank/Makefile.boot              |    1 -
 arch/arm/mach-highbank/include/mach/timex.h       |    6 -
 arch/arm/mach-highbank/include/mach/uncompress.h  |    9 --
 arch/arm/mach-mvebu/Kconfig                       |   10 ++
 arch/arm/mach-mvebu/Makefile                      |    2 +
 arch/arm/mach-mvebu/Makefile.boot                 |    1 -
 arch/arm/mach-mvebu/include/mach/timex.h          |   13 --
 arch/arm/mach-mvebu/include/mach/uncompress.h     |   43 ------
 arch/arm/mach-picoxcell/Kconfig                   |   14 ++
 arch/arm/mach-picoxcell/Makefile.boot             |    1 -
 arch/arm/mach-picoxcell/include/mach/hardware.h   |   21 ---
 arch/arm/mach-picoxcell/include/mach/timex.h      |   25 ----
 arch/arm/mach-picoxcell/include/mach/uncompress.h |   21 ---
 arch/arm/mach-socfpga/Kconfig                     |   16 +++
 arch/arm/mach-socfpga/Makefile.boot               |    1 -
 arch/arm/mach-socfpga/include/mach/timex.h        |   19 ---
 arch/arm/mach-socfpga/include/mach/uncompress.h   |    9 --
 23 files changed, 205 insertions(+), 311 deletions(-)
 create mode 100644 arch/arm/mach-highbank/Kconfig
 delete mode 100644 arch/arm/mach-highbank/Makefile.boot
 delete mode 100644 arch/arm/mach-highbank/include/mach/timex.h
 delete mode 100644 arch/arm/mach-highbank/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-mvebu/Makefile.boot
 delete mode 100644 arch/arm/mach-mvebu/include/mach/timex.h
 delete mode 100644 arch/arm/mach-mvebu/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-picoxcell/Kconfig
 delete mode 100644 arch/arm/mach-picoxcell/Makefile.boot
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/timex.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-socfpga/Kconfig
 delete mode 100644 arch/arm/mach-socfpga/Makefile.boot
 delete mode 100644 arch/arm/mach-socfpga/include/mach/timex.h
 delete mode 100644 arch/arm/mach-socfpga/include/mach/uncompress.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4f5652d..ebaf088 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -254,26 +254,17 @@ config MMU
 #
 choice
 	prompt "ARM system type"
-	default ARCH_VERSATILE
+	default ARCH_MULTIPLATFORM
 
-config ARCH_SOCFPGA
-	bool "Altera SOCFPGA family"
-	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select ARM_AMBA
-	select ARM_GIC
-	select CACHE_L2X0
-	select CLKDEV_LOOKUP
+config ARCH_MULTIPLATFORM
+	bool "Allow multiple platforms to be selected"
+	select ARM_PATCH_PHYS_VIRT
+	select AUTO_ZRELADDR
 	select COMMON_CLK
-	select CPU_V7
-	select DW_APB_TIMER
-	select DW_APB_TIMER_OF
-	select GENERIC_CLOCKEVENTS
-	select GPIO_PL061 if GPIOLIB
-	select HAVE_ARM_SCU
+	select MULTI_IRQ_HANDLER
 	select SPARSE_IRQ
 	select USE_OF
-	help
-	  This enables support for Altera SOCFPGA Cyclone V platform
+	depends on MMU
 
 config ARCH_INTEGRATOR
 	bool "ARM Ltd. Integrator family"
@@ -370,24 +361,6 @@ config ARCH_BCMRING
 	help
 	  Support for Broadcom's BCMRing platform.
 
-config ARCH_HIGHBANK
-	bool "Calxeda Highbank-based"
-	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select ARM_AMBA
-	select ARM_GIC
-	select ARM_TIMER_SP804
-	select CACHE_L2X0
-	select CLKDEV_LOOKUP
-	select COMMON_CLK
-	select CPU_V7
-	select GENERIC_CLOCKEVENTS
-	select HAVE_ARM_SCU
-	select HAVE_SMP
-	select SPARSE_IRQ
-	select USE_OF
-	help
-	  Support for the Calxeda Highbank SoC based boards.
-
 config ARCH_CLPS711X
 	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
 	select CPU_ARM720T
@@ -568,18 +541,6 @@ config ARCH_IXP4XX
 	help
 	  Support for Intel's IXP4XX (XScale) family of processors.
 
-config ARCH_MVEBU
-	bool "Marvell SOCs with Device Tree support"
-	select GENERIC_CLOCKEVENTS
-	select MULTI_IRQ_HANDLER
-	select SPARSE_IRQ
-	select CLKSRC_MMIO
-	select GENERIC_IRQ_CHIP
-	select IRQ_DOMAIN
-	select COMMON_CLK
-	help
-	  Support for the Marvell SoC Family with device tree support
-
 config ARCH_DOVE
 	bool "Marvell Dove"
 	select CPU_V7
@@ -701,25 +662,6 @@ config ARCH_TEGRA
 	  This enables support for NVIDIA Tegra based systems (Tegra APX,
 	  Tegra 6xx and Tegra 2 series).
 
-config ARCH_PICOXCELL
-	bool "Picochip picoXcell"
-	select ARCH_REQUIRE_GPIOLIB
-	select ARM_PATCH_PHYS_VIRT
-	select ARM_VIC
-	select CPU_V6K
-	select DW_APB_TIMER
-	select DW_APB_TIMER_OF
-	select GENERIC_CLOCKEVENTS
-	select GENERIC_GPIO
-	select HAVE_TCM
-	select NO_IOPORT
-	select SPARSE_IRQ
-	select USE_OF
-	help
-	  This enables support for systems based on the Picochip picoXcell
-	  family of Femtocell devices.  The picoxcell support requires device tree
-	  for all boards.
-
 config ARCH_PNX4008
 	bool "Philips Nexperia PNX4008 Mobile"
 	select CPU_ARM926T
@@ -1043,6 +985,49 @@ config ARCH_ZYNQ
 	  Support for Xilinx Zynq ARM Cortex A9 Platform
 endchoice
 
+menu "Multiple platform selection"
+	depends on ARCH_MULTIPLATFORM
+
+comment "CPU Core family selection"
+
+config ARCH_MULTI_V4
+	bool "ARMv4 based platforms (FA526, StrongARM)"
+	select ARCH_MULTI_V4_V5
+	depends on !ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V4T
+	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
+	select ARCH_MULTI_V4_V5
+	depends on !ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V5
+	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
+	select ARCH_MULTI_V4_V5
+	depends on !ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V4_V5
+	bool
+
+config ARCH_MULTI_V6
+	bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
+	select CPU_V6
+	select ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V7
+	bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
+	select CPU_V7
+	default y
+	select ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V6_V7
+	bool
+
+config ARCH_MULTI_CPU_AUTO
+	def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
+	select ARCH_MULTI_V5
+
+endmenu
+
 #
 # This is sorted alphabetically by mach-* pathname.  However, plat-*
 # Kconfigs may be included either alphabetically (according to the
@@ -1070,6 +1055,8 @@ source "arch/arm/mach-gemini/Kconfig"
 
 source "arch/arm/mach-h720x/Kconfig"
 
+source "arch/arm/mach-highbank/Kconfig"
+
 source "arch/arm/mach-integrator/Kconfig"
 
 source "arch/arm/mach-iop32x/Kconfig"
@@ -1105,6 +1092,8 @@ source "arch/arm/mach-omap2/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
+source "arch/arm/mach-picoxcell/Kconfig"
+
 source "arch/arm/mach-pxa/Kconfig"
 source "arch/arm/plat-pxa/Kconfig"
 
@@ -1117,6 +1106,8 @@ source "arch/arm/mach-sa1100/Kconfig"
 source "arch/arm/plat-samsung/Kconfig"
 source "arch/arm/plat-s3c24xx/Kconfig"
 
+source "arch/arm/mach-socfpga/Kconfig"
+
 source "arch/arm/plat-spear/Kconfig"
 
 source "arch/arm/mach-s3c24xx/Kconfig"
@@ -2081,7 +2072,7 @@ endchoice
 
 config XIP_KERNEL
 	bool "Kernel Execute-In-Place from ROM"
-	depends on !ZBOOT_ROM && !ARM_LPAE
+	depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM
 	help
 	  Execute-In-Place allows the kernel to run from non-volatile storage
 	  directly addressable by the CPU, such as NOR flash. This saves RAM
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index b74ed97..3e57e9a 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -359,6 +359,7 @@ choice
 
 	config DEBUG_LL_UART_NONE
 		bool "No low-level debugging UART"
+		depends on !ARCH_MULTIPLATFORM
 		help
 		  Say Y here if your platform doesn't provide a UART option
 		  below. This relies on your platform choosing the right UART
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 30eae87..fe6e05e 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -135,84 +135,84 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
 
 # Machine directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
-machine-$(CONFIG_ARCH_AT91)		:= at91
-machine-$(CONFIG_ARCH_BCMRING)		:= bcmring
-machine-$(CONFIG_ARCH_CLPS711X)		:= clps711x
-machine-$(CONFIG_ARCH_CNS3XXX)		:= cns3xxx
-machine-$(CONFIG_ARCH_DAVINCI)		:= davinci
-machine-$(CONFIG_ARCH_DOVE)		:= dove
-machine-$(CONFIG_ARCH_EBSA110)		:= ebsa110
-machine-$(CONFIG_ARCH_EP93XX)		:= ep93xx
-machine-$(CONFIG_ARCH_GEMINI)		:= gemini
-machine-$(CONFIG_ARCH_H720X)		:= h720x
-machine-$(CONFIG_ARCH_HIGHBANK)		:= highbank
-machine-$(CONFIG_ARCH_INTEGRATOR)	:= integrator
-machine-$(CONFIG_ARCH_IOP13XX)		:= iop13xx
-machine-$(CONFIG_ARCH_IOP32X)		:= iop32x
-machine-$(CONFIG_ARCH_IOP33X)		:= iop33x
-machine-$(CONFIG_ARCH_IXP4XX)		:= ixp4xx
-machine-$(CONFIG_ARCH_KIRKWOOD)		:= kirkwood
-machine-$(CONFIG_ARCH_KS8695)		:= ks8695
-machine-$(CONFIG_ARCH_LPC32XX)		:= lpc32xx
-machine-$(CONFIG_ARCH_MMP)		:= mmp
-machine-$(CONFIG_ARCH_MSM)		:= msm
-machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
-machine-$(CONFIG_ARCH_IMX_V4_V5)	:= imx
-machine-$(CONFIG_ARCH_IMX_V6_V7)	:= imx
-machine-$(CONFIG_ARCH_MXS)		:= mxs
-machine-$(CONFIG_ARCH_MVEBU)		:= mvebu
-machine-$(CONFIG_ARCH_NETX)		:= netx
-machine-$(CONFIG_ARCH_NOMADIK)		:= nomadik
-machine-$(CONFIG_ARCH_OMAP1)		:= omap1
-machine-$(CONFIG_ARCH_OMAP2PLUS)	:= omap2
-machine-$(CONFIG_ARCH_ORION5X)		:= orion5x
-machine-$(CONFIG_ARCH_PICOXCELL)	:= picoxcell
-machine-$(CONFIG_ARCH_PNX4008)		:= pnx4008
-machine-$(CONFIG_ARCH_PRIMA2)		:= prima2
-machine-$(CONFIG_ARCH_PXA)		:= pxa
-machine-$(CONFIG_ARCH_REALVIEW)		:= realview
-machine-$(CONFIG_ARCH_RPC)		:= rpc
-machine-$(CONFIG_ARCH_S3C24XX)		:= s3c24xx s3c2412 s3c2440
-machine-$(CONFIG_ARCH_S3C64XX)		:= s3c64xx
-machine-$(CONFIG_ARCH_S5P64X0)		:= s5p64x0
-machine-$(CONFIG_ARCH_S5PC100)		:= s5pc100
-machine-$(CONFIG_ARCH_S5PV210)		:= s5pv210
-machine-$(CONFIG_ARCH_EXYNOS4)		:= exynos
-machine-$(CONFIG_ARCH_EXYNOS5)		:= exynos
-machine-$(CONFIG_ARCH_SA1100)		:= sa1100
-machine-$(CONFIG_ARCH_SHARK)		:= shark
-machine-$(CONFIG_ARCH_SHMOBILE) 	:= shmobile
-machine-$(CONFIG_ARCH_TEGRA)		:= tegra
-machine-$(CONFIG_ARCH_U300)		:= u300
-machine-$(CONFIG_ARCH_U8500)		:= ux500
-machine-$(CONFIG_ARCH_VERSATILE)	:= versatile
-machine-$(CONFIG_ARCH_VEXPRESS)		:= vexpress
-machine-$(CONFIG_ARCH_VT8500)		:= vt8500
-machine-$(CONFIG_ARCH_W90X900)		:= w90x900
-machine-$(CONFIG_FOOTBRIDGE)		:= footbridge
-machine-$(CONFIG_ARCH_SOCFPGA)		:= socfpga
-machine-$(CONFIG_MACH_SPEAR1310)	:= spear13xx
-machine-$(CONFIG_MACH_SPEAR1340)	:= spear13xx
-machine-$(CONFIG_MACH_SPEAR300)		:= spear3xx
-machine-$(CONFIG_MACH_SPEAR310)		:= spear3xx
-machine-$(CONFIG_MACH_SPEAR320)		:= spear3xx
-machine-$(CONFIG_MACH_SPEAR600)		:= spear6xx
-machine-$(CONFIG_ARCH_ZYNQ)		:= zynq
+machine-$(CONFIG_ARCH_AT91)		+= at91
+machine-$(CONFIG_ARCH_BCMRING)		+= bcmring
+machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
+machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
+machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
+machine-$(CONFIG_ARCH_DOVE)		+= dove
+machine-$(CONFIG_ARCH_EBSA110)		+= ebsa110
+machine-$(CONFIG_ARCH_EP93XX)		+= ep93xx
+machine-$(CONFIG_ARCH_GEMINI)		+= gemini
+machine-$(CONFIG_ARCH_H720X)		+= h720x
+machine-$(CONFIG_ARCH_HIGHBANK)		+= highbank
+machine-$(CONFIG_ARCH_INTEGRATOR)	+= integrator
+machine-$(CONFIG_ARCH_IOP13XX)		+= iop13xx
+machine-$(CONFIG_ARCH_IOP32X)		+= iop32x
+machine-$(CONFIG_ARCH_IOP33X)		+= iop33x
+machine-$(CONFIG_ARCH_IXP4XX)		+= ixp4xx
+machine-$(CONFIG_ARCH_KIRKWOOD)		+= kirkwood
+machine-$(CONFIG_ARCH_KS8695)		+= ks8695
+machine-$(CONFIG_ARCH_LPC32XX)		+= lpc32xx
+machine-$(CONFIG_ARCH_MMP)		+= mmp
+machine-$(CONFIG_ARCH_MSM)		+= msm
+machine-$(CONFIG_ARCH_MV78XX0)		+= mv78xx0
+machine-$(CONFIG_ARCH_IMX_V4_V5)	+= imx
+machine-$(CONFIG_ARCH_IMX_V6_V7)	+= imx
+machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MVEBU)		+= mvebu
+machine-$(CONFIG_ARCH_NETX)		+= netx
+machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
+machine-$(CONFIG_ARCH_OMAP1)		+= omap1
+machine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
+machine-$(CONFIG_ARCH_ORION5X)		+= orion5x
+machine-$(CONFIG_ARCH_PICOXCELL)	+= picoxcell
+machine-$(CONFIG_ARCH_PNX4008)		+= pnx4008
+machine-$(CONFIG_ARCH_PRIMA2)		+= prima2
+machine-$(CONFIG_ARCH_PXA)		+= pxa
+machine-$(CONFIG_ARCH_REALVIEW)		+= realview
+machine-$(CONFIG_ARCH_RPC)		+= rpc
+machine-$(CONFIG_ARCH_S3C24XX)		+= s3c24xx s3c2412 s3c2440
+machine-$(CONFIG_ARCH_S3C64XX)		+= s3c64xx
+machine-$(CONFIG_ARCH_S5P64X0)		+= s5p64x0
+machine-$(CONFIG_ARCH_S5PC100)		+= s5pc100
+machine-$(CONFIG_ARCH_S5PV210)		+= s5pv210
+machine-$(CONFIG_ARCH_EXYNOS4)		+= exynos
+machine-$(CONFIG_ARCH_EXYNOS5)		+= exynos
+machine-$(CONFIG_ARCH_SA1100)		+= sa1100
+machine-$(CONFIG_ARCH_SHARK)		+= shark
+machine-$(CONFIG_ARCH_SHMOBILE) 	+= shmobile
+machine-$(CONFIG_ARCH_TEGRA)		+= tegra
+machine-$(CONFIG_ARCH_U300)		+= u300
+machine-$(CONFIG_ARCH_U8500)		+= ux500
+machine-$(CONFIG_ARCH_VERSATILE)	+= versatile
+machine-$(CONFIG_ARCH_VEXPRESS)		+= vexpress
+machine-$(CONFIG_ARCH_VT8500)		+= vt8500
+machine-$(CONFIG_ARCH_W90X900)		+= w90x900
+machine-$(CONFIG_FOOTBRIDGE)		+= footbridge
+machine-$(CONFIG_ARCH_SOCFPGA)		+= socfpga
+machine-$(CONFIG_MACH_SPEAR1310)	+= spear13xx
+machine-$(CONFIG_MACH_SPEAR1340)	+= spear13xx
+machine-$(CONFIG_MACH_SPEAR300)		+= spear3xx
+machine-$(CONFIG_MACH_SPEAR310)		+= spear3xx
+machine-$(CONFIG_MACH_SPEAR320)		+= spear3xx
+machine-$(CONFIG_MACH_SPEAR600)		+= spear6xx
+machine-$(CONFIG_ARCH_ZYNQ)		+= zynq
 
 # Platform directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
-plat-$(CONFIG_ARCH_MXC)		:= mxc
-plat-$(CONFIG_ARCH_OMAP)	:= omap
-plat-$(CONFIG_ARCH_S3C64XX)	:= samsung
-plat-$(CONFIG_ARCH_ZYNQ)	:= versatile
-plat-$(CONFIG_PLAT_IOP)		:= iop
-plat-$(CONFIG_PLAT_NOMADIK)	:= nomadik
-plat-$(CONFIG_PLAT_ORION)	:= orion
-plat-$(CONFIG_PLAT_PXA)		:= pxa
-plat-$(CONFIG_PLAT_S3C24XX)	:= s3c24xx samsung
-plat-$(CONFIG_PLAT_S5P)		:= samsung
-plat-$(CONFIG_PLAT_SPEAR)	:= spear
-plat-$(CONFIG_PLAT_VERSATILE)	:= versatile
+plat-$(CONFIG_ARCH_MXC)		+= mxc
+plat-$(CONFIG_ARCH_OMAP)	+= omap
+plat-$(CONFIG_ARCH_S3C64XX)	+= samsung
+plat-$(CONFIG_ARCH_ZYNQ)	+= versatile
+plat-$(CONFIG_PLAT_IOP)		+= iop
+plat-$(CONFIG_PLAT_NOMADIK)	+= nomadik
+plat-$(CONFIG_PLAT_ORION)	+= orion
+plat-$(CONFIG_PLAT_PXA)		+= pxa
+plat-$(CONFIG_PLAT_S3C24XX)	+= s3c24xx samsung
+plat-$(CONFIG_PLAT_S5P)		+= samsung
+plat-$(CONFIG_PLAT_SPEAR)	+= spear
+plat-$(CONFIG_PLAT_VERSATILE)	+= versatile
 
 ifeq ($(CONFIG_ARCH_EBSA110),y)
 # This is what happens if you forget the IOCS16 line.
@@ -230,15 +230,20 @@ MACHINE  := arch/arm/mach-$(word 1,$(machine-y))/
 else
 MACHINE  :=
 endif
+ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
+MACHINE  :=
+endif
 
 machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
 platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
 
+ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 ifeq ($(KBUILD_SRC),)
 KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
 else
 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
 endif
+endif
 
 export	TEXT_OFFSET GZFLAGS MMUEXT
 
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 8e2a8fc..df89983 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -25,7 +25,13 @@ unsigned int __machine_arch_type;
 static void putstr(const char *ptr);
 extern void error(char *x);
 
+#ifdef CONFIG_ARCH_MULTIPLATFORM
+static inline void putc(int c) {}
+static inline void flush(void) {}
+static inline void arch_decomp_setup(void) {}
+#else
 #include <mach/uncompress.h>
+#endif
 
 #ifdef CONFIG_DEBUG_ICEDCC
 
diff --git a/arch/arm/include/asm/timex.h b/arch/arm/include/asm/timex.h
index ce11944..963342a 100644
--- a/arch/arm/include/asm/timex.h
+++ b/arch/arm/include/asm/timex.h
@@ -13,7 +13,11 @@
 #define _ASMARM_TIMEX_H
 
 #include <asm/arch_timer.h>
+#ifdef CONFIG_ARCH_MULTIPLATFORM
+#define CLOCK_TICK_RATE 1000000
+#else
 #include <mach/timex.h>
+#endif
 
 typedef unsigned long cycles_t;
 
diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
new file mode 100644
index 0000000..0e1d0a4
--- /dev/null
+++ b/arch/arm/mach-highbank/Kconfig
@@ -0,0 +1,15 @@
+config ARCH_HIGHBANK
+	bool "Calxeda ECX-1000 (Highbank)" if ARCH_MULTI_V7
+	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARM_AMBA
+	select ARM_GIC
+	select ARM_TIMER_SP804
+	select CACHE_L2X0
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
+	select CPU_V7
+	select GENERIC_CLOCKEVENTS
+	select HAVE_ARM_SCU
+	select HAVE_SMP
+	select SPARSE_IRQ
+	select USE_OF
diff --git a/arch/arm/mach-highbank/Makefile.boot b/arch/arm/mach-highbank/Makefile.boot
deleted file mode 100644
index dae9661..0000000
--- a/arch/arm/mach-highbank/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y	:= 0x00008000
diff --git a/arch/arm/mach-highbank/include/mach/timex.h b/arch/arm/mach-highbank/include/mach/timex.h
deleted file mode 100644
index 88dac7a..0000000
--- a/arch/arm/mach-highbank/include/mach/timex.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __MACH_TIMEX_H
-#define __MACH_TIMEX_H
-
-#define CLOCK_TICK_RATE		1000000
-
-#endif
diff --git a/arch/arm/mach-highbank/include/mach/uncompress.h b/arch/arm/mach-highbank/include/mach/uncompress.h
deleted file mode 100644
index bbe20e6..0000000
--- a/arch/arm/mach-highbank/include/mach/uncompress.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __MACH_UNCOMPRESS_H
-#define __MACH_UNCOMPRESS_H
-
-#define putc(c)
-#define flush()
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
-
-#endif
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index caa2c5e..7b27035 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -1,3 +1,13 @@
+config ARCH_MVEBU
+	bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7
+	select CLKSRC_MMIO
+	select COMMON_CLK
+	select GENERIC_CLOCKEVENTS
+	select GENERIC_IRQ_CHIP
+	select IRQ_DOMAIN
+	select MULTI_IRQ_HANDLER
+	select SPARSE_IRQ
+
 if ARCH_MVEBU
 
 menu "Marvell SOC with device tree"
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
index e61d2b8..6ea8998 100644
--- a/arch/arm/mach-mvebu/Makefile
+++ b/arch/arm/mach-mvebu/Makefile
@@ -1,2 +1,4 @@
+ccflags-$(ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
+
 obj-y += system-controller.o
 obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o irq-armada-370-xp.o
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot
deleted file mode 100644
index b327175..0000000
--- a/arch/arm/mach-mvebu/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y := 0x00008000
diff --git a/arch/arm/mach-mvebu/include/mach/timex.h b/arch/arm/mach-mvebu/include/mach/timex.h
deleted file mode 100644
index ab324a3..0000000
--- a/arch/arm/mach-mvebu/include/mach/timex.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Marvell Armada SoC time definitions
- *
- * Copyright (C) 2012 Marvell
- *
- * Lior Amsalem <alior@marvell.com>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#define CLOCK_TICK_RATE		(100 * HZ)
diff --git a/arch/arm/mach-mvebu/include/mach/uncompress.h b/arch/arm/mach-mvebu/include/mach/uncompress.h
deleted file mode 100644
index d6a100c..0000000
--- a/arch/arm/mach-mvebu/include/mach/uncompress.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Marvell Armada SoC kernel uncompression UART routines
- *
- * Copyright (C) 2012 Marvell
- *
- * Lior Amsalem <alior@marvell.com>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <mach/armada-370-xp.h>
-
-#define UART_THR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
-								+ 0x12000))
-#define UART_LSR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
-								+ 0x12014))
-
-#define LSR_THRE	0x20
-
-static void putc(const char c)
-{
-	int i;
-
-	for (i = 0; i < 0x1000; i++) {
-		/* Transmit fifo not full? */
-		if (*UART_LSR & LSR_THRE)
-			break;
-	}
-
-	*UART_THR = c;
-}
-
-static void flush(void)
-{
-}
-
-/*
- * nothing to do
- */
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
diff --git a/arch/arm/mach-picoxcell/Kconfig b/arch/arm/mach-picoxcell/Kconfig
new file mode 100644
index 0000000..868796f
--- /dev/null
+++ b/arch/arm/mach-picoxcell/Kconfig
@@ -0,0 +1,14 @@
+config ARCH_PICOXCELL
+	bool "Picochip PicoXcell" if ARCH_MULTI_V6
+	select ARCH_REQUIRE_GPIOLIB
+	select ARM_PATCH_PHYS_VIRT
+	select ARM_VIC
+	select CPU_V6K
+	select DW_APB_TIMER
+	select DW_APB_TIMER_OF
+	select GENERIC_CLOCKEVENTS
+	select GENERIC_GPIO
+	select HAVE_TCM
+	select NO_IOPORT
+	select SPARSE_IRQ
+	select USE_OF
diff --git a/arch/arm/mach-picoxcell/Makefile.boot b/arch/arm/mach-picoxcell/Makefile.boot
deleted file mode 100644
index b327175..0000000
--- a/arch/arm/mach-picoxcell/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y := 0x00008000
diff --git a/arch/arm/mach-picoxcell/include/mach/hardware.h b/arch/arm/mach-picoxcell/include/mach/hardware.h
deleted file mode 100644
index 70ff581..0000000
--- a/arch/arm/mach-picoxcell/include/mach/hardware.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This file contains the hardware definitions of the picoXcell SoC devices.
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __ASM_ARCH_HARDWARE_H
-#define __ASM_ARCH_HARDWARE_H
-
-#include <mach/picoxcell_soc.h>
-
-#endif
diff --git a/arch/arm/mach-picoxcell/include/mach/timex.h b/arch/arm/mach-picoxcell/include/mach/timex.h
deleted file mode 100644
index 6c540a6..0000000
--- a/arch/arm/mach-picoxcell/include/mach/timex.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#ifndef __TIMEX_H__
-#define __TIMEX_H__
-
-/* Bogus value to allow the kernel to compile. */
-#define CLOCK_TICK_RATE		1000000
-
-#endif /* __TIMEX_H__ */
-
diff --git a/arch/arm/mach-picoxcell/include/mach/uncompress.h b/arch/arm/mach-picoxcell/include/mach/uncompress.h
deleted file mode 100644
index b60b19d..0000000
--- a/arch/arm/mach-picoxcell/include/mach/uncompress.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#define putc(c)
-#define flush()
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
new file mode 100644
index 0000000..803a328
--- /dev/null
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -0,0 +1,16 @@
+config ARCH_SOCFPGA
+	bool "Altera SOCFPGA family" if ARCH_MULTI_V7
+	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARM_AMBA
+	select ARM_GIC
+	select CACHE_L2X0
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
+	select CPU_V7
+	select DW_APB_TIMER
+	select DW_APB_TIMER_OF
+	select GENERIC_CLOCKEVENTS
+	select GPIO_PL061 if GPIOLIB
+	select HAVE_ARM_SCU
+	select SPARSE_IRQ
+	select USE_OF
diff --git a/arch/arm/mach-socfpga/Makefile.boot b/arch/arm/mach-socfpga/Makefile.boot
deleted file mode 100644
index dae9661..0000000
--- a/arch/arm/mach-socfpga/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y	:= 0x00008000
diff --git a/arch/arm/mach-socfpga/include/mach/timex.h b/arch/arm/mach-socfpga/include/mach/timex.h
deleted file mode 100644
index 43df435..0000000
--- a/arch/arm/mach-socfpga/include/mach/timex.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *  Copyright (C) 2003 ARM Limited
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#define CLOCK_TICK_RATE		(50000000 / 16)
diff --git a/arch/arm/mach-socfpga/include/mach/uncompress.h b/arch/arm/mach-socfpga/include/mach/uncompress.h
deleted file mode 100644
index bbe20e6..0000000
--- a/arch/arm/mach-socfpga/include/mach/uncompress.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __MACH_UNCOMPRESS_H
-#define __MACH_UNCOMPRESS_H
-
-#define putc(c)
-#define flush()
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
-
-#endif
-- 
1.7.9.5

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

* [PATCH 12/12] ARM: vexpress: convert to multi-platform
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (10 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 11/12] ARM: initial multiplatform support Rob Herring
@ 2012-09-06 20:12 ` Rob Herring
  2012-09-10 19:07 ` [PATCH v3 00/12] Initial multi-platform support Jamie Iles
  12 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-06 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

Convert vexpress to multi-platform. This always enables vexpress DT and
makes it the default v7 platform.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
---
 arch/arm/Kconfig                     |   19 +---------
 arch/arm/mach-vexpress/Kconfig       |   64 +++++++++++++++++-----------------
 arch/arm/mach-vexpress/Makefile      |    2 ++
 arch/arm/mach-vexpress/Makefile.boot |    5 ---
 arch/arm/mach-vexpress/v2m.c         |    4 ---
 arch/arm/plat-versatile/Makefile     |    2 ++
 6 files changed, 37 insertions(+), 59 deletions(-)
 delete mode 100644 arch/arm/mach-vexpress/Makefile.boot

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ebaf088..16773aa 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -319,24 +319,6 @@ config ARCH_VERSATILE
 	help
 	  This enables support for ARM Ltd Versatile board.
 
-config ARCH_VEXPRESS
-	bool "ARM Ltd. Versatile Express family"
-	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select ARM_AMBA
-	select ARM_TIMER_SP804
-	select CLKDEV_LOOKUP
-	select COMMON_CLK
-	select GENERIC_CLOCKEVENTS
-	select HAVE_CLK
-	select HAVE_PATA_PLATFORM
-	select ICST
-	select NO_IOPORT
-	select PLAT_VERSATILE
-	select PLAT_VERSATILE_CLCD
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  This enables support for the ARM Ltd Versatile Express boards.
-
 config ARCH_AT91
 	bool "Atmel AT91"
 	select ARCH_REQUIRE_GPIOLIB
@@ -1016,6 +998,7 @@ config ARCH_MULTI_V6
 config ARCH_MULTI_V7
 	bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
 	select CPU_V7
+	select ARCH_VEXPRESS
 	default y
 	select ARCH_MULTI_V6_V7
 
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
index fc3730f..c952960 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -1,38 +1,23 @@
-menu "Versatile Express platform type"
-	depends on ARCH_VEXPRESS
-
-config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
-	bool "Enable A5 and A9 only errata work-arounds"
-	default y
-	select ARM_ERRATA_720789
-	select ARM_ERRATA_751472
-	select PL310_ERRATA_753970 if CACHE_PL310
-	help
-	  Provides common dependencies for Versatile Express platforms
-	  based on Cortex-A5 and Cortex-A9 processors. In order to
-	  build a working kernel, you must also enable relevant core
-	  tile support or Flattened Device Tree based support options.
-
-config ARCH_VEXPRESS_CA9X4
-	bool "Versatile Express Cortex-A9x4 tile"
-	select ARM_GIC
-	select CPU_V7
-	select HAVE_SMP
-	select MIGHT_HAVE_CACHE_L2X0
-
-config ARCH_VEXPRESS_DT
-	bool "Device Tree support for Versatile Express platforms"
+config ARCH_VEXPRESS
+	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
+	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARM_AMBA
 	select ARM_GIC
-	select ARM_PATCH_PHYS_VIRT
-	select AUTO_ZRELADDR
+	select ARM_TIMER_SP804
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
 	select CPU_V7
+	select GENERIC_CLOCKEVENTS
+	select HAVE_CLK
+	select HAVE_PATA_PLATFORM
 	select HAVE_SMP
+	select ICST
 	select MIGHT_HAVE_CACHE_L2X0
-	select USE_OF
+	select NO_IOPORT
+	select PLAT_VERSATILE
+	select PLAT_VERSATILE_CLCD
+	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	help
-	  New Versatile Express platforms require Flattened Device Tree to
-	  be passed to the kernel.
-
 	  This option enables support for systems using Cortex processor based
 	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
 	  for example:
@@ -48,7 +33,22 @@ config ARCH_VEXPRESS_DT
 	  platforms. The traditional (ATAGs) boot method is not usable on
 	  these boards with this option.
 
-	  If your bootloader supports Flattened Device Tree based booting,
-	  say Y here.
+menu "Versatile Express platform type"
+	depends on ARCH_VEXPRESS
+
+config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
+	bool "Enable A5 and A9 only errata work-arounds"
+	default y
+	select ARM_ERRATA_720789
+	select ARM_ERRATA_751472
+	select PL310_ERRATA_753970 if CACHE_PL310
+	help
+	  Provides common dependencies for Versatile Express platforms
+	  based on Cortex-A5 and Cortex-A9 processors. In order to
+	  build a working kernel, you must also enable relevant core
+	  tile support or Flattened Device Tree based support options.
+
+config ARCH_VEXPRESS_CA9X4
+	bool "Versatile Express Cortex-A9x4 tile"
 
 endmenu
diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile
index 90551b9..42703e8 100644
--- a/arch/arm/mach-vexpress/Makefile
+++ b/arch/arm/mach-vexpress/Makefile
@@ -1,6 +1,8 @@
 #
 # Makefile for the linux kernel.
 #
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
+	-I$(srctree)/arch/arm/plat-versatile/include
 
 obj-y					:= v2m.o
 obj-$(CONFIG_ARCH_VEXPRESS_CA9X4)	+= ct-ca9x4.o
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
deleted file mode 100644
index c6dd891..0000000
--- a/arch/arm/mach-vexpress/Makefile.boot
+++ /dev/null
@@ -1,5 +0,0 @@
-# Those numbers are used only by the non-DT V2P-CA9 platform
-# The DT-enabled ones require CONFIG_AUTO_ZRELADDR=y
-   zreladdr-y	+= 0x60008000
-params_phys-y	:= 0x60000100
-initrd_phys-y	:= 0x60800000
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c
index 37608f2..2ca86c5 100644
--- a/arch/arm/mach-vexpress/v2m.c
+++ b/arch/arm/mach-vexpress/v2m.c
@@ -539,8 +539,6 @@ MACHINE_START(VEXPRESS, "ARM-Versatile Express")
 	.restart	= v2m_restart,
 MACHINE_END
 
-#if defined(CONFIG_ARCH_VEXPRESS_DT)
-
 static struct map_desc v2m_rs1_io_desc __initdata = {
 	.virtual	= V2M_PERIPH,
 	.pfn		= __phys_to_pfn(0x1c000000),
@@ -671,5 +669,3 @@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express")
 	.handle_irq	= gic_handle_irq,
 	.restart	= v2m_restart,
 MACHINE_END
-
-#endif
diff --git a/arch/arm/plat-versatile/Makefile b/arch/arm/plat-versatile/Makefile
index 272769a8..74cfd94 100644
--- a/arch/arm/plat-versatile/Makefile
+++ b/arch/arm/plat-versatile/Makefile
@@ -1,3 +1,5 @@
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
+
 obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o
 obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o
 obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o
-- 
1.7.9.5

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

* [PATCH 05/12] ARM: socfpga: move debug macros to include/debug
  2012-09-06 20:12 ` [PATCH 05/12] ARM: socfpga: " Rob Herring
@ 2012-09-06 22:33   ` Dinh Nguyen
  2012-09-06 23:35   ` Dinh Nguyen
  1 sibling, 0 replies; 44+ messages in thread
From: Dinh Nguyen @ 2012-09-06 22:33 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Rob,

On Thu, 2012-09-06 at 15:12 -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
>
> Move socfpga debug-macro.S over to common debug macro directory.
>
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Dinh Nguyen <dinguyen@altera.com>
> ---
>  arch/arm/Kconfig.debug                             |    8 ++++++++
>  .../mach/debug-macro.S => include/debug/socfpga.S} |    0
>  2 files changed, 8 insertions(+)
>  rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
>
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 3bafdd2..aa56934 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -317,6 +317,13 @@ choice
>                 The uncompressor code port configuration is now handled
>                 by CONFIG_S3C_LOWLEVEL_UART_PORT.
>
> +     config DEBUG_SOCFPGA_UART
> +             depends on ARCH_SOCFPGA
> +             bool "Use SOCFPGA UART for low-level debug"
> +             help
> +               Say Y here if you want kernel low-level debugging support
> +               on SOCFPGA based platforms.
> +
>       config DEBUG_VEXPRESS_UART0_DETECT
>               bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
>               depends on ARCH_VEXPRESS && CPU_CP15_MMU
> @@ -385,6 +392,7 @@ config DEBUG_LL_INCLUDE
>       default "debug/icedcc.S" if DEBUG_ICEDCC
>       default "debug/highbank.S" if DEBUG_HIGHBANK_UART
>       default "debug/mvebu.S" if DEBUG_MVEBU_UART
> +     default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
>       default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
>               DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
>       default "mach/debug-macro.S"
> diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S
> similarity index 100%
> rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
> rename to arch/arm/include/debug/socfpga.S

Looks great!

Acked-by: Dinh Nguyen <dinguyen@altera.com>

Confidentiality Notice.
This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution,  or copying  of this message, or any attachments, is strictly prohibited.  If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments.  Thank you.

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

* [PATCH 05/12] ARM: socfpga: move debug macros to include/debug
  2012-09-06 20:12 ` [PATCH 05/12] ARM: socfpga: " Rob Herring
  2012-09-06 22:33   ` Dinh Nguyen
@ 2012-09-06 23:35   ` Dinh Nguyen
  1 sibling, 0 replies; 44+ messages in thread
From: Dinh Nguyen @ 2012-09-06 23:35 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Rob,

Sorry, resending the ack without the confidential stamp.

On Thu, 2012-09-06 at 15:12 -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> Move socfpga debug-macro.S over to common debug macro directory.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Dinh Nguyen <dinguyen@altera.com>
> ---
>  arch/arm/Kconfig.debug                             |    8 ++++++++
>  .../mach/debug-macro.S => include/debug/socfpga.S} |    0
>  2 files changed, 8 insertions(+)
>  rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 3bafdd2..aa56934 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -317,6 +317,13 @@ choice
>  		  The uncompressor code port configuration is now handled
>  		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
>  
> +	config DEBUG_SOCFPGA_UART
> +		depends on ARCH_SOCFPGA
> +		bool "Use SOCFPGA UART for low-level debug"
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on SOCFPGA based platforms.
> +
>  	config DEBUG_VEXPRESS_UART0_DETECT
>  		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
>  		depends on ARCH_VEXPRESS && CPU_CP15_MMU
> @@ -385,6 +392,7 @@ config DEBUG_LL_INCLUDE
>  	default "debug/icedcc.S" if DEBUG_ICEDCC
>  	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
>  	default "debug/mvebu.S" if DEBUG_MVEBU_UART
> +	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
>  	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
>  		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
>  	default "mach/debug-macro.S"
> diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S
> similarity index 100%
> rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
> rename to arch/arm/include/debug/socfpga.S

Acked-by: Dinh Nguyen <dinguyen@altera.com>

Dinh

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-06 20:12 ` [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot Rob Herring
@ 2012-09-07  2:27   ` Shawn Guo
  2012-09-07  2:36     ` Stephen Warren
  2012-09-10 15:52   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-09-11 18:08   ` [PATCH v2] " Rob Herring
  2 siblings, 1 reply; 44+ messages in thread
From: Shawn Guo @ 2012-09-07  2:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
> +dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
> +dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
> +	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
> +	tegra20-whistler.dtb
> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
> +dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb

Replace tab with space?

> +dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb armada-xp-db.dtb
> +dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb at91sam9263ek.dtb \
> +	at91sam9g20ek_2mmc.dtb at91sam9g20ek.dtb at91sam9g25ek.dtb \
> +	at91sam9m10g45ek.dtb at91sam9n12ek.dtb ethernut5.dtb evk-pro3.dtb \
> +	kizbox.dtb tny_a9260.dtb tny_a9263.dtb tny_a9g20.dtb usb_a9260.dtb \
> +	usb_a9263.dtb usb_a9g20.dtb
> +dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb kirkwood-dns325.dtb
> +dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
> +dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
> +dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
> +dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
> +dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
> +dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
> +dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
> +dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
> +	imx53-qsb.dtb imx53-smd.dtb
> +dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
> +dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
> +dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
> +dtb-$(CONFIG_MACH_SPEAR1310) += spear1310-evb.dtb
> +dtb-$(CONFIG_MACH_SPEAR1340) += spear1340-evb.dtb
> +dtb-$(CONFIG_MACH_SPEAR300) += spear300-evb.dtb
> +dtb-$(CONFIG_MACH_SPEAR310) += spear310-evb.dtb
> +dtb-$(CONFIG_MACH_SPEAR320) += spear320-evb.dtb
> +dtb-$(CONFIG_MACH_TS219_DT) += kirkwood-ts219-6281.dtb kirkwood-ts219-6282.dtb
> +dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb imx6q-sabrelite.dtb \

Ditto

> +			   imx6q-sabresd.dtb

This does not follow the indention pattern.

> +dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb imx23-olinuxino.dtb \
> +	 imx23-stmp378x_devb.dtb imx28-apx4devkit.dtb \
> +	 imx28-cfa10036.dtb imx28-evk.dtb \
> +	 imx28-m28evk.dtb imx28-tx28.dtb

Ditto

> +dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
> +	   vexpress-v2p-ca9.dtb vexpress-v2p-ca15-tc1.dtb \
> +	   vexpress-v2p-ca15_a7.dtb

Ditto

CONFIG_ARCH_MXS and CONFIG_ARCH_VEXPRESS entries are not well sorted.
They should be in the CONFIG_ARCH_* section.

Otherwise,

Acked-by: Shawn Guo <shawn.guo@linaro.org>

PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.

-- 
Regards,
Shawn

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07  2:27   ` Shawn Guo
@ 2012-09-07  2:36     ` Stephen Warren
  2012-09-07  2:39       ` Shawn Guo
  2012-09-07  5:19       ` Andrew Lunn
  0 siblings, 2 replies; 44+ messages in thread
From: Stephen Warren @ 2012-09-07  2:36 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/06/2012 08:27 PM, Shawn Guo wrote:
> On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
>> +dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
>> +dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
>> +	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
>> +	tegra20-whistler.dtb

Hmm. The existing files all have one file per line, which makes
adding/removing files have a little less impact; whole lines are
added/removed rather than needing to reflow the whole list. Should we
apply the same layout here too?

> PS. A little heads-up: if this lands on 3.7, there will be conflict
> on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
> cycle.

The same is true of Tegra:

-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07  2:36     ` Stephen Warren
@ 2012-09-07  2:39       ` Shawn Guo
  2012-09-11 12:02         ` Rob Herring
  2012-09-07  5:19       ` Andrew Lunn
  1 sibling, 1 reply; 44+ messages in thread
From: Shawn Guo @ 2012-09-07  2:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 08:36:41PM -0600, Stephen Warren wrote:
> On 09/06/2012 08:27 PM, Shawn Guo wrote:
> > On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
> >> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
> >> +dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
> >> +dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
> >> +	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
> >> +	tegra20-whistler.dtb
> 
> Hmm. The existing files all have one file per line, which makes
> adding/removing files have a little less impact; whole lines are
> added/removed rather than needing to reflow the whole list. Should we
> apply the same layout here too?
> 
+1

-- 
Regards,
Shawn

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07  2:36     ` Stephen Warren
  2012-09-07  2:39       ` Shawn Guo
@ 2012-09-07  5:19       ` Andrew Lunn
  2012-09-07 12:51         ` Rob Herring
  1 sibling, 1 reply; 44+ messages in thread
From: Andrew Lunn @ 2012-09-07  5:19 UTC (permalink / raw)
  To: linux-arm-kernel

> > PS. A little heads-up: if this lands on 3.7, there will be conflict
> > on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
> > cycle.
> 
> The same is true of Tegra:
> 
> -dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb

Ditto kirkwood and mvebu. And Dove might also gain DT support,
resulting in new entries in its Makefile.boot.

	Andrew

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07  5:19       ` Andrew Lunn
@ 2012-09-07 12:51         ` Rob Herring
  2012-09-07 13:25           ` Arnd Bergmann
  0 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-07 12:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/07/2012 12:19 AM, Andrew Lunn wrote:
>>> PS. A little heads-up: if this lands on 3.7, there will be conflict
>>> on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
>>> cycle.
>>
>> The same is true of Tegra:
>>
>> -dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
>> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
>> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
> 
> Ditto kirkwood and mvebu. And Dove might also gain DT support,
> resulting in new entries in its Makefile.boot.

It's basically scripted plus fix-up multi-line entries. We could do this
at the end of the merge window. I don't think "make dtbs" for
multi-platform enabled platforms being bisectable is too important.

Rob

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07 12:51         ` Rob Herring
@ 2012-09-07 13:25           ` Arnd Bergmann
  2012-09-07 13:46             ` Rob Herring
  0 siblings, 1 reply; 44+ messages in thread
From: Arnd Bergmann @ 2012-09-07 13:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Friday 07 September 2012, Rob Herring wrote:
> 
> On 09/07/2012 12:19 AM, Andrew Lunn wrote:
> >>> PS. A little heads-up: if this lands on 3.7, there will be conflict
> >>> on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
> >>> cycle.
> >>
> >> The same is true of Tegra:
> >>
> >> -dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
> >> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
> >> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
> > 
> > Ditto kirkwood and mvebu. And Dove might also gain DT support,
> > resulting in new entries in its Makefile.boot.
> 
> It's basically scripted plus fix-up multi-line entries. We could do this
> at the end of the merge window. I don't think "make dtbs" for
> multi-platform enabled platforms being bisectable is too important.

I think I'd rather merge the series early in the merge window and
then send a follow-up later. It shouldn't hurt to add the lines
in the Makefile.boot files after this patch, right?

	Arnd

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07 13:25           ` Arnd Bergmann
@ 2012-09-07 13:46             ` Rob Herring
  0 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-07 13:46 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/07/2012 08:25 AM, Arnd Bergmann wrote:
> On Friday 07 September 2012, Rob Herring wrote:
>>
>> On 09/07/2012 12:19 AM, Andrew Lunn wrote:
>>>>> PS. A little heads-up: if this lands on 3.7, there will be conflict
>>>>> on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
>>>>> cycle.
>>>>
>>>> The same is true of Tegra:
>>>>
>>>> -dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
>>>> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
>>>> +dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
>>>
>>> Ditto kirkwood and mvebu. And Dove might also gain DT support,
>>> resulting in new entries in its Makefile.boot.
>>
>> It's basically scripted plus fix-up multi-line entries. We could do this
>> at the end of the merge window. I don't think "make dtbs" for
>> multi-platform enabled platforms being bisectable is too important.
> 
> I think I'd rather merge the series early in the merge window and
> then send a follow-up later. It shouldn't hurt to add the lines
> in the Makefile.boot files after this patch, right?

In Steven's example, no, but if it's just a new line with only "
board.dtb \" then it will have to be fixed.

I suppose I could just move the converted platforms and leave the rest.
That doesn't help mvebu though.

Rob

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

* [PATCH 04/12] ARM: mvebu: move debug macros to include/debug
  2012-09-06 20:12 ` [PATCH 04/12] ARM: mvebu: " Rob Herring
@ 2012-09-07 15:08   ` Jason Cooper
  0 siblings, 0 replies; 44+ messages in thread
From: Jason Cooper @ 2012-09-07 15:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 03:12:47PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> Move mvebu debug-macro.S over to common debug macro directory.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Andrew Lunn <andrew@lunn.ch>

As with the other patch involving -mvebu, please include Gregory Clement
in the Cc:  I've added him to bring this patch to his attention.

thx,

Jason.

> ---
>  arch/arm/Kconfig.debug                             |    8 ++++++++
>  .../mach/debug-macro.S => include/debug/mvebu.S}   |    3 ++-
>  2 files changed, 10 insertions(+), 1 deletion(-)
>  rename arch/arm/{mach-mvebu/include/mach/debug-macro.S => include/debug/mvebu.S} (86%)
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 525d9bd..3bafdd2 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -261,6 +261,13 @@ choice
>  		  Say Y here if you want the debug print routines to direct
>  		  their output to the serial port on MSM 8960 devices.
>  
> +	config DEBUG_MVEBU_UART
> +		bool "Kernel low-level debugging messages via MVEBU UART"
> +		depends on ARCH_MVEBU
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on MVEBU based platforms.
> +
>  	config DEBUG_REALVIEW_STD_PORT
>  		bool "RealView Default UART"
>  		depends on ARCH_REALVIEW
> @@ -377,6 +384,7 @@ config DEBUG_LL_INCLUDE
>  	string
>  	default "debug/icedcc.S" if DEBUG_ICEDCC
>  	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
> +	default "debug/mvebu.S" if DEBUG_MVEBU_UART
>  	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
>  		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
>  	default "mach/debug-macro.S"
> diff --git a/arch/arm/mach-mvebu/include/mach/debug-macro.S b/arch/arm/include/debug/mvebu.S
> similarity index 86%
> rename from arch/arm/mach-mvebu/include/mach/debug-macro.S
> rename to arch/arm/include/debug/mvebu.S
> index 2282576..865c6d0 100644
> --- a/arch/arm/mach-mvebu/include/mach/debug-macro.S
> +++ b/arch/arm/include/debug/mvebu.S
> @@ -11,7 +11,8 @@
>   * published by the Free Software Foundation.
>  */
>  
> -#include <mach/armada-370-xp.h>
> +#define ARMADA_370_XP_REGS_PHYS_BASE	0xd0000000
> +#define ARMADA_370_XP_REGS_VIRT_BASE	0xfeb00000
>  
>  	.macro	addruart, rp, rv, tmp
>  	ldr	\rp, =ARMADA_370_XP_REGS_PHYS_BASE
> -- 
> 1.7.9.5
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir
  2012-09-06 20:12 ` [PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir Rob Herring
@ 2012-09-07 15:11   ` Jason Cooper
  0 siblings, 0 replies; 44+ messages in thread
From: Jason Cooper @ 2012-09-07 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 03:12:53PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Andrew Lunn <andrew@lunn.ch>

also, Cc: Gregory Clement for -mvebu, please.

thx,

Jason.

> ---
>  arch/arm/mach-mvebu/armada-370-xp.c                |    2 +-
>  .../mach-mvebu/{include/mach => }/armada-370-xp.h  |    0
>  2 files changed, 1 insertion(+), 1 deletion(-)
>  rename arch/arm/mach-mvebu/{include/mach => }/armada-370-xp.h (100%)
> 
> diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
> index 4ef923b..b46418a 100644
> --- a/arch/arm/mach-mvebu/armada-370-xp.c
> +++ b/arch/arm/mach-mvebu/armada-370-xp.c
> @@ -20,7 +20,7 @@
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
>  #include <asm/mach/time.h>
> -#include <mach/armada-370-xp.h>
> +#include "armada-370-xp.h"
>  #include "common.h"
>  
>  static struct map_desc armada_370_xp_io_desc[] __initdata = {
> diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp.h b/arch/arm/mach-mvebu/armada-370-xp.h
> similarity index 100%
> rename from arch/arm/mach-mvebu/include/mach/armada-370-xp.h
> rename to arch/arm/mach-mvebu/armada-370-xp.h
> -- 
> 1.7.9.5
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-06 20:12 ` [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot Rob Herring
  2012-09-07  2:27   ` Shawn Guo
@ 2012-09-10 15:52   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-09-10 17:51     ` Rob Herring
  2012-09-11 18:08   ` [PATCH v2] " Rob Herring
  2 siblings, 1 reply; 44+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-09-10 15:52 UTC (permalink / raw)
  To: linux-arm-kernel

On 15:12 Thu 06 Sep     , Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> In preparation to support multi-platform kernels, move all the dtb targets
> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
> which is closer to the sources.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Andrew Victor <linux@maxim.org.za>
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Gregory Clement <gregory.clement@free-electrons.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Viresh Kumar <viresh.linux@gmail.com>
> Cc: Shiraz Hashim <shiraz.hashim@st.com>
> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> ---
>  arch/arm/boot/Makefile                |    2 ++
>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
>  arch/arm/mach-imx/Makefile.boot       |    7 ------
>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
>  arch/arm/mach-ux500/Makefile.boot     |    2 --
>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
>  15 files changed, 43 insertions(+), 82 deletions(-)
>  create mode 100644 arch/arm/boot/dts/Makefile
> 
> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> index c877087..3fdab01 100644
> --- a/arch/arm/boot/Makefile
> +++ b/arch/arm/boot/Makefile
> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
>  include $(srctree)/$(MACHINE)/Makefile.boot
>  endif
>  
> +include $(srctree)/arch/arm/boot/dts/Makefile
> +
>  # Note: the following conditions must always be true:
>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> new file mode 100644
> index 0000000..e59586b
> --- /dev/null
> +++ b/arch/arm/boot/dts/Makefile
> @@ -0,0 +1,41 @@
> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time

Best Regards,
J.

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-10 15:52   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-09-10 17:51     ` Rob Herring
  2012-09-11  4:49       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-10 17:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 15:12 Thu 06 Sep     , Rob Herring wrote:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> In preparation to support multi-platform kernels, move all the dtb targets
>> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
>> which is closer to the sources.
>>
>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
>> Cc: Russell King <linux@arm.linux.org.uk>
>> Cc: Andrew Victor <linux@maxim.org.za>
>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
>> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
>> Cc: Kukjin Kim <kgene.kim@samsung.com>
>> Cc: Sascha Hauer <kernel@pengutronix.de>
>> Cc: Jason Cooper <jason@lakedaemon.net>
>> Cc: Andrew Lunn <andrew@lunn.ch>
>> Cc: Gregory Clement <gregory.clement@free-electrons.com>
>> Cc: Shawn Guo <shawn.guo@linaro.org>
>> Cc: Viresh Kumar <viresh.linux@gmail.com>
>> Cc: Shiraz Hashim <shiraz.hashim@st.com>
>> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
>> Cc: Stephen Warren <swarren@wwwdotorg.org>
>> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
>> Cc: Linus Walleij <linus.walleij@linaro.org>
>> ---
>>  arch/arm/boot/Makefile                |    2 ++
>>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
>>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
>>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
>>  arch/arm/mach-imx/Makefile.boot       |    7 ------
>>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
>>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
>>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
>>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
>>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
>>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
>>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
>>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
>>  arch/arm/mach-ux500/Makefile.boot     |    2 --
>>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
>>  15 files changed, 43 insertions(+), 82 deletions(-)
>>  create mode 100644 arch/arm/boot/dts/Makefile
>>
>> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
>> index c877087..3fdab01 100644
>> --- a/arch/arm/boot/Makefile
>> +++ b/arch/arm/boot/Makefile
>> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
>>  include $(srctree)/$(MACHINE)/Makefile.boot
>>  endif
>>  
>> +include $(srctree)/arch/arm/boot/dts/Makefile
>> +
>>  # Note: the following conditions must always be true:
>>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
>>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> new file mode 100644
>> index 0000000..e59586b
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -0,0 +1,41 @@
>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
> sorry I see no need of the dtb-y
> 
> just do all the time

That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.

Rob

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

* [PATCH v3 00/12] Initial multi-platform support
  2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
                   ` (11 preceding siblings ...)
  2012-09-06 20:12 ` [PATCH 12/12] ARM: vexpress: convert to multi-platform Rob Herring
@ 2012-09-10 19:07 ` Jamie Iles
  2012-09-14  0:58   ` Shawn Guo
  12 siblings, 1 reply; 44+ messages in thread
From: Jamie Iles @ 2012-09-10 19:07 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Rob,

On Thu, Sep 06, 2012 at 03:12:43PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> This series enables initial ARM multi-platform support for highbank, mvebu,
> socfpga, picoxcell, and vexpress. Multi-platform support is dependent on
> some DEBUG_LL and dtb build rules restructuring. This series is also
> dependent on my gpio clean-up series posted here:
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-September/118138.html
> 
> New in this version:
> - Moved ARCH_MULTIPLATFORM back into choice so converted platforms'
>   defconfigs work before and after conversion.
> - Added mvebu, socfpga and picoxcell DEBUG_LL support. DEBUG_LL should
>   work for all converted platforms.
> - Fixed make dtbs.
> - Removed all unused headers (timex.h, uncompress.h) and Makefile.boot
> - Add ARCH_MULTIPLATFORM depends for XIP found with randconfig builds
> - Split out Vexpress to separate patch as now DT board support is always
>   enabled.
> 
> This series plus gpio clean-up is available here:
> git://sources.calxeda.com/kernel/linux.git multi-plat

This all looks great, thanks for your hard work!  I needed a small fixup 
patch (below), feel free to fold it into your patches or whatever you 
think is best.

Acked-by: Jamie Iles <jamie@jamieiles.com>

8<---

Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.

The debug macros had a dependency on mach headers.  Break that
dependency and restore building.

Signed-off-by: Jamie Iles <jamie@jamieiles.com>
---
 arch/arm/include/debug/picoxcell.S      |    4 ++--
 arch/arm/mach-picoxcell/common.c        |   11 ++++++-----
 arch/arm/mach-picoxcell/picoxcell_soc.h |   25 -------------------------
 3 files changed, 8 insertions(+), 32 deletions(-)
 delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.h

diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
index 58d4ee3..7419deb 100644
--- a/arch/arm/include/debug/picoxcell.S
+++ b/arch/arm/include/debug/picoxcell.S
@@ -9,10 +9,10 @@
  * accesses to the 8250.
  */
 #include <linux/serial_reg.h>
-#include <mach/hardware.h>
-#include <mach/map.h>
 
 #define UART_SHIFT 2
+#define PICOXCELL_UART1_BASE		0x80230000
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
 
 		.macro	addruart, rp, rv, tmp
 		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index a8b70b5..f6c0849 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -20,14 +20,15 @@
 #include <asm/hardware/vic.h>
 #include <asm/mach/map.h>
 
-#include "picoxcell_soc.h"
 #include "common.h"
 
-#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
+#define PICOXCELL_PERIPH_BASE		0x80000000
+#define PICOXCELL_PERIPH_LENGTH		SZ_4M
 
-#define WDT_CTRL_REG_EN_MASK	(1 << 0)
-#define WDT_CTRL_REG_OFFS	(0x00)
-#define WDT_TIMEOUT_REG_OFFS	(0x04)
+#define WDT_CTRL_REG_EN_MASK		(1 << 0)
+#define WDT_CTRL_REG_OFFS		(0x00)
+#define WDT_TIMEOUT_REG_OFFS		(0x04)
 static void __iomem *wdt_regs;
 
 /*
diff --git a/arch/arm/mach-picoxcell/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
deleted file mode 100644
index 5566fc8..0000000
--- a/arch/arm/mach-picoxcell/picoxcell_soc.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This file contains the hardware definitions of the picoXcell SoC devices.
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __PICOXCELL_SOC_H__
-#define __PICOXCELL_SOC_H__
-
-#define PICOXCELL_UART1_BASE		0x80230000
-#define PICOXCELL_PERIPH_BASE		0x80000000
-#define PICOXCELL_PERIPH_LENGTH		SZ_4M
-#define PICOXCELL_VIC0_BASE		0x80060000
-#define PICOXCELL_VIC1_BASE		0x80064000
-
-#endif /* __PICOXCELL_SOC_H__ */
-- 
1.7.9.5

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-10 17:51     ` Rob Herring
@ 2012-09-11  4:49       ` Jean-Christophe PLAGNIOL-VILLARD
  2012-09-11  5:41         ` Stephen Warren
  0 siblings, 1 reply; 44+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-09-11  4:49 UTC (permalink / raw)
  To: linux-arm-kernel

On 12:51 Mon 10 Sep     , Rob Herring wrote:
> On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 15:12 Thu 06 Sep     , Rob Herring wrote:
> >> From: Rob Herring <rob.herring@calxeda.com>
> >>
> >> In preparation to support multi-platform kernels, move all the dtb targets
> >> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
> >> which is closer to the sources.
> >>
> >> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> >> Cc: Russell King <linux@arm.linux.org.uk>
> >> Cc: Andrew Victor <linux@maxim.org.za>
> >> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> >> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> >> Cc: Kukjin Kim <kgene.kim@samsung.com>
> >> Cc: Sascha Hauer <kernel@pengutronix.de>
> >> Cc: Jason Cooper <jason@lakedaemon.net>
> >> Cc: Andrew Lunn <andrew@lunn.ch>
> >> Cc: Gregory Clement <gregory.clement@free-electrons.com>
> >> Cc: Shawn Guo <shawn.guo@linaro.org>
> >> Cc: Viresh Kumar <viresh.linux@gmail.com>
> >> Cc: Shiraz Hashim <shiraz.hashim@st.com>
> >> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
> >> Cc: Stephen Warren <swarren@wwwdotorg.org>
> >> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
> >> Cc: Linus Walleij <linus.walleij@linaro.org>
> >> ---
> >>  arch/arm/boot/Makefile                |    2 ++
> >>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
> >>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
> >>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
> >>  arch/arm/mach-imx/Makefile.boot       |    7 ------
> >>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
> >>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
> >>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
> >>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
> >>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
> >>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
> >>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
> >>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
> >>  arch/arm/mach-ux500/Makefile.boot     |    2 --
> >>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
> >>  15 files changed, 43 insertions(+), 82 deletions(-)
> >>  create mode 100644 arch/arm/boot/dts/Makefile
> >>
> >> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> >> index c877087..3fdab01 100644
> >> --- a/arch/arm/boot/Makefile
> >> +++ b/arch/arm/boot/Makefile
> >> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
> >>  include $(srctree)/$(MACHINE)/Makefile.boot
> >>  endif
> >>  
> >> +include $(srctree)/arch/arm/boot/dts/Makefile
> >> +
> >>  # Note: the following conditions must always be true:
> >>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
> >>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
> >> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >> new file mode 100644
> >> index 0000000..e59586b
> >> --- /dev/null
> >> +++ b/arch/arm/boot/dts/Makefile
> >> @@ -0,0 +1,41 @@
> >> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
> > sorry I see no need of the dtb-y
> > 
> > just do all the time
> 
> That's not how it works today. dtb's only for all enabled platforms are
> built. Changing the behavior should be a different patch.
no I see no point to check if the platform is enable or not just build all

This will allow to check them

Best Regards,
J.

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-11  4:49       ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-09-11  5:41         ` Stephen Warren
  2012-09-11 13:25           ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 44+ messages in thread
From: Stephen Warren @ 2012-09-11  5:41 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 12:51 Mon 10 Sep     , Rob Herring wrote:
>> On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> On 15:12 Thu 06 Sep     , Rob Herring wrote:
>>>> From: Rob Herring <rob.herring@calxeda.com>
>>>>
>>>> In preparation to support multi-platform kernels, move all the dtb targets
>>>> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
>>>> which is closer to the sources.
>>>>
>>>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>> Cc: Andrew Victor <linux@maxim.org.za>
>>>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
>>>> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
>>>> Cc: Kukjin Kim <kgene.kim@samsung.com>
>>>> Cc: Sascha Hauer <kernel@pengutronix.de>
>>>> Cc: Jason Cooper <jason@lakedaemon.net>
>>>> Cc: Andrew Lunn <andrew@lunn.ch>
>>>> Cc: Gregory Clement <gregory.clement@free-electrons.com>
>>>> Cc: Shawn Guo <shawn.guo@linaro.org>
>>>> Cc: Viresh Kumar <viresh.linux@gmail.com>
>>>> Cc: Shiraz Hashim <shiraz.hashim@st.com>
>>>> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
>>>> Cc: Stephen Warren <swarren@wwwdotorg.org>
>>>> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
>>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>>> ---
>>>>  arch/arm/boot/Makefile                |    2 ++
>>>>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
>>>>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
>>>>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
>>>>  arch/arm/mach-imx/Makefile.boot       |    7 ------
>>>>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
>>>>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
>>>>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
>>>>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
>>>>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
>>>>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
>>>>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
>>>>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
>>>>  arch/arm/mach-ux500/Makefile.boot     |    2 --
>>>>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
>>>>  15 files changed, 43 insertions(+), 82 deletions(-)
>>>>  create mode 100644 arch/arm/boot/dts/Makefile
>>>>
>>>> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
>>>> index c877087..3fdab01 100644
>>>> --- a/arch/arm/boot/Makefile
>>>> +++ b/arch/arm/boot/Makefile
>>>> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
>>>>  include $(srctree)/$(MACHINE)/Makefile.boot
>>>>  endif
>>>>  
>>>> +include $(srctree)/arch/arm/boot/dts/Makefile
>>>> +
>>>>  # Note: the following conditions must always be true:
>>>>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
>>>>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
>>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>>> new file mode 100644
>>>> index 0000000..e59586b
>>>> --- /dev/null
>>>> +++ b/arch/arm/boot/dts/Makefile
>>>> @@ -0,0 +1,41 @@
>>>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
>>>
>>> sorry I see no need of the dtb-y
>>>
>>> just do all the time
>>
>> That's not how it works today. dtb's only for all enabled platforms are
>> built. Changing the behavior should be a different patch.
>
> no I see no point to check if the platform is enable or not just build all
> 
> This will allow to check them

Why would I want to build 100 .dtbs that I don't care about? If I want
to check them, I can either build all the defconfigs, or simply write a
trivial sh for loop to loop over *.dts in the boot/dts directory.

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-07  2:39       ` Shawn Guo
@ 2012-09-11 12:02         ` Rob Herring
  2012-09-11 12:06           ` Shawn Guo
  0 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-11 12:02 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/06/2012 09:39 PM, Shawn Guo wrote:
> On Thu, Sep 06, 2012 at 08:36:41PM -0600, Stephen Warren wrote:
>> On 09/06/2012 08:27 PM, Shawn Guo wrote:
>>> On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
>>>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
>>>> +dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
>>>> +dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
>>>> +	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
>>>> +	tegra20-whistler.dtb
>>
>> Hmm. The existing files all have one file per line, which makes
>> adding/removing files have a little less impact; whole lines are
>> added/removed rather than needing to reflow the whole list. Should we
>> apply the same layout here too?
>>
> +1

Are you okay if I change i.MX entries to use CONFIG_ARCH_MXC instead of
per SOC entries? I want to make things more consistent and primarily use
the top level CONFIG_ARCH_xxx values.

Rob

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-11 12:02         ` Rob Herring
@ 2012-09-11 12:06           ` Shawn Guo
  0 siblings, 0 replies; 44+ messages in thread
From: Shawn Guo @ 2012-09-11 12:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Sep 11, 2012 at 07:02:58AM -0500, Rob Herring wrote:
> Are you okay if I change i.MX entries to use CONFIG_ARCH_MXC instead of
> per SOC entries? I want to make things more consistent and primarily use
> the top level CONFIG_ARCH_xxx values.
> 
Yes, I'm okay with that.

-- 
Regards,
Shawn

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-11  5:41         ` Stephen Warren
@ 2012-09-11 13:25           ` Jean-Christophe PLAGNIOL-VILLARD
  2012-09-11 16:04             ` Rob Herring
  2012-09-11 18:51             ` Nicolas Pitre
  0 siblings, 2 replies; 44+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-09-11 13:25 UTC (permalink / raw)
  To: linux-arm-kernel

On 23:41 Mon 10 Sep     , Stephen Warren wrote:
> On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 12:51 Mon 10 Sep     , Rob Herring wrote:
> >> On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >>> On 15:12 Thu 06 Sep     , Rob Herring wrote:
> >>>> From: Rob Herring <rob.herring@calxeda.com>
> >>>>
> >>>> In preparation to support multi-platform kernels, move all the dtb targets
> >>>> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
> >>>> which is closer to the sources.
> >>>>
> >>>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> >>>> Cc: Russell King <linux@arm.linux.org.uk>
> >>>> Cc: Andrew Victor <linux@maxim.org.za>
> >>>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> >>>> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> >>>> Cc: Kukjin Kim <kgene.kim@samsung.com>
> >>>> Cc: Sascha Hauer <kernel@pengutronix.de>
> >>>> Cc: Jason Cooper <jason@lakedaemon.net>
> >>>> Cc: Andrew Lunn <andrew@lunn.ch>
> >>>> Cc: Gregory Clement <gregory.clement@free-electrons.com>
> >>>> Cc: Shawn Guo <shawn.guo@linaro.org>
> >>>> Cc: Viresh Kumar <viresh.linux@gmail.com>
> >>>> Cc: Shiraz Hashim <shiraz.hashim@st.com>
> >>>> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
> >>>> Cc: Stephen Warren <swarren@wwwdotorg.org>
> >>>> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
> >>>> Cc: Linus Walleij <linus.walleij@linaro.org>
> >>>> ---
> >>>>  arch/arm/boot/Makefile                |    2 ++
> >>>>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
> >>>>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
> >>>>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
> >>>>  arch/arm/mach-imx/Makefile.boot       |    7 ------
> >>>>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
> >>>>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
> >>>>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
> >>>>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
> >>>>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
> >>>>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
> >>>>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
> >>>>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
> >>>>  arch/arm/mach-ux500/Makefile.boot     |    2 --
> >>>>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
> >>>>  15 files changed, 43 insertions(+), 82 deletions(-)
> >>>>  create mode 100644 arch/arm/boot/dts/Makefile
> >>>>
> >>>> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> >>>> index c877087..3fdab01 100644
> >>>> --- a/arch/arm/boot/Makefile
> >>>> +++ b/arch/arm/boot/Makefile
> >>>> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
> >>>>  include $(srctree)/$(MACHINE)/Makefile.boot
> >>>>  endif
> >>>>  
> >>>> +include $(srctree)/arch/arm/boot/dts/Makefile
> >>>> +
> >>>>  # Note: the following conditions must always be true:
> >>>>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
> >>>>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
> >>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >>>> new file mode 100644
> >>>> index 0000000..e59586b
> >>>> --- /dev/null
> >>>> +++ b/arch/arm/boot/dts/Makefile
> >>>> @@ -0,0 +1,41 @@
> >>>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
> >>>
> >>> sorry I see no need of the dtb-y
> >>>
> >>> just do all the time
> >>
> >> That's not how it works today. dtb's only for all enabled platforms are
> >> built. Changing the behavior should be a different patch.
> >
> > no I see no point to check if the platform is enable or not just build all
> > 
> > This will allow to check them
> 
> Why would I want to build 100 .dtbs that I don't care about? If I want
> to check them, I can either build all the defconfigs, or simply write a
> trivial sh for loop to loop over *.dts in the boot/dts directory.
I do not like this idea to just build the dts per platform

It save nearly no time to compile

it just make it fragile to maintain

Best Regards,
J.

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-11 13:25           ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-09-11 16:04             ` Rob Herring
  2012-09-11 18:51             ` Nicolas Pitre
  1 sibling, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-11 16:04 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/11/2012 08:25 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 23:41 Mon 10 Sep     , Stephen Warren wrote:
>> On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> On 12:51 Mon 10 Sep     , Rob Herring wrote:
>>>> On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>>>> On 15:12 Thu 06 Sep     , Rob Herring wrote:
>>>>>> From: Rob Herring <rob.herring@calxeda.com>
>>>>>>
>>>>>> In preparation to support multi-platform kernels, move all the dtb targets
>>>>>> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
>>>>>> which is closer to the sources.
>>>>>>
>>>>>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
>>>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>>>> Cc: Andrew Victor <linux@maxim.org.za>
>>>>>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
>>>>>> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
>>>>>> Cc: Kukjin Kim <kgene.kim@samsung.com>
>>>>>> Cc: Sascha Hauer <kernel@pengutronix.de>
>>>>>> Cc: Jason Cooper <jason@lakedaemon.net>
>>>>>> Cc: Andrew Lunn <andrew@lunn.ch>
>>>>>> Cc: Gregory Clement <gregory.clement@free-electrons.com>
>>>>>> Cc: Shawn Guo <shawn.guo@linaro.org>
>>>>>> Cc: Viresh Kumar <viresh.linux@gmail.com>
>>>>>> Cc: Shiraz Hashim <shiraz.hashim@st.com>
>>>>>> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
>>>>>> Cc: Stephen Warren <swarren@wwwdotorg.org>
>>>>>> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
>>>>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>>>>> ---
>>>>>>  arch/arm/boot/Makefile                |    2 ++
>>>>>>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
>>>>>>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
>>>>>>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
>>>>>>  arch/arm/mach-imx/Makefile.boot       |    7 ------
>>>>>>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
>>>>>>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
>>>>>>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
>>>>>>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
>>>>>>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
>>>>>>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
>>>>>>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
>>>>>>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
>>>>>>  arch/arm/mach-ux500/Makefile.boot     |    2 --
>>>>>>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
>>>>>>  15 files changed, 43 insertions(+), 82 deletions(-)
>>>>>>  create mode 100644 arch/arm/boot/dts/Makefile
>>>>>>
>>>>>> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
>>>>>> index c877087..3fdab01 100644
>>>>>> --- a/arch/arm/boot/Makefile
>>>>>> +++ b/arch/arm/boot/Makefile
>>>>>> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
>>>>>>  include $(srctree)/$(MACHINE)/Makefile.boot
>>>>>>  endif
>>>>>>  
>>>>>> +include $(srctree)/arch/arm/boot/dts/Makefile
>>>>>> +
>>>>>>  # Note: the following conditions must always be true:
>>>>>>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
>>>>>>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
>>>>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>>>>> new file mode 100644
>>>>>> index 0000000..e59586b
>>>>>> --- /dev/null
>>>>>> +++ b/arch/arm/boot/dts/Makefile
>>>>>> @@ -0,0 +1,41 @@
>>>>>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
>>>>>
>>>>> sorry I see no need of the dtb-y
>>>>>
>>>>> just do all the time
>>>>
>>>> That's not how it works today. dtb's only for all enabled platforms are
>>>> built. Changing the behavior should be a different patch.
>>>
>>> no I see no point to check if the platform is enable or not just build all
>>>
>>> This will allow to check them
>>
>> Why would I want to build 100 .dtbs that I don't care about? If I want
>> to check them, I can either build all the defconfigs, or simply write a
>> trivial sh for loop to loop over *.dts in the boot/dts directory.
> I do not like this idea to just build the dts per platform
> 
> It save nearly no time to compile
> 
> it just make it fragile to maintain

That is arguably true for many config options...

The dtbs will effectively all get enabled once platforms are converted
over to multi-platform and we add some multi-platform defconfigs. make
dtbs doesn't even build all dtbs today. It is only ones in Makefile.boot.

Anyway, I still see this as a separate issue and new feature to be done
separately if and when there is agreement.

Rob

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

* [PATCH v2] ARM: move all dtb targets out of Makefile.boot
  2012-09-06 20:12 ` [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot Rob Herring
  2012-09-07  2:27   ` Shawn Guo
  2012-09-10 15:52   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-09-11 18:08   ` Rob Herring
  2012-09-11 18:43     ` Stephen Warren
  2 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-11 18:08 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

DTBs are only built when CONFIG_OF is enabled and now use top level
CONFIG_ARCH_xxx instead of chip or board specific config options.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Shiraz Hashim <shiraz.hashim@st.com>
Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
---

v2:  
- whitespace and sorting clean-up
- use CONFIG_ARCH_xxx instead of per board/SOC config options
- make conditional on CONFIG_OF

 arch/arm/boot/Makefile                |    2 +
 arch/arm/boot/dts/Makefile            |   71 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -----------
 arch/arm/mach-exynos/Makefile.boot    |    3 --
 arch/arm/mach-imx/Makefile.boot       |    7 ----
 arch/arm/mach-kirkwood/Makefile.boot  |   11 -----
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 -
 arch/arm/mach-mvebu/Makefile.boot     |    2 -
 arch/arm/mach-mxs/Makefile.boot       |    9 -----
 arch/arm/mach-spear13xx/Makefile.boot |    3 --
 arch/arm/mach-spear3xx/Makefile.boot  |    4 --
 arch/arm/mach-spear6xx/Makefile.boot  |    2 -
 arch/arm/mach-tegra/Makefile.boot     |    8 ----
 arch/arm/mach-ux500/Makefile.boot     |    2 -
 arch/arm/mach-vexpress/Makefile.boot  |    5 ---
 15 files changed, 73 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile

diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..d081e6a
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,71 @@
+ifeq ($(CONFIG_OF),y)
+
+dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \
+	at91sam9263ek.dtb \
+	at91sam9g20ek_2mmc.dtb \
+	at91sam9g20ek.dtb \
+	at91sam9g25ek.dtb \
+	at91sam9m10g45ek.dtb \
+	at91sam9n12ek.dtb \
+	ethernut5.dtb \
+	evk-pro3.dtb \
+	kizbox.dtb \
+	tny_a9260.dtb \
+	tny_a9263.dtb \
+	tny_a9g20.dtb \
+	usb_a9260.dtb \
+	usb_a9263.dtb \
+	usb_a9g20.dtb
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
+	exynos4210-smdkv310.dtb \
+	exynos5250-smdk5250.dtb
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
+	kirkwood-dns325.dtb \
+	kirkwood-dreamplug.dtb \
+	kirkwood-goflexnet.dtb \
+	kirkwood-ib62x0.dtb \
+	kirkwood-iconnect.dtb \
+	kirkwood-lschlv2.dtb \
+	kirkwood-lsxhl.dtb \
+	kirkwood-ts219-6281.dtb \
+	kirkwood-ts219-6282.dtb
+dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
+	armada-xp-db.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \
+	imx53-ard.dtb \
+	imx53-evk.dtb \
+	imx53-qsb.dtb \
+	imx53-smd.dtb \
+	imx6q-arm2.dtb \
+	imx6q-sabrelite.dtb \
+	imx6q-sabresd.dtb
+dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
+	imx23-olinuxino.dtb \
+	imx23-stmp378x_devb.dtb \
+	imx28-apx4devkit.dtb \
+	imx28-cfa10036.dtb \
+	imx28-evk.dtb \
+	imx28-m28evk.dtb \
+	imx28-tx28.dtb
+dtb-$(CONFIG_ARCH_U8500) += snowball.dtb
+dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
+	spear1340-evb.dtb
+dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
+	spear310-evb.dtb \
+	spear320-evb.dtb
+dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
+dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
+	tegra20-paz00.dtb \
+	tegra20-seaboard.dtb \
+	tegra20-trimslice.dtb \
+	tegra20-ventana.dtb \
+	tegra20-whistler.dtb \
+	tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
+	vexpress-v2p-ca9.dtb \
+	vexpress-v2p-ca15-tc1.dtb \
+	vexpress-v2p-ca15_a7.dtb
+
+endif
diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot
index 30bb733..5309f9b 100644
--- a/arch/arm/mach-at91/Makefile.boot
+++ b/arch/arm/mach-at91/Makefile.boot
@@ -12,27 +12,3 @@ else
 params_phys-y	:= 0x20000100
 initrd_phys-y	:= 0x20410000
 endif
-
-# Keep dtb files sorted alphabetically for each SoC
-# sam9260
-dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += evk-pro3.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb
-# sam9263
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb
-# sam9g20
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
-# sam9g45
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb
-# sam9n12
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9n12ek.dtb
-# sam9x5
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb
diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot
index 31bd181..b9862e2 100644
--- a/arch/arm/mach-exynos/Makefile.boot
+++ b/arch/arm/mach-exynos/Makefile.boot
@@ -1,5 +1,2 @@
    zreladdr-y	+= 0x40008000
 params_phys-y	:= 0x40000100
-
-dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
-dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot
index 05541cf..b27815d 100644
--- a/arch/arm/mach-imx/Makefile.boot
+++ b/arch/arm/mach-imx/Makefile.boot
@@ -37,10 +37,3 @@ initrd_phys-$(CONFIG_SOC_IMX53)	:= 0x70800000
 zreladdr-$(CONFIG_SOC_IMX6Q)	+= 0x10008000
 params_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10000100
 initrd_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10800000
-
-dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
-dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
-			       imx53-qsb.dtb imx53-smd.dtb
-dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb \
-			   imx6q-sabrelite.dtb \
-			   imx6q-sabresd.dtb \
diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot
index a13299d..760a0ef 100644
--- a/arch/arm/mach-kirkwood/Makefile.boot
+++ b/arch/arm/mach-kirkwood/Makefile.boot
@@ -1,14 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns325.dtb
-dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
-dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6281.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6282.dtb
-dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot
index 697323b..d7392a4 100644
--- a/arch/arm/mach-lpc32xx/Makefile.boot
+++ b/arch/arm/mach-lpc32xx/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x80008000
 params_phys-y	:= 0x80000100
 initrd_phys-y	:= 0x82000000
-
-dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot
index 2579a2f..b327175 100644
--- a/arch/arm/mach-mvebu/Makefile.boot
+++ b/arch/arm/mach-mvebu/Makefile.boot
@@ -1,3 +1 @@
 zreladdr-y := 0x00008000
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-xp-db.dtb
diff --git a/arch/arm/mach-mxs/Makefile.boot b/arch/arm/mach-mxs/Makefile.boot
index 4582999..07b11fe 100644
--- a/arch/arm/mach-mxs/Makefile.boot
+++ b/arch/arm/mach-mxs/Makefile.boot
@@ -1,10 +1 @@
 zreladdr-y += 0x40008000
-
-dtb-y += imx23-evk.dtb \
-	 imx23-olinuxino.dtb \
-	 imx23-stmp378x_devb.dtb \
-	 imx28-apx4devkit.dtb \
-	 imx28-cfa10036.dtb \
-	 imx28-evk.dtb \
-	 imx28-m28evk.dtb \
-	 imx28-tx28.dtb \
diff --git a/arch/arm/mach-spear13xx/Makefile.boot b/arch/arm/mach-spear13xx/Makefile.boot
index 403efd7..4674a4c 100644
--- a/arch/arm/mach-spear13xx/Makefile.boot
+++ b/arch/arm/mach-spear13xx/Makefile.boot
@@ -1,6 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR1310)	+= spear1310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR1340)	+= spear1340-evb.dtb
diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot
index d93e217..4674a4c 100644
--- a/arch/arm/mach-spear3xx/Makefile.boot
+++ b/arch/arm/mach-spear3xx/Makefile.boot
@@ -1,7 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR300)	+= spear300-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR310)	+= spear310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR320)	+= spear320-evb.dtb
diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot
index af493da..4674a4c 100644
--- a/arch/arm/mach-spear6xx/Makefile.boot
+++ b/arch/arm/mach-spear6xx/Makefile.boot
@@ -1,5 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index 7a1bb62..2943381 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -1,11 +1,3 @@
 zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC)	+= 0x00008000
 params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00000100
 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
-
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-paz00.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot
index dd5cd00..760a0ef 100644
--- a/arch/arm/mach-ux500/Makefile.boot
+++ b/arch/arm/mach-ux500/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
index 318d308..c6dd891 100644
--- a/arch/arm/mach-vexpress/Makefile.boot
+++ b/arch/arm/mach-vexpress/Makefile.boot
@@ -3,8 +3,3 @@
    zreladdr-y	+= 0x60008000
 params_phys-y	:= 0x60000100
 initrd_phys-y	:= 0x60800000
-
-dtb-$(CONFIG_ARCH_VEXPRESS_DT)	+= vexpress-v2p-ca5s.dtb \
-				   vexpress-v2p-ca9.dtb \
-				   vexpress-v2p-ca15-tc1.dtb \
-				   vexpress-v2p-ca15_a7.dtb
-- 
1.7.9.5

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

* [PATCH v2] ARM: move all dtb targets out of Makefile.boot
  2012-09-11 18:08   ` [PATCH v2] " Rob Herring
@ 2012-09-11 18:43     ` Stephen Warren
  0 siblings, 0 replies; 44+ messages in thread
From: Stephen Warren @ 2012-09-11 18:43 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/11/2012 12:08 PM, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> In preparation to support multi-platform kernels, move all the dtb targets
> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
> which is closer to the sources.
> 
> DTBs are only built when CONFIG_OF is enabled and now use top level
> CONFIG_ARCH_xxx instead of chip or board specific config options.

Acked-by: Stephen Warren <swarren@wwwdotorg.org>

... although I'm still not 100% how the conflicts are going to be
resolved; Arnd made a suggestion - is that what's happening?

> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile

> +dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
> +	tegra20-paz00.dtb \
> +	tegra20-seaboard.dtb \
> +	tegra20-trimslice.dtb \
> +	tegra20-ventana.dtb \
> +	tegra20-whistler.dtb \
> +	tegra30-cardhu.dtb

It seems like the following format would keep the lines 100% independent:

dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-paz00.dtb
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-seaboard.dtb

But, what you have in the patch is probably just fine too.

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

* [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot
  2012-09-11 13:25           ` Jean-Christophe PLAGNIOL-VILLARD
  2012-09-11 16:04             ` Rob Herring
@ 2012-09-11 18:51             ` Nicolas Pitre
  1 sibling, 0 replies; 44+ messages in thread
From: Nicolas Pitre @ 2012-09-11 18:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 11 Sep 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:

> On 23:41 Mon 10 Sep     , Stephen Warren wrote:
> > On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > On 12:51 Mon 10 Sep     , Rob Herring wrote:
> > >> On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > >>> On 15:12 Thu 06 Sep     , Rob Herring wrote:
> > >>>> From: Rob Herring <rob.herring@calxeda.com>
> > >>>>
> > >>>> In preparation to support multi-platform kernels, move all the dtb targets
> > >>>> out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
> > >>>> which is closer to the sources.
> > >>>>
> > >>>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> > >>>> Cc: Russell King <linux@arm.linux.org.uk>
> > >>>> Cc: Andrew Victor <linux@maxim.org.za>
> > >>>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> > >>>> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> > >>>> Cc: Kukjin Kim <kgene.kim@samsung.com>
> > >>>> Cc: Sascha Hauer <kernel@pengutronix.de>
> > >>>> Cc: Jason Cooper <jason@lakedaemon.net>
> > >>>> Cc: Andrew Lunn <andrew@lunn.ch>
> > >>>> Cc: Gregory Clement <gregory.clement@free-electrons.com>
> > >>>> Cc: Shawn Guo <shawn.guo@linaro.org>
> > >>>> Cc: Viresh Kumar <viresh.linux@gmail.com>
> > >>>> Cc: Shiraz Hashim <shiraz.hashim@st.com>
> > >>>> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
> > >>>> Cc: Stephen Warren <swarren@wwwdotorg.org>
> > >>>> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
> > >>>> Cc: Linus Walleij <linus.walleij@linaro.org>
> > >>>> ---
> > >>>>  arch/arm/boot/Makefile                |    2 ++
> > >>>>  arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
> > >>>>  arch/arm/mach-at91/Makefile.boot      |   24 -------------------
> > >>>>  arch/arm/mach-exynos/Makefile.boot    |    3 ---
> > >>>>  arch/arm/mach-imx/Makefile.boot       |    7 ------
> > >>>>  arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
> > >>>>  arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
> > >>>>  arch/arm/mach-mvebu/Makefile.boot     |    2 --
> > >>>>  arch/arm/mach-mxs/Makefile.boot       |    9 --------
> > >>>>  arch/arm/mach-spear13xx/Makefile.boot |    3 ---
> > >>>>  arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
> > >>>>  arch/arm/mach-spear6xx/Makefile.boot  |    2 --
> > >>>>  arch/arm/mach-tegra/Makefile.boot     |    8 -------
> > >>>>  arch/arm/mach-ux500/Makefile.boot     |    2 --
> > >>>>  arch/arm/mach-vexpress/Makefile.boot  |    5 ----
> > >>>>  15 files changed, 43 insertions(+), 82 deletions(-)
> > >>>>  create mode 100644 arch/arm/boot/dts/Makefile
> > >>>>
> > >>>> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> > >>>> index c877087..3fdab01 100644
> > >>>> --- a/arch/arm/boot/Makefile
> > >>>> +++ b/arch/arm/boot/Makefile
> > >>>> @@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
> > >>>>  include $(srctree)/$(MACHINE)/Makefile.boot
> > >>>>  endif
> > >>>>  
> > >>>> +include $(srctree)/arch/arm/boot/dts/Makefile
> > >>>> +
> > >>>>  # Note: the following conditions must always be true:
> > >>>>  #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
> > >>>>  #   PARAMS_PHYS must be within 4MB of ZRELADDR
> > >>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > >>>> new file mode 100644
> > >>>> index 0000000..e59586b
> > >>>> --- /dev/null
> > >>>> +++ b/arch/arm/boot/dts/Makefile
> > >>>> @@ -0,0 +1,41 @@
> > >>>> +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
> > >>>
> > >>> sorry I see no need of the dtb-y
> > >>>
> > >>> just do all the time
> > >>
> > >> That's not how it works today. dtb's only for all enabled platforms are
> > >> built. Changing the behavior should be a different patch.
> > >
> > > no I see no point to check if the platform is enable or not just build all
> > > 
> > > This will allow to check them
> > 
> > Why would I want to build 100 .dtbs that I don't care about? If I want
> > to check them, I can either build all the defconfigs, or simply write a
> > trivial sh for loop to loop over *.dts in the boot/dts directory.
> I do not like this idea to just build the dts per platform
> 
> It save nearly no time to compile

We could say the same thing for most drivers as well.

But when you enable them all, the time adds up.

And the result directory becomes cluttered with files unrelated to your 
configured target which is rather untidy.

> it just make it fragile to maintain

That isn't very convincing.


Nicolas

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

* [PATCH 11/12] ARM: initial multiplatform support
  2012-09-06 20:12 ` [PATCH 11/12] ARM: initial multiplatform support Rob Herring
@ 2012-09-12 19:49   ` Arnd Bergmann
  2012-09-12 20:20     ` Rob Herring
  2012-09-13 14:12   ` Shawn Guo
  1 sibling, 1 reply; 44+ messages in thread
From: Arnd Bergmann @ 2012-09-12 19:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 06 September 2012, Rob Herring wrote:

> +machine-$(CONFIG_ARCH_EXYNOS4)         += exynos
> +machine-$(CONFIG_ARCH_EXYNOS5)         += exynos

> +machine-$(CONFIG_MACH_SPEAR1310)       += spear13xx
> +machine-$(CONFIG_MACH_SPEAR1340)       += spear13xx

> +machine-$(CONFIG_MACH_SPEAR300)                += spear3xx
> +machine-$(CONFIG_MACH_SPEAR310)                += spear3xx

> +machine-$(CONFIG_MACH_SPEAR320)                += spear3xx
> +machine-$(CONFIG_MACH_SPEAR600)                += spear6xx

I did a little bit of testing and got this message:

/home/arnd/linux-arm/Makefile:774: target `arch/arm/mach-spear13xx' given more than once in the same rule.
arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): multiple definition of `spear13xx_smp_ops'
arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): first defined here

The patch below ensures that each machine is only listed once.
Please fold this into your patch.

	Arnd

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 32a6485..ff5fb29 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -233,7 +233,7 @@ ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 MACHINE  :=
 endif
 
-machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
+machdirs := $(sort $(patsubst %,arch/arm/mach-%/,$(machine-y)))
 platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
 
 ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)

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

* [PATCH 11/12] ARM: initial multiplatform support
  2012-09-12 19:49   ` Arnd Bergmann
@ 2012-09-12 20:20     ` Rob Herring
  2012-09-12 20:27       ` Arnd Bergmann
  0 siblings, 1 reply; 44+ messages in thread
From: Rob Herring @ 2012-09-12 20:20 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/12/2012 02:49 PM, Arnd Bergmann wrote:
> On Thursday 06 September 2012, Rob Herring wrote:
> 
>> +machine-$(CONFIG_ARCH_EXYNOS4)         += exynos
>> +machine-$(CONFIG_ARCH_EXYNOS5)         += exynos
> 
>> +machine-$(CONFIG_MACH_SPEAR1310)       += spear13xx
>> +machine-$(CONFIG_MACH_SPEAR1340)       += spear13xx
> 
>> +machine-$(CONFIG_MACH_SPEAR300)                += spear3xx
>> +machine-$(CONFIG_MACH_SPEAR310)                += spear3xx
> 
>> +machine-$(CONFIG_MACH_SPEAR320)                += spear3xx
>> +machine-$(CONFIG_MACH_SPEAR600)                += spear6xx
> 
> I did a little bit of testing and got this message:
> 
> /home/arnd/linux-arm/Makefile:774: target `arch/arm/mach-spear13xx' given more than once in the same rule.
> arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): multiple definition of `spear13xx_smp_ops'
> arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): first defined here
> 
> The patch below ensures that each machine is only listed once.
> Please fold this into your patch.
> 
> 	Arnd
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 32a6485..ff5fb29 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -233,7 +233,7 @@ ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
>  MACHINE  :=
>  endif
>  
> -machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
> +machdirs := $(sort $(patsubst %,arch/arm/mach-%/,$(machine-y)))
>  platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
>  
>  ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)

Found this one as well. My fix is to use CONFIG_ARCH_EXYNOS,
CONFIG_ARCH_SPEAR3XX, etc. instead and remove the multiple lines.

I want to get this into -next and plan to send you a pull request soon.
Are you happy with the kconfig parts?

Rob

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

* [PATCH 11/12] ARM: initial multiplatform support
  2012-09-12 20:20     ` Rob Herring
@ 2012-09-12 20:27       ` Arnd Bergmann
  0 siblings, 0 replies; 44+ messages in thread
From: Arnd Bergmann @ 2012-09-12 20:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 12 September 2012, Rob Herring wrote:
> Found this one as well. My fix is to use CONFIG_ARCH_EXYNOS,
> CONFIG_ARCH_SPEAR3XX, etc. instead and remove the multiple lines.
> 
> I want to get this into -next and plan to send you a pull request soon.
> Are you happy with the kconfig parts?

Yes, it all looks good to me. Just doing test builds with your branch
combined with my platform data branch and Marc's smp operations.

I found a few small bugs in my patches as well.

	Arnd

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

* [PATCH 11/12] ARM: initial multiplatform support
  2012-09-06 20:12 ` [PATCH 11/12] ARM: initial multiplatform support Rob Herring
  2012-09-12 19:49   ` Arnd Bergmann
@ 2012-09-13 14:12   ` Shawn Guo
  1 sibling, 0 replies; 44+ messages in thread
From: Shawn Guo @ 2012-09-13 14:12 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 03:12:54PM -0500, Rob Herring wrote:
> ---
>  arch/arm/Kconfig                                  |  123 ++++++++--------
>  arch/arm/Kconfig.debug                            |    1 +
>  arch/arm/Makefile                                 |  155 +++++++++++----------
>  arch/arm/boot/compressed/misc.c                   |    6 +
>  arch/arm/include/asm/timex.h                      |    4 +
>  arch/arm/mach-highbank/Kconfig                    |   15 ++
>  arch/arm/mach-highbank/Makefile.boot              |    1 -
>  arch/arm/mach-highbank/include/mach/timex.h       |    6 -
>  arch/arm/mach-highbank/include/mach/uncompress.h  |    9 --
>  arch/arm/mach-mvebu/Kconfig                       |   10 ++
>  arch/arm/mach-mvebu/Makefile                      |    2 +
>  arch/arm/mach-mvebu/Makefile.boot                 |    1 -
>  arch/arm/mach-mvebu/include/mach/timex.h          |   13 --
>  arch/arm/mach-mvebu/include/mach/uncompress.h     |   43 ------
>  arch/arm/mach-picoxcell/Kconfig                   |   14 ++
>  arch/arm/mach-picoxcell/Makefile.boot             |    1 -
>  arch/arm/mach-picoxcell/include/mach/hardware.h   |   21 ---
>  arch/arm/mach-picoxcell/include/mach/timex.h      |   25 ----
>  arch/arm/mach-picoxcell/include/mach/uncompress.h |   21 ---
>  arch/arm/mach-socfpga/Kconfig                     |   16 +++
>  arch/arm/mach-socfpga/Makefile.boot               |    1 -
>  arch/arm/mach-socfpga/include/mach/timex.h        |   19 ---
>  arch/arm/mach-socfpga/include/mach/uncompress.h   |    9 --
>  23 files changed, 205 insertions(+), 311 deletions(-)
>  create mode 100644 arch/arm/mach-highbank/Kconfig
>  delete mode 100644 arch/arm/mach-highbank/Makefile.boot
>  delete mode 100644 arch/arm/mach-highbank/include/mach/timex.h
>  delete mode 100644 arch/arm/mach-highbank/include/mach/uncompress.h
>  delete mode 100644 arch/arm/mach-mvebu/Makefile.boot
>  delete mode 100644 arch/arm/mach-mvebu/include/mach/timex.h
>  delete mode 100644 arch/arm/mach-mvebu/include/mach/uncompress.h
>  create mode 100644 arch/arm/mach-picoxcell/Kconfig
>  delete mode 100644 arch/arm/mach-picoxcell/Makefile.boot
>  delete mode 100644 arch/arm/mach-picoxcell/include/mach/hardware.h
>  delete mode 100644 arch/arm/mach-picoxcell/include/mach/timex.h
>  delete mode 100644 arch/arm/mach-picoxcell/include/mach/uncompress.h
>  create mode 100644 arch/arm/mach-socfpga/Kconfig
>  delete mode 100644 arch/arm/mach-socfpga/Makefile.boot
>  delete mode 100644 arch/arm/mach-socfpga/include/mach/timex.h
>  delete mode 100644 arch/arm/mach-socfpga/include/mach/uncompress.h
> 
Hmm, why do I not see the same file removals for mach-vexpress?

-- 
Regards,
Shawn

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

* [PATCH 06/12] ARM: picoxcell: move debug macros to include/debug
  2012-09-06 20:12 ` [PATCH 06/12] ARM: picoxcell: " Rob Herring
@ 2012-09-13 14:16   ` Shawn Guo
  2012-09-13 15:14     ` Rob Herring
  0 siblings, 1 reply; 44+ messages in thread
From: Shawn Guo @ 2012-09-13 14:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 06, 2012 at 03:12:49PM -0500, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> Move picoxcell debug-macro.S over to common debug macro directory.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Jamie Iles <jamie@jamieiles.com>
> ---
>  arch/arm/Kconfig.debug                             |    8 ++++++++
>  .../debug-macro.S => include/debug/picoxcell.S}    |    0
>  2 files changed, 8 insertions(+)
>  rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
> 
Can we do that renaming right away?  I still see the following
inclusions in the file.

#include <mach/hardware.h>
#include <mach/map.h>

-- 
Regards,
Shawn

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

* [PATCH 06/12] ARM: picoxcell: move debug macros to include/debug
  2012-09-13 14:16   ` Shawn Guo
@ 2012-09-13 15:14     ` Rob Herring
  0 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-13 15:14 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/13/2012 09:16 AM, Shawn Guo wrote:
> On Thu, Sep 06, 2012 at 03:12:49PM -0500, Rob Herring wrote:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> Move picoxcell debug-macro.S over to common debug macro directory.
>>
>> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
>> Cc: Jamie Iles <jamie@jamieiles.com>
>> ---
>>  arch/arm/Kconfig.debug                             |    8 ++++++++
>>  .../debug-macro.S => include/debug/picoxcell.S}    |    0
>>  2 files changed, 8 insertions(+)
>>  rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
>>
> Can we do that renaming right away?  I still see the following
> inclusions in the file.
> 
> #include <mach/hardware.h>
> #include <mach/map.h>

Right, I've incorporated the fix Jamie posted for this.

Rob

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

* [PATCH v3 00/12] Initial multi-platform support
  2012-09-10 19:07 ` [PATCH v3 00/12] Initial multi-platform support Jamie Iles
@ 2012-09-14  0:58   ` Shawn Guo
  2012-09-14 13:00     ` Rob Herring
  0 siblings, 1 reply; 44+ messages in thread
From: Shawn Guo @ 2012-09-14  0:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Sep 10, 2012 at 08:07:11PM +0100, Jamie Iles wrote:
> 8<---
> 
> Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.
> 
> The debug macros had a dependency on mach headers.  Break that
> dependency and restore building.
> 
> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
> ---
>  arch/arm/include/debug/picoxcell.S      |    4 ++--
>  arch/arm/mach-picoxcell/common.c        |   11 ++++++-----
>  arch/arm/mach-picoxcell/picoxcell_soc.h |   25 -------------------------
>  3 files changed, 8 insertions(+), 32 deletions(-)
>  delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.h
> 
> diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
> index 58d4ee3..7419deb 100644
> --- a/arch/arm/include/debug/picoxcell.S
> +++ b/arch/arm/include/debug/picoxcell.S
> @@ -9,10 +9,10 @@
>   * accesses to the 8250.
>   */
>  #include <linux/serial_reg.h>
> -#include <mach/hardware.h>
> -#include <mach/map.h>
>  
>  #define UART_SHIFT 2
> +#define PICOXCELL_UART1_BASE		0x80230000
> +#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)

...

>  
>  		.macro	addruart, rp, rv, tmp
>  		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
> diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
> index a8b70b5..f6c0849 100644
> --- a/arch/arm/mach-picoxcell/common.c
> +++ b/arch/arm/mach-picoxcell/common.c
> @@ -20,14 +20,15 @@
>  #include <asm/hardware/vic.h>
>  #include <asm/mach/map.h>
>  
> -#include "picoxcell_soc.h"
>  #include "common.h"
>  
> -#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
> +#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)

So you end up with defining the same thing at two places.  You need to
somehow ensure any update to PHYS_TO_IO needs to get applied on both
to keep them synchronized.  This is difficult for maintaining.

We're running into the exactly same problem when moving debug-macro.S
for imx.  I believe this is a common issue which needs a common
solution.

I would propose to have the static mapping below (imx example) defined
in something like arch/arm/include/asm/mach/map_imx.h, so that both
imx machine code and ll-debug code can include it.

#define IMX_IO_P2V(x)   (                                               \
                        (((x) & 0x80000000) >> 7) |                     \
                        (0xf4000000 +                                   \
                        (((x) & 0x50000000) >> 6) +                     \
                        (((x) & 0x0b000000) >> 4) +                     \
                        (((x) & 0x000fffff))))

Thoughts?

Regards,
Shawn

> +#define PICOXCELL_PERIPH_BASE		0x80000000
> +#define PICOXCELL_PERIPH_LENGTH		SZ_4M
>  
> -#define WDT_CTRL_REG_EN_MASK	(1 << 0)
> -#define WDT_CTRL_REG_OFFS	(0x00)
> -#define WDT_TIMEOUT_REG_OFFS	(0x04)
> +#define WDT_CTRL_REG_EN_MASK		(1 << 0)
> +#define WDT_CTRL_REG_OFFS		(0x00)
> +#define WDT_TIMEOUT_REG_OFFS		(0x04)
>  static void __iomem *wdt_regs;
>  
>  /*
> diff --git a/arch/arm/mach-picoxcell/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
> deleted file mode 100644
> index 5566fc8..0000000
> --- a/arch/arm/mach-picoxcell/picoxcell_soc.h
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -/*
> - * Copyright (c) 2011 Picochip Ltd., Jamie Iles
> - *
> - * This file contains the hardware definitions of the picoXcell SoC devices.
> - *
> - * 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; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - */
> -#ifndef __PICOXCELL_SOC_H__
> -#define __PICOXCELL_SOC_H__
> -
> -#define PICOXCELL_UART1_BASE		0x80230000
> -#define PICOXCELL_PERIPH_BASE		0x80000000
> -#define PICOXCELL_PERIPH_LENGTH		SZ_4M
> -#define PICOXCELL_VIC0_BASE		0x80060000
> -#define PICOXCELL_VIC1_BASE		0x80064000
> -
> -#endif /* __PICOXCELL_SOC_H__ */
> -- 
> 1.7.9.5
> 

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

* [PATCH v3 00/12] Initial multi-platform support
  2012-09-14  0:58   ` Shawn Guo
@ 2012-09-14 13:00     ` Rob Herring
  0 siblings, 0 replies; 44+ messages in thread
From: Rob Herring @ 2012-09-14 13:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/13/2012 07:58 PM, Shawn Guo wrote:
> On Mon, Sep 10, 2012 at 08:07:11PM +0100, Jamie Iles wrote:
>> 8<---
>>
>> Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.
>>
>> The debug macros had a dependency on mach headers.  Break that
>> dependency and restore building.
>>
>> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
>> ---
>>  arch/arm/include/debug/picoxcell.S      |    4 ++--
>>  arch/arm/mach-picoxcell/common.c        |   11 ++++++-----
>>  arch/arm/mach-picoxcell/picoxcell_soc.h |   25 -------------------------
>>  3 files changed, 8 insertions(+), 32 deletions(-)
>>  delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.h
>>
>> diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
>> index 58d4ee3..7419deb 100644
>> --- a/arch/arm/include/debug/picoxcell.S
>> +++ b/arch/arm/include/debug/picoxcell.S
>> @@ -9,10 +9,10 @@
>>   * accesses to the 8250.
>>   */
>>  #include <linux/serial_reg.h>
>> -#include <mach/hardware.h>
>> -#include <mach/map.h>
>>  
>>  #define UART_SHIFT 2
>> +#define PICOXCELL_UART1_BASE		0x80230000
>> +#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
> 
> ...
> 
>>  
>>  		.macro	addruart, rp, rv, tmp
>>  		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
>> diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
>> index a8b70b5..f6c0849 100644
>> --- a/arch/arm/mach-picoxcell/common.c
>> +++ b/arch/arm/mach-picoxcell/common.c
>> @@ -20,14 +20,15 @@
>>  #include <asm/hardware/vic.h>
>>  #include <asm/mach/map.h>
>>  
>> -#include "picoxcell_soc.h"
>>  #include "common.h"
>>  
>> -#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
>> +#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
> 
> So you end up with defining the same thing at two places.  You need to
> somehow ensure any update to PHYS_TO_IO needs to get applied on both
> to keep them synchronized.  This is difficult for maintaining.
> 
> We're running into the exactly same problem when moving debug-macro.S
> for imx.  I believe this is a common issue which needs a common
> solution.
> 
> I would propose to have the static mapping below (imx example) defined
> in something like arch/arm/include/asm/mach/map_imx.h, so that both
> imx machine code and ll-debug code can include it.
> 
> #define IMX_IO_P2V(x)   (                                               \
>                         (((x) & 0x80000000) >> 7) |                     \
>                         (0xf4000000 +                                   \
>                         (((x) & 0x50000000) >> 6) +                     \
>                         (((x) & 0x0b000000) >> 4) +                     \
>                         (((x) & 0x000fffff))))
> 
> Thoughts?

My thought is to use a fixed virtual address across platforms and make
the physical address a config option. Possibly the uart type can also be
a config option. The 8250 one also needs register stride. See here:

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/116982.html

Rob

> Regards,
> Shawn
> 
>> +#define PICOXCELL_PERIPH_BASE		0x80000000
>> +#define PICOXCELL_PERIPH_LENGTH		SZ_4M
>>  
>> -#define WDT_CTRL_REG_EN_MASK	(1 << 0)
>> -#define WDT_CTRL_REG_OFFS	(0x00)
>> -#define WDT_TIMEOUT_REG_OFFS	(0x04)
>> +#define WDT_CTRL_REG_EN_MASK		(1 << 0)
>> +#define WDT_CTRL_REG_OFFS		(0x00)
>> +#define WDT_TIMEOUT_REG_OFFS		(0x04)
>>  static void __iomem *wdt_regs;
>>  
>>  /*
>> diff --git a/arch/arm/mach-picoxcell/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
>> deleted file mode 100644
>> index 5566fc8..0000000
>> --- a/arch/arm/mach-picoxcell/picoxcell_soc.h
>> +++ /dev/null
>> @@ -1,25 +0,0 @@
>> -/*
>> - * Copyright (c) 2011 Picochip Ltd., Jamie Iles
>> - *
>> - * This file contains the hardware definitions of the picoXcell SoC devices.
>> - *
>> - * 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; either version 2 of the License, or
>> - * (at your option) any later version.
>> - *
>> - * This program is distributed in the hope that it will be useful,
>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> - * GNU General Public License for more details.
>> - */
>> -#ifndef __PICOXCELL_SOC_H__
>> -#define __PICOXCELL_SOC_H__
>> -
>> -#define PICOXCELL_UART1_BASE		0x80230000
>> -#define PICOXCELL_PERIPH_BASE		0x80000000
>> -#define PICOXCELL_PERIPH_LENGTH		SZ_4M
>> -#define PICOXCELL_VIC0_BASE		0x80060000
>> -#define PICOXCELL_VIC1_BASE		0x80064000
>> -
>> -#endif /* __PICOXCELL_SOC_H__ */
>> -- 
>> 1.7.9.5
>>

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

end of thread, other threads:[~2012-09-14 13:00 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-06 20:12 [PATCH v3 00/12] Initial multi-platform support Rob Herring
2012-09-06 20:12 ` [PATCH 01/12] ARM: move debug macros to common location Rob Herring
2012-09-06 20:12 ` [PATCH 02/12] ARM: highbank: move debug macros to include/debug Rob Herring
2012-09-06 20:12 ` [PATCH 03/12] ARM: vexpress: " Rob Herring
2012-09-06 20:12 ` [PATCH 04/12] ARM: mvebu: " Rob Herring
2012-09-07 15:08   ` Jason Cooper
2012-09-06 20:12 ` [PATCH 05/12] ARM: socfpga: " Rob Herring
2012-09-06 22:33   ` Dinh Nguyen
2012-09-06 23:35   ` Dinh Nguyen
2012-09-06 20:12 ` [PATCH 06/12] ARM: picoxcell: " Rob Herring
2012-09-13 14:16   ` Shawn Guo
2012-09-13 15:14     ` Rob Herring
2012-09-06 20:12 ` [PATCH 07/12] ARM: move all dtb targets out of Makefile.boot Rob Herring
2012-09-07  2:27   ` Shawn Guo
2012-09-07  2:36     ` Stephen Warren
2012-09-07  2:39       ` Shawn Guo
2012-09-11 12:02         ` Rob Herring
2012-09-11 12:06           ` Shawn Guo
2012-09-07  5:19       ` Andrew Lunn
2012-09-07 12:51         ` Rob Herring
2012-09-07 13:25           ` Arnd Bergmann
2012-09-07 13:46             ` Rob Herring
2012-09-10 15:52   ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-10 17:51     ` Rob Herring
2012-09-11  4:49       ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-11  5:41         ` Stephen Warren
2012-09-11 13:25           ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-11 16:04             ` Rob Herring
2012-09-11 18:51             ` Nicolas Pitre
2012-09-11 18:08   ` [PATCH v2] " Rob Herring
2012-09-11 18:43     ` Stephen Warren
2012-09-06 20:12 ` [PATCH 08/12] ARM: picoxcell: remove dependency on mach/* headers Rob Herring
2012-09-06 20:12 ` [PATCH 09/12] ARM: vexpress: " Rob Herring
2012-09-06 20:12 ` [PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir Rob Herring
2012-09-07 15:11   ` Jason Cooper
2012-09-06 20:12 ` [PATCH 11/12] ARM: initial multiplatform support Rob Herring
2012-09-12 19:49   ` Arnd Bergmann
2012-09-12 20:20     ` Rob Herring
2012-09-12 20:27       ` Arnd Bergmann
2012-09-13 14:12   ` Shawn Guo
2012-09-06 20:12 ` [PATCH 12/12] ARM: vexpress: convert to multi-platform Rob Herring
2012-09-10 19:07 ` [PATCH v3 00/12] Initial multi-platform support Jamie Iles
2012-09-14  0:58   ` Shawn Guo
2012-09-14 13:00     ` Rob Herring

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.