From mboxrd@z Thu Jan 1 00:00:00 1970 From: jason@lakedaemon.net (Jason Cooper) Date: Wed, 5 Jun 2013 09:45:52 -0400 Subject: [PATCH 7/8] arm: mvebu: add another earlyprintk Kconfig option In-Reply-To: <1370415901-4721-8-git-send-email-thomas.petazzoni@free-electrons.com> References: <1370415901-4721-1-git-send-email-thomas.petazzoni@free-electrons.com> <1370415901-4721-8-git-send-email-thomas.petazzoni@free-electrons.com> Message-ID: <20130605134552.GK3803@titan.lakedaemon.net> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Jun 05, 2013 at 09:05:00AM +0200, Thomas Petazzoni wrote: > 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 > --- > arch/arm/Kconfig.debug | 30 ++++++++++++++++++++++++++++-- > arch/arm/include/debug/mvebu.S | 5 +++++ > 2 files changed, 33 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug > index 1d41908..e6a6ab1 100644 > --- a/arch/arm/Kconfig.debug > +++ b/arch/arm/Kconfig.debug > @@ -303,12 +303,37 @@ choice > their output to the serial port on MSM 8960 devices. > > config DEBUG_MVEBU_UART Perhaps we should change this to DEBUG_MVEBU_UART_LEGACY? > - 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 And this to DEBUG_MVEBU_UART? > + bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)" and remove '(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 > diff --git a/arch/arm/include/debug/mvebu.S b/arch/arm/include/debug/mvebu.S > index df191af..6517311 100644 > --- a/arch/arm/include/debug/mvebu.S > +++ b/arch/arm/include/debug/mvebu.S > @@ -11,7 +11,12 @@ > * 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 And then switch this logic. thx, Jason. > + > #define ARMADA_370_XP_REGS_VIRT_BASE 0xfec00000 > > .macro addruart, rp, rv, tmp > -- > 1.8.1.2 >