linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Support Marvell bootloaders remapping registers at different locations
@ 2013-06-05  7:04 Thomas Petazzoni
  2013-06-05  7:04 ` [PATCH 1/8] arm: mvebu: remove dependency of SMP init on static I/O mapping Thomas Petazzoni
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2013-06-05  7:04 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

On Marvell platforms, the base address of the "internal registers"
(i.e registers of all peripherals) can be configured at runtime. At
reset, it is set to 0xD0000000, but it can freely be changed to some
other location.

On all previous Marvell SoC families, Linux assumes the bootloader has
remapped the internal registers at 0xF1000000, and Marvell is now
moving to do the same on Armada 370/XP, since it allows to use as much
RAM as possible in the 0 -> 4G area. However, due to early issues,
until now, Marvell bootloaders were leaving the internal registers
address set to 0xD0000000, and recently, Marvell has started shipping
bootloaders that remapped those registers to 0xF1000000.

In order to support those two cases, we want to make sure the Device
Tree is the only location where the physical base address of the
internal registers is stored. This patch set removes the places where
the physical base address of the registers was hardcoded and provides
two Kconfig options for the earlyprintk UART address selection (one
for 0xD0000000 and one for 0xF1000000).

It no longer uses the CP15 trick, nor it tries to do runtime remapping
to 0xF1 if it wasn't done by the bootloader. But it allows to easily
boot a kernel with both old and new bootloaders by doing a simple
change, in a single location in the Device Tree.

This patch series is based on jcooper/mvebu/fixes-non-critical and
jcooper/mvebu/cleanup, which contains 3 patches that are necessary to
make this patch series work properly.

Thanks,

Thomas

Thomas Petazzoni (8):
  arm: mvebu: remove dependency of SMP init on static I/O mapping
  arm: mvebu: avoid hardcoded virtual address in coherency code
  arm: mvebu: move cache and mvebu-mbus initialization later
  arm: mvebu: remove hardcoded static I/O mapping
  arm: mvebu: don't hardcode a physical address in headsmp.S
  arm: mvebu: don't hardcode the physical address for mvebu-mbus
  arm: mvebu: add another earlyprintk Kconfig option
  arm: mvebu: disable DEBUG_LL/EARLY_PRINTK in defconfig

 arch/arm/Kconfig.debug              | 30 ++++++++++++++++++++--
 arch/arm/configs/mvebu_defconfig    |  2 --
 arch/arm/include/debug/mvebu.S      |  5 ++++
 arch/arm/mach-mvebu/armada-370-xp.c | 51 ++++++++++++++++++++-----------------
 arch/arm/mach-mvebu/armada-370-xp.h | 10 --------
 arch/arm/mach-mvebu/coherency.c     | 36 ++++++++++----------------
 arch/arm/mach-mvebu/coherency.h     |  4 ---
 arch/arm/mach-mvebu/common.h        |  2 ++
 arch/arm/mach-mvebu/headsmp.S       | 19 ++++++++------
 arch/arm/mach-mvebu/platsmp.c       | 10 +++++++-
 10 files changed, 96 insertions(+), 73 deletions(-)

-- 
1.8.1.2

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

end of thread, other threads:[~2013-06-07  7:45 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-05  7:04 [PATCH 0/8] Support Marvell bootloaders remapping registers at different locations Thomas Petazzoni
2013-06-05  7:04 ` [PATCH 1/8] arm: mvebu: remove dependency of SMP init on static I/O mapping Thomas Petazzoni
2013-06-05  7:04 ` [PATCH 2/8] arm: mvebu: avoid hardcoded virtual address in coherency code Thomas Petazzoni
2013-06-05  7:04 ` [PATCH 3/8] arm: mvebu: move cache and mvebu-mbus initialization later Thomas Petazzoni
2013-06-05  7:04 ` [PATCH 4/8] arm: mvebu: remove hardcoded static I/O mapping Thomas Petazzoni
2013-06-05  7:04 ` [PATCH 5/8] arm: mvebu: don't hardcode a physical address in headsmp.S Thomas Petazzoni
2013-06-05 20:42   ` Nicolas Pitre
2013-06-05 21:33     ` Thomas Petazzoni
2013-06-06  9:13   ` Will Deacon
2013-06-06 10:27     ` Thomas Petazzoni
2013-06-06 10:24   ` [PATCH v2] " Thomas Petazzoni
2013-06-06 12:45     ` Will Deacon
2013-06-06 16:49     ` Nicolas Pitre
2013-06-06 17:59     ` Jason Cooper
2013-06-05  7:04 ` [PATCH 6/8] arm: mvebu: don't hardcode the physical address for mvebu-mbus Thomas Petazzoni
2013-06-05  7:05 ` [PATCH 7/8] arm: mvebu: add another earlyprintk Kconfig option Thomas Petazzoni
2013-06-05 13:45   ` Jason Cooper
2013-06-05 13:47     ` Thomas Petazzoni
2013-06-05 14:07       ` Jason Cooper
2013-06-05  7:05 ` [PATCH 8/8] arm: mvebu: disable DEBUG_LL/EARLY_PRINTK in defconfig Thomas Petazzoni
2013-06-05  8:34 ` [PATCH 0/8] Support Marvell bootloaders remapping registers at different locations Arnd Bergmann
2013-06-05 21:01 ` Jason Cooper
2013-06-06 18:02   ` Jason Cooper
2013-06-07  7:45     ` Thomas Petazzoni

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