]> Pileus Git - ~andy/linux/commitdiff
arm: mvebu: add another earlyprintk Kconfig option
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 5 Jun 2013 07:05:00 +0000 (09:05 +0200)
committerJason Cooper <jason@lakedaemon.net>
Thu, 13 Jun 2013 17:48:52 +0000 (17:48 +0000)
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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/Kconfig.debug
arch/arm/include/debug/mvebu.S

index 1d41908d5cda0644a31a9048c882369f21db235b..e6a6ab1b10d7948f64aecc3bdf583a29df913822 100644 (file)
@@ -303,12 +303,37 @@ choice
                  their output to the serial port on MSM 8960 devices.
 
        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
                help
                  Say Y here if you want kernel low-level debugging support
                  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
                bool "Kernel low-level debugging messages via NOMADIK UART"
                depends on ARCH_NOMADIK
@@ -632,7 +657,8 @@ config DEBUG_LL_INCLUDE
                                 DEBUG_IMX51_UART || \
                                 DEBUG_IMX53_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/nomadik.S" if DEBUG_NOMADIK_UART
        default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
index df191afa3be14b1338481e05ae00cf35ddbb0cd5..6517311a1c915bfbb92c7e0b293e2adffa15b973 100644 (file)
  * 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
+#endif
+
 #define ARMADA_370_XP_REGS_VIRT_BASE   0xfec00000
 
        .macro  addruart, rp, rv, tmp