Skip to content

Commit

Permalink
ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined
Browse files Browse the repository at this point in the history
Printing low-level debug messages make an assumption that the specified
UART port has been preconfigured by the bootloader. Incorrectly
specified UART port results in system getting stalled while printing the
message "Uncompressing Linux... done, booting the kernel"
This UART port number is specified through S3C_LOWLEVEL_UART_PORT. Since
the UART port might different for different board, it is not possible to
specify it correctly for every board that use a common defconfig file.

Calling this print subroutine only when DEBUG_LL fixes the problem. By
disabling DEBUG_LL in default config file, we would be able to boot
multiple boards with different default UART ports.

With this current approach, we miss the print "Uncompressing Linux...
done, booting the kernel." when DEBUG_LL is not defined.

Signed-off-by: Tushar Behera <[email protected]>
Signed-off-by: Olof Johansson <[email protected]>
  • Loading branch information
Tushar Behera authored and olofj committed Jun 8, 2013
1 parent 0b68255 commit 437d8ac
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion arch/arm/plat-samsung/include/plat/uncompress.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ uart_rd(unsigned int reg)

static void putc(int ch)
{
if (!config_enabled(CONFIG_DEBUG_LL))
return;

if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) {
int level;

Expand Down Expand Up @@ -118,7 +121,12 @@ static void arch_decomp_error(const char *x)
#ifdef CONFIG_S3C_BOOT_UART_FORCE_FIFO
static inline void arch_enable_uart_fifo(void)
{
u32 fifocon = uart_rd(S3C2410_UFCON);
u32 fifocon;

if (!config_enabled(CONFIG_DEBUG_LL))
return;

fifocon = uart_rd(S3C2410_UFCON);

if (!(fifocon & S3C2410_UFCON_FIFOMODE)) {
fifocon |= S3C2410_UFCON_RESETBOTH;
Expand Down

0 comments on commit 437d8ac

Please sign in to comment.