Skip to contentSkip to conversation

Initial multi-platform support

PATCH Superseded Rob Herring 10 participants 44 messages Sep 6, 2012 – Sep 14, 2012

Subsystems (14)
lore
Share & tools
lore
#0 lore raw

v3 cover Initial multi-platform support

From: Rob Herring <[email protected]>

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
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v3 1/12 ARM: move debug macros to common location

From: Rob Herring <[email protected]>

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

---
 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
arch/arm/Kconfig.debug +5 -0
index f15f82b..4f9760b 100644
@@ -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
arch/arm/include/debug/icedcc.S new file +90 -0

90 lines not on this page · raw message

arch/arm/kernel/debug.S +3 -84

93 lines not on this page · raw message

arch/arm/kernel/head.S +2 -2
index 3db960e..9874d07 100644
@@ -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
 
 /*
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v3 2/12 ARM: highbank: move debug macros to include/debug

In reply to Rob Herring

From: Rob Herring <[email protected]>

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.

---
 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%)
arch/arm/Kconfig.debug +1 -0
index 4f9760b..d9d8eff 100644
@@ -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
arch/arm/include/debug/highbank.S renamed from arch/arm/mach-highbank/include/mach/debug-macro.S +2 -4
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
@@ -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>
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH v3 3/12 ARM: vexpress: move debug macros to include/debug

In reply to Rob Herring

From: Rob Herring <[email protected]>

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

---
 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%)
arch/arm/Kconfig.debug +2 -0
index d9d8eff..525d9bd 100644
@@ -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
arch/arm/include/debug/vexpress.S renamed from arch/arm/mach-vexpress/include/mach/debug-macro.S +0 -0
similarity index 100%
rename from arch/arm/mach-vexpress/include/mach/debug-macro.S
rename to arch/arm/include/debug/vexpress.S
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH v3 4/12 ARM: mvebu: move debug macros to include/debug

In reply to Rob Herring

From: Rob Herring <[email protected]>

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

Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
---
 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%)
arch/arm/Kconfig.debug +8 -0
index 525d9bd..3bafdd2 100644
@@ -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"
arch/arm/include/debug/mvebu.S renamed from arch/arm/mach-mvebu/include/mach/debug-macro.S +2 -1
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
@@ -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
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH 4/12 ARM: mvebu: move debug macros to include/debug

Quoted 7 lines · Rob Herring

From: Rob Herring <[email protected]>

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

Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>

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.

Quoted 57 lines
---
 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%)
arch/arm/Kconfig.debug +8 -0
index 525d9bd..3bafdd2 100644
@@ -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"
arch/arm/include/debug/mvebu.S renamed from arch/arm/mach-mvebu/include/mach/debug-macro.S +2 -1
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
@@ -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
Signature · 7 lines
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
#6 lore raw

PATCH v3 5/12 ARM: socfpga: move debug macros to include/debug

In reply to Rob Herring

From: Rob Herring <[email protected]>

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

---
 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%)
arch/arm/Kconfig.debug +8 -0
index 3bafdd2..aa56934 100644
@@ -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"
arch/arm/include/debug/socfpga.S renamed from arch/arm/mach-socfpga/include/mach/debug-macro.S +0 -0
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S
Signature · 1 line
1.7.9.5
#7 lore raw

PATCH 5/12 ARM: socfpga: move debug macros to include/debug

Hi Rob,

arch/arm/include/debug/socfpga.S

Quoted 42 lines · Rob Herring

From: Rob Herring <[email protected]>

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

---
 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%)
arch/arm/Kconfig.debug +8 -0
index 3bafdd2..aa56934 100644
@@ -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"
arch/arm/include/debug/socfpga.S renamed from arch/arm/mach-socfpga/include/mach/debug-macro.S +0 -0
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S

Looks great!

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.

#8 lore raw

PATCH 5/12 ARM: socfpga: move debug macros to include/debug

In reply to Rob Herring

Hi Rob,

Sorry, resending the ack without the confidential stamp.

arch/arm/include/debug/socfpga.S

Quoted 42 lines · Rob Herring

From: Rob Herring <[email protected]>

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

---
 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%)
arch/arm/Kconfig.debug +8 -0
index 3bafdd2..aa56934 100644
@@ -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"
arch/arm/include/debug/socfpga.S renamed from arch/arm/mach-socfpga/include/mach/debug-macro.S +0 -0
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S

Dinh

#9 lore raw

PATCH v3 6/12 ARM: picoxcell: move debug macros to include/debug

In reply to Rob Herring

From: Rob Herring <[email protected]>

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

---
 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%)
arch/arm/Kconfig.debug +8 -0
index aa56934..b74ed97 100644
@@ -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
arch/arm/include/debug/picoxcell.S renamed from arch/arm/mach-picoxcell/include/mach/debug-macro.S +0 -0
similarity index 100%
rename from arch/arm/mach-picoxcell/include/mach/debug-macro.S
rename to arch/arm/include/debug/picoxcell.S
Signature · 1 line
1.7.9.5
#10 lore raw

PATCH v3 6/12 ARM: picoxcell: move debug macros to include/debug

Quoted 4 lines · Rob Herring

From: Rob Herring <[email protected]>

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

Quoted 8 lines
---
 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>

Signature · 2 lines
Regards,
Shawn
#11 lore raw

PATCH v3 6/12 ARM: picoxcell: move debug macros to include/debug

Quoted 13 lines · Shawn Guo
Quoted 4 lines · Rob Herring

From: Rob Herring <[email protected]>

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

Quoted 8 lines
---
 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%)
Quoted 5 lines

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

#12 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

In reply to Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +41 -0

41 lines not on this page · raw message

arch/arm/mach-at91/Makefile.boot +0 -24
index 30bb733..5309f9b 100644
@@ -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
arch/arm/mach-exynos/Makefile.boot +0 -3
index 31bd181..b9862e2 100644
@@ -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
arch/arm/mach-imx/Makefile.boot +0 -7
index 05541cf..b27815d 100644
@@ -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 \
arch/arm/mach-kirkwood/Makefile.boot +0 -11
index a13299d..760a0ef 100644
@@ -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
arch/arm/mach-lpc32xx/Makefile.boot +0 -2
index 697323b..d7392a4 100644
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x80008000
 params_phys-y	:= 0x80000100
 initrd_phys-y	:= 0x82000000
-
-dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
arch/arm/mach-mvebu/Makefile.boot +0 -2
index 2579a2f..b327175 100644
@@ -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
arch/arm/mach-mxs/Makefile.boot +0 -9
index 4582999..07b11fe 100644
@@ -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 \
arch/arm/mach-spear13xx/Makefile.boot +0 -3
index 403efd7..4674a4c 100644
@@ -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
arch/arm/mach-spear3xx/Makefile.boot +0 -4
index d93e217..4674a4c 100644
@@ -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
arch/arm/mach-spear6xx/Makefile.boot +0 -2
index af493da..4674a4c 100644
@@ -1,5 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
arch/arm/mach-tegra/Makefile.boot +0 -8
index 7a1bb62..2943381 100644
@@ -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
arch/arm/mach-ux500/Makefile.boot +0 -2
index dd5cd00..760a0ef 100644
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
arch/arm/mach-vexpress/Makefile.boot +0 -5
index 318d308..c6dd891 100644
@@ -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
Signature · 1 line
1.7.9.5
#13 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

arch/arm/boot/dts/Makefile line 7

Quoted 7 lines · Rob Herring
arch/arm/boot/dts/Makefile new file +7 -0
+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?

Quoted 16 lines
arch/arm/boot/dts/Makefile new file +16 -0
+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

arch/arm/boot/dts/Makefile line 33

Quoted 10 lines
arch/arm/boot/dts/Makefile new file +10 -0
+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

arch/arm/boot/dts/Makefile line 34

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
+			   imx6q-sabresd.dtb

This does not follow the indention pattern.

arch/arm/boot/dts/Makefile line 38

Quoted 4 lines
arch/arm/boot/dts/Makefile new file +4 -0
+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

arch/arm/boot/dts/Makefile line 41

Quoted 3 lines
arch/arm/boot/dts/Makefile new file +3 -0
+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,

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.

Signature · 2 lines
Regards,
Shawn
#14 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 6 lines · Shawn Guo

arch/arm/boot/dts/Makefile line 5

Quoted 5 lines · Rob Herring
arch/arm/boot/dts/Makefile new file +5 -0
+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?

Quoted 3 lines

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

#15 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 13 lines · Stephen Warren
Quoted 6 lines · Shawn Guo

arch/arm/boot/dts/Makefile line 5

Quoted 5 lines · Rob Herring
arch/arm/boot/dts/Makefile new file +5 -0
+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

Signature · 2 lines
Regards,
Shawn
#16 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 14 lines · Shawn Guo
Quoted 13 lines · Stephen Warren
Quoted 6 lines · Shawn Guo

arch/arm/boot/dts/Makefile line 5

Quoted 5 lines · Rob Herring
arch/arm/boot/dts/Makefile new file +5 -0
+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?

Quoted 1 line

+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

#17 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 4 lines · Rob Herring

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.

Signature · 2 lines
Regards,
Shawn
maintainer
#18 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

In reply to Stephen Warren

Review

Quoted 9 lines
Quoted 3 lines

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:

(quoted diff) +2 -1
-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

#19 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 4 lines · Andrew Lunn
Quoted 4 lines
Quoted 3 lines

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.

Quoted 8 lines

Review

Quoted 5 lines

The same is true of Tegra:

(quoted diff) +2 -1
-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

maintainer
#20 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 15 lines · Rob Herring
Quoted 4 lines · Andrew Lunn
Quoted 4 lines
Quoted 3 lines

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.

Quoted 8 lines

Review

Quoted 5 lines

The same is true of Tegra:

(quoted diff) +2 -1
-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.

Quoted 3 lines

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

#21 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 16 lines · Arnd Bergmann
Quoted 15 lines · Rob Herring
Quoted 12 lines · Andrew Lunn

Review

Quoted 9 lines
Quoted 3 lines

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:

(quoted diff) +2 -1
-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.

Quoted 7 lines
Quoted 3 lines

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

#22 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

In reply to Rob Herring
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -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.

#23 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 65 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb

sorry I see no need of the dtb-y

Quoted 1 line

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

#24 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 66 lines · Rob Herring
Quoted 65 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb

sorry I see no need of the dtb-y

Quoted 4 lines
Quoted 1 line

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.

#25 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 68 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 67 lines · Rob Herring
Quoted 66 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb

sorry I see no need of the dtb-y

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

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.

#26 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 74 lines · Stephen Warren
Quoted 73 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 71 lines · Rob Herring
Quoted 66 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb

sorry I see no need of the dtb-y

Quoted 1 line

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.

Quoted 7 lines
Quoted 3 lines

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.

#27 lore raw

PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot

Quoted 79 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 78 lines · Stephen Warren
Quoted 76 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 67 lines · Rob Herring
Quoted 66 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb

sorry I see no need of the dtb-y

Quoted 4 lines
Quoted 1 line

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

Quoted 8 lines
Quoted 3 lines

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

#28 lore raw

PATCH 7/12 ARM: move all dtb targets out of Makefile.boot

In reply to Jean-Christophe PLAGNIOL-VILLARD
Quoted 77 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 76 lines · Stephen Warren
Quoted 75 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 67 lines · Rob Herring
Quoted 66 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 61 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>
---
 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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +0 -0
new file mode 100644
index 0000000..e59586b

arch/arm/boot/dts/Makefile line 1

Quoted 1 line
arch/arm/boot/dts/Makefile new file +1 -0
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb

sorry I see no need of the dtb-y

Quoted 4 lines
Quoted 1 line

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

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

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.

Quoted 1 line

it just make it fragile to maintain

That isn't very convincing.

Nicolas

#29 lore raw

PATCH v2 1/1 ARM: move all dtb targets out of Makefile.boot

In reply to Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Andrew Victor <[email protected]>
Cc Nicolas Ferre <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Viresh Kumar <[email protected]>
Cc Shiraz Hashim <[email protected]>
Cc Rajeev Kumar <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Srinidhi Kasagar <[email protected]>
Cc Linus Walleij <[email protected]>

---

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
arch/arm/boot/Makefile +2 -0
index c877087..3fdab01 100644
@@ -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
arch/arm/boot/dts/Makefile new file +71 -0

71 lines not on this page · raw message

arch/arm/mach-at91/Makefile.boot +0 -24
index 30bb733..5309f9b 100644
@@ -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
arch/arm/mach-exynos/Makefile.boot +0 -3
index 31bd181..b9862e2 100644
@@ -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
arch/arm/mach-imx/Makefile.boot +0 -7
index 05541cf..b27815d 100644
@@ -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 \
arch/arm/mach-kirkwood/Makefile.boot +0 -11
index a13299d..760a0ef 100644
@@ -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
arch/arm/mach-lpc32xx/Makefile.boot +0 -2
index 697323b..d7392a4 100644
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x80008000
 params_phys-y	:= 0x80000100
 initrd_phys-y	:= 0x82000000
-
-dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
arch/arm/mach-mvebu/Makefile.boot +0 -2
index 2579a2f..b327175 100644
@@ -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
arch/arm/mach-mxs/Makefile.boot +0 -9
index 4582999..07b11fe 100644
@@ -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 \
arch/arm/mach-spear13xx/Makefile.boot +0 -3
index 403efd7..4674a4c 100644
@@ -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
arch/arm/mach-spear3xx/Makefile.boot +0 -4
index d93e217..4674a4c 100644
@@ -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
arch/arm/mach-spear6xx/Makefile.boot +0 -2
index af493da..4674a4c 100644
@@ -1,5 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
arch/arm/mach-tegra/Makefile.boot +0 -8
index 7a1bb62..2943381 100644
@@ -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
arch/arm/mach-ux500/Makefile.boot +0 -2
index dd5cd00..760a0ef 100644
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
arch/arm/mach-vexpress/Makefile.boot +0 -5
index 318d308..c6dd891 100644
@@ -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
Signature · 1 line
1.7.9.5
#30 lore raw

PATCH v2 1/1 ARM: move all dtb targets out of Makefile.boot

Quoted 8 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

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

arch/arm/boot/Makefile

Quoted 9 lines
arch/arm/boot/Makefile +7 -0
 
+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.

#31 lore raw

PATCH v3 8/12 ARM: picoxcell: remove dependency on mach/* headers

In reply to Rob Herring

From: Rob Herring <[email protected]>

---
 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%)
arch/arm/mach-picoxcell/common.c +3 -3
index 8f9a0b4..a8b70b5 100644
@@ -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)
arch/arm/mach-picoxcell/include/mach/map.h deleted +0 -25
deleted file mode 100644
index c06afad..0000000
@@ -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__ */
arch/arm/mach-picoxcell/picoxcell_soc.h renamed from arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h +0 -0
similarity index 100%
rename from arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h
rename to arch/arm/mach-picoxcell/picoxcell_soc.h
Signature · 1 line
1.7.9.5
#32 lore raw

PATCH v3 9/12 ARM: vexpress: remove dependency on mach/* headers

In reply to Rob Herring

From: Arnd Bergmann <[email protected]>

---
 arch/arm/mach-vexpress/ct-ca9x4.c          |    1 +
 arch/arm/mach-vexpress/include/mach/irqs.h |    2 ++
 2 files changed, 3 insertions(+)
arch/arm/mach-vexpress/ct-ca9x4.c +1 -0
index 61c4924..0e770e8 100644
@@ -27,6 +27,7 @@
 #include "core.h"
 
 #include <mach/motherboard.h>
+#include <mach/irqs.h>
 
 #include <plat/clcd.h>
 
arch/arm/mach-vexpress/include/mach/irqs.h +2 -0
index 4b10ee7..f8f7f78 100644
@@ -1,4 +1,6 @@
 #define IRQ_LOCALTIMER		29
 #define IRQ_LOCALWDOG		30
 
+#ifndef CONFIG_SPARSE_IRQ
 #define NR_IRQS	256
+#endif
Signature · 1 line
1.7.9.5
#33 lore raw

PATCH v3 10/12 ARM: mvebu: move armada-370-xp.h in mach dir

In reply to Rob Herring

From: Rob Herring <[email protected]>

Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
---
 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%)
arch/arm/mach-mvebu/armada-370-xp.c +1 -1
index 4ef923b..b46418a 100644
@@ -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 = {
arch/arm/mach-mvebu/armada-370-xp.h renamed from arch/arm/mach-mvebu/include/mach/armada-370-xp.h +0 -0
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
Signature · 1 line
1.7.9.5
#34 lore raw

PATCH 10/12 ARM: mvebu: move armada-370-xp.h in mach dir

Quoted 5 lines · Rob Herring

From: Rob Herring <[email protected]>

Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>

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

thx,

Jason.

Quoted 31 lines
---
 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%)
arch/arm/mach-mvebu/armada-370-xp.c +1 -1
index 4ef923b..b46418a 100644
@@ -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 = {
arch/arm/mach-mvebu/armada-370-xp.h renamed from arch/arm/mach-mvebu/include/mach/armada-370-xp.h +0 -0
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
Signature · 7 lines
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
#35 lore raw

PATCH v3 11/12 ARM: initial multiplatform support

In reply to Rob Herring

From: Rob Herring <[email protected]>

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.

Cc Russell King <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Jamie Iles <[email protected]>
Cc Dinh Nguyen <[email protected]>
---
 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
arch/arm/Kconfig +57 -66
index 4f5652d..ebaf088 100644
@@ -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
arch/arm/Kconfig.debug +1 -0
index b74ed97..3e57e9a 100644
@@ -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
arch/arm/Makefile +80 -75

179 lines not on this page · raw message

arch/arm/boot/compressed/misc.c +6 -0
index 8e2a8fc..df89983 100644
@@ -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
 
arch/arm/include/asm/timex.h +4 -0
index ce11944..963342a 100644
@@ -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;
 
arch/arm/mach-highbank/Kconfig new file +15 -0
new file mode 100644
index 0000000..0e1d0a4
@@ -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
arch/arm/mach-highbank/Makefile.boot deleted +0 -1
deleted file mode 100644
index dae9661..0000000
@@ -1 +0,0 @@
-zreladdr-y	:= 0x00008000
arch/arm/mach-highbank/include/mach/timex.h deleted +0 -6
deleted file mode 100644
index 88dac7a..0000000
@@ -1,6 +0,0 @@
-#ifndef __MACH_TIMEX_H
-#define __MACH_TIMEX_H
-
-#define CLOCK_TICK_RATE		1000000
-
-#endif
arch/arm/mach-highbank/include/mach/uncompress.h deleted +0 -9
deleted file mode 100644
index bbe20e6..0000000
@@ -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
arch/arm/mach-mvebu/Kconfig +10 -0
index caa2c5e..7b27035 100644
@@ -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"
arch/arm/mach-mvebu/Makefile +2 -0
index e61d2b8..6ea8998 100644
@@ -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
arch/arm/mach-mvebu/Makefile.boot deleted +0 -1
deleted file mode 100644
index b327175..0000000
@@ -1 +0,0 @@
-zreladdr-y := 0x00008000
arch/arm/mach-mvebu/include/mach/timex.h deleted +0 -13
deleted file mode 100644
index ab324a3..0000000
@@ -1,13 +0,0 @@
-/*
- * Marvell Armada SoC time definitions
- *
- * Copyright (C) 2012 Marvell
- *
- * Lior Amsalem <[email protected]>
- *
- * 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)
arch/arm/mach-mvebu/include/mach/uncompress.h deleted +0 -43

43 lines not on this page · raw message

arch/arm/mach-picoxcell/Kconfig new file +14 -0
new file mode 100644
index 0000000..868796f
@@ -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
arch/arm/mach-picoxcell/Makefile.boot deleted +0 -1
deleted file mode 100644
index b327175..0000000
@@ -1 +0,0 @@
-zreladdr-y := 0x00008000
arch/arm/mach-picoxcell/include/mach/hardware.h deleted +0 -21
deleted file mode 100644
index 70ff581..0000000
@@ -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
arch/arm/mach-picoxcell/include/mach/timex.h deleted +0 -25
deleted file mode 100644
index 6c540a6..0000000
@@ -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__ */
-
arch/arm/mach-picoxcell/include/mach/uncompress.h deleted +0 -21
deleted file mode 100644
index b60b19d..0000000
@@ -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()
arch/arm/mach-socfpga/Kconfig new file +16 -0
new file mode 100644
index 0000000..803a328
@@ -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
arch/arm/mach-socfpga/Makefile.boot deleted +0 -1
deleted file mode 100644
index dae9661..0000000
@@ -1 +0,0 @@
-zreladdr-y	:= 0x00008000
arch/arm/mach-socfpga/include/mach/timex.h deleted +0 -19
deleted file mode 100644
index 43df435..0000000
@@ -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)
arch/arm/mach-socfpga/include/mach/uncompress.h deleted +0 -9
deleted file mode 100644
index bbe20e6..0000000
@@ -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
Signature · 1 line
1.7.9.5
maintainer
#36 lore raw

PATCH 11/12 ARM: initial multiplatform support

Review

Quoted 11 lines · Rob Herring
(quoted diff) +8 -0
+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

arch/arm/Makefile +1 -1
index 32a6485..ff5fb29 100644
@@ -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)
#37 lore raw

PATCH v3 11/12 ARM: initial multiplatform support

Quoted 30 lines · Arnd Bergmann

Review

Quoted 11 lines · Rob Herring
(quoted diff) +8 -0
+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

arch/arm/Makefile +0 -0
index 32a6485..ff5fb29 100644

arch/arm/Makefile ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y) · line 239

Quoted 8 lines
arch/arm/Makefile +1 -1
@@ -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

maintainer
#38 lore raw

PATCH 11/12 ARM: initial multiplatform support

Quoted 5 lines · Rob Herring

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

#39 lore raw

PATCH v3 11/12 ARM: initial multiplatform support

In reply to Rob Herring
Quoted 33 lines · Rob Herring
---
 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
Quoted 9 lines
 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?

Signature · 2 lines
Regards,
Shawn
#40 lore raw

PATCH v3 12/12 ARM: vexpress: convert to multi-platform

In reply to Rob Herring

From: Rob Herring <[email protected]>

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

---
 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
arch/arm/Kconfig +1 -18
index ebaf088..16773aa 100644
@@ -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
 
arch/arm/mach-vexpress/Kconfig +32 -32

77 lines not on this page · raw message

arch/arm/mach-vexpress/Makefile +2 -0
index 90551b9..42703e8 100644
@@ -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
arch/arm/mach-vexpress/Makefile.boot deleted +0 -5
deleted file mode 100644
index c6dd891..0000000
@@ -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
arch/arm/mach-vexpress/v2m.c +0 -4
index 37608f2..2ca86c5 100644
@@ -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
arch/arm/plat-versatile/Makefile +2 -0
index 272769a8..74cfd94 100644
@@ -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
Signature · 1 line
1.7.9.5
#41 lore raw

v3 cover Initial multi-platform support

In reply to Rob Herring

Hi Rob,

Quoted 20 lines · Rob Herring

From: Rob Herring <[email protected]>

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.

Quoted 2 lines

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.

8<---

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

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

---
 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
arch/arm/include/debug/picoxcell.S +2 -2
index 58d4ee3..7419deb 100644
@@ -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)
arch/arm/mach-picoxcell/common.c +6 -5
index a8b70b5..f6c0849 100644
@@ -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;
 
 /*
arch/arm/mach-picoxcell/picoxcell_soc.h deleted +0 -25
deleted file mode 100644
index 5566fc8..0000000
@@ -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__ */
Signature · 1 line
1.7.9.5
#42 lore raw

v3 cover Initial multi-platform support

Quoted 29 lines · Jamie Iles

8<---

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

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

---
 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
arch/arm/include/debug/picoxcell.S +2 -2
index 58d4ee3..7419deb 100644
@@ -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)

...

Quoted 8 lines
arch/arm/include/debug/picoxcell.S +0 -0
 		.macro	addruart, rp, rv, tmp
 		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
arch/arm/mach-picoxcell/common.c +0 -0
index a8b70b5..f6c0849 100644

arch/arm/mach-picoxcell/common.c line 25

Quoted 8 lines
arch/arm/mach-picoxcell/common.c +1 -2
@@ -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

Quoted 46 lines
arch/arm/mach-picoxcell/common.c +5 -3
+#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;
 
 /*
arch/arm/mach-picoxcell/picoxcell_soc.h deleted +0 -25
deleted file mode 100644
index 5566fc8..0000000
@@ -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__ */
Signature · 1 line
1.7.9.5
#43 lore raw

v3 cover Initial multi-platform support

Quoted 62 lines · Shawn Guo
Quoted 29 lines · Jamie Iles

8<---

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

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

---
 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
arch/arm/include/debug/picoxcell.S +2 -2
index 58d4ee3..7419deb 100644
@@ -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)

...

Quoted 8 lines
arch/arm/include/debug/picoxcell.S +0 -0
 		.macro	addruart, rp, rv, tmp
 		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
arch/arm/mach-picoxcell/common.c +0 -0
index a8b70b5..f6c0849 100644

arch/arm/mach-picoxcell/common.c line 25

Quoted 8 lines
arch/arm/mach-picoxcell/common.c +1 -2
@@ -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.

Quoted 8 lines
#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

Quoted 49 lines

Regards,
Shawn

Quoted 46 lines
arch/arm/mach-picoxcell/common.c +5 -3
+#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;
 
 /*
arch/arm/mach-picoxcell/picoxcell_soc.h deleted +0 -25
deleted file mode 100644
index 5566fc8..0000000
@@ -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__ */
Signature · 1 line
1.7.9.5