Commit c2804cd6 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Jason Cooper

arm: mvebu: add another earlyprintk Kconfig option

In order to support both old and new bootloaders, we add a new Kconfig
option for the earlyprintk UART selection. The existing option allows
to work with old bootloaders (that keep the internal registers mapped
at 0xd0000000), while the newly introduced option allows to work with
new bootloaders (that remap the internal registers at 0xf1000000).
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent d834d26a
...@@ -303,12 +303,37 @@ choice ...@@ -303,12 +303,37 @@ choice
their output to the serial port on MSM 8960 devices. their output to the serial port on MSM 8960 devices.
config DEBUG_MVEBU_UART config DEBUG_MVEBU_UART
bool "Kernel low-level debugging messages via MVEBU UART" bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
depends on ARCH_MVEBU depends on ARCH_MVEBU
help help
Say Y here if you want kernel low-level debugging support Say Y here if you want kernel low-level debugging support
on MVEBU based platforms. on MVEBU based platforms.
This option should be used with the old bootloaders
that left the internal registers mapped at
0xd0000000. As of today, this is the case on
platforms such as the Globalscale Mirabox or the
Plathome OpenBlocks AX3, when using the original
bootloader.
If the wrong DEBUG_MVEBU_UART* option is selected,
when u-boot hands over to the kernel, the system
silently crashes, with no serial output at all.
config DEBUG_MVEBU_UART_ALTERNATE
bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
depends on ARCH_MVEBU
help
Say Y here if you want kernel low-level debugging support
on MVEBU based platforms.
This option should be used with the new bootloaders
that remap the internal registers at 0xf1000000.
If the wrong DEBUG_MVEBU_UART* option is selected,
when u-boot hands over to the kernel, the system
silently crashes, with no serial output at all.
config DEBUG_NOMADIK_UART config DEBUG_NOMADIK_UART
bool "Kernel low-level debugging messages via NOMADIK UART" bool "Kernel low-level debugging messages via NOMADIK UART"
depends on ARCH_NOMADIK depends on ARCH_NOMADIK
...@@ -632,7 +657,8 @@ config DEBUG_LL_INCLUDE ...@@ -632,7 +657,8 @@ config DEBUG_LL_INCLUDE
DEBUG_IMX51_UART || \ DEBUG_IMX51_UART || \
DEBUG_IMX53_UART ||\ DEBUG_IMX53_UART ||\
DEBUG_IMX6Q_UART DEBUG_IMX6Q_UART
default "debug/mvebu.S" if DEBUG_MVEBU_UART default "debug/mvebu.S" if DEBUG_MVEBU_UART || \
DEBUG_MVEBU_UART_ALTERNATE
default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART
default "debug/nomadik.S" if DEBUG_NOMADIK_UART default "debug/nomadik.S" if DEBUG_NOMADIK_UART
default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
......
...@@ -11,7 +11,12 @@ ...@@ -11,7 +11,12 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#ifdef CONFIG_DEBUG_MVEBU_UART_ALTERNATE
#define ARMADA_370_XP_REGS_PHYS_BASE 0xf1000000
#else
#define ARMADA_370_XP_REGS_PHYS_BASE 0xd0000000 #define ARMADA_370_XP_REGS_PHYS_BASE 0xd0000000
#endif
#define ARMADA_370_XP_REGS_VIRT_BASE 0xfec00000 #define ARMADA_370_XP_REGS_VIRT_BASE 0xfec00000
.macro addruart, rp, rv, tmp .macro addruart, rp, rv, tmp
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment