Initial multi-platform support
Subsystems (14)
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.bootSignature · 1 line
1.7.9.5
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
@@ -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
@@ -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
PATCH v3 2/12 ARM: highbank: move debug macros to include/debug
In reply to Rob HerringFrom: 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
@@ -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
@@ -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
PATCH v3 3/12 ARM: vexpress: move debug macros to include/debug
In reply to Rob HerringFrom: 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
@@ -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
Signature · 1 line
1.7.9.5
PATCH v3 4/12 ARM: mvebu: move debug macros to include/debug
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Move mvebu debug-macro.S over to common debug macro directory.
---
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
@@ -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
@@ -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
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.Sover to common debug macro directory.Signed-off-by Rob Herring <[email protected]>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@@ -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@@ -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_BASESignature · 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
PATCH v3 5/12 ARM: socfpga: move debug macros to include/debug
In reply to Rob HerringFrom: 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
@@ -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
Signature · 1 line
1.7.9.5
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.Sover to common debug macro directory.Signed-off-by Rob Herring <[email protected]>Cc Dinh Nguyen <[email protected]>--- 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@@ -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
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.
PATCH 5/12 ARM: socfpga: move debug macros to include/debug
In reply to Rob HerringHi 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.Sover to common debug macro directory.Signed-off-by Rob Herring <[email protected]>Cc Dinh Nguyen <[email protected]>--- 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@@ -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
Dinh
PATCH v3 6/12 ARM: picoxcell: move debug macros to include/debug
In reply to Rob HerringFrom: 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
@@ -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
Signature · 1 line
1.7.9.5
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.Sover to common debug macro directory.
Quoted 8 lines
Signed-off-by Rob Herring <[email protected]>Cc Jamie Iles <[email protected]>--- 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
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.Sover to common debug macro directory.Quoted 8 lines
Signed-off-by Rob Herring <[email protected]>Cc Jamie Iles <[email protected]>--- 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
PATCH v3 7/12 ARM: move all dtb targets out of Makefile.boot
In reply to Rob HerringFrom: 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.
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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
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.bootwhich 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
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.dtbHmm. 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
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.dtbHmm. 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
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_MXCinstead of per SOC entries? I want to make things more consistent and primarily use the top levelCONFIG_ARCH_xxxvalues.
Yes, I'm okay with that.
Signature · 2 lines
Regards, Shawn
Andrew Lunn
maintainerPATCH 7/12 ARM: move all dtb targets out of Makefile.boot
In reply to Stephen WarrenReview
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.bootwhich 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
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.bootwhich 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.dtbDitto 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
Arnd Bergmann
maintainerPATCH 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.bootwhich 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.dtbDitto 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
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.bootwhich 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.dtbDitto 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
PATCH 7/12 ARM: move all dtb targets out of Makefile.boot
In reply to Rob HerringQuoted 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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0
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.
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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0arch/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.dtbsorry 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
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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0arch/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.dtbsorry 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.
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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0arch/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.dtbsorry 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.
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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0arch/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.dtbsorry 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.
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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0arch/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.dtbsorry 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
PATCH 7/12 ARM: move all dtb targets out of Makefile.boot
In reply to Jean-Christophe PLAGNIOL-VILLARDQuoted 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/Makefilewhich is closer to the sources.Signed-off-by Rob Herring <[email protected]>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/Makefilearch/arm/boot/Makefile +2
-0@@ -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 ZRELADDRarch/arm/boot/dts/Makefile new file +0
-0arch/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.dtbsorry 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
PATCH v2 1/1 ARM: move all dtb targets out of Makefile.boot
In reply to Rob HerringFrom: 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.
---
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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/Makefilewhich is closer to the sources.DTBs are only built when
CONFIG_OFis enabled and now use top levelCONFIG_ARCH_xxxinstead 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.
PATCH v3 8/12 ARM: picoxcell: remove dependency on mach/* headers
In reply to Rob HerringFrom: 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
@@ -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
@@ -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
Signature · 1 line
1.7.9.5
PATCH v3 9/12 ARM: vexpress: remove dependency on mach/* headers
In reply to Rob HerringFrom: 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
@@ -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
@@ -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
PATCH v3 10/12 ARM: mvebu: move armada-370-xp.h in mach dir
In reply to Rob HerringFrom: Rob Herring <[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
@@ -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
Signature · 1 line
1.7.9.5
PATCH 10/12 ARM: mvebu: move armada-370-xp.h in mach dir
Quoted 5 lines · Rob Herring
From: Rob Herring <[email protected]>
Signed-off-by 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@@ -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
-0Signature · 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
PATCH v3 11/12 ARM: initial multiplatform support
In reply to Rob HerringFrom: 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.
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1 +0,0 @@ -zreladdr-y := 0x00008000
arch/arm/mach-highbank/include/mach/timex.h deleted +0 -6
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1 +0,0 @@ -zreladdr-y := 0x00008000
arch/arm/mach-mvebu/include/mach/timex.h deleted +0 -13
@@ -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
@@ -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
@@ -1 +0,0 @@ -zreladdr-y := 0x00008000
arch/arm/mach-picoxcell/include/mach/hardware.h deleted +0 -21
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1 +0,0 @@ -zreladdr-y := 0x00008000
arch/arm/mach-socfpga/include/mach/timex.h deleted +0 -19
@@ -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
@@ -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
Arnd Bergmann
maintainerPATCH 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
@@ -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)
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) += spear6xxI did a little bit of testing and got this message:
/home/arnd/linux-arm/Makefile:774: targetarch/arm/mach-spear13xx' given more than once in the same rule. arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): multiple definition ofspear13xx_smp_ops' arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): first defined hereThe patch below ensures that each machine is only listed once. Please fold this into your patch.
Arnd
arch/arm/Makefile +0
-0
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
Arnd Bergmann
maintainerPATCH 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
PATCH v3 11/12 ARM: initial multiplatform support
In reply to Rob HerringQuoted 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
PATCH v3 12/12 ARM: vexpress: convert to multi-platform
In reply to Rob HerringFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
v3 cover Initial multi-platform support
In reply to Rob HerringHi 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_LLand 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:
- MovedARCH_MULTIPLATFORMback into choice so converted platforms' defconfigs work before and after conversion.
- Added mvebu, socfpga and picoxcellDEBUG_LLsupport.DEBUG_LLshould work for all converted platforms.
- Fixed make dtbs.
- Removed all unused headers (timex.h,uncompress.h) and Makefile.boot
- AddARCH_MULTIPLATFORMdepends 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.gitmulti-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
@@ -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
@@ -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
@@ -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
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.
Signed-off-by Jamie Iles <[email protected]>--- 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.harch/arm/include/debug/picoxcell.S +2
-2@@ -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
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@@ -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
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.
Signed-off-by Jamie Iles <[email protected]>--- 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.harch/arm/include/debug/picoxcell.S +2
-2@@ -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
-0arch/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_IOneeds 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.Sfor 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,
ShawnQuoted 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@@ -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