diff options
Diffstat (limited to 'arch/arm/plat-s3c/include/plat/uncompress.h')
-rw-r--r-- | arch/arm/plat-s3c/include/plat/uncompress.h | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/arch/arm/plat-s3c/include/plat/uncompress.h b/arch/arm/plat-s3c/include/plat/uncompress.h index 4df006b9cc10..05c0dbd6baea 100644 --- a/arch/arm/plat-s3c/include/plat/uncompress.h +++ b/arch/arm/plat-s3c/include/plat/uncompress.h @@ -64,26 +64,28 @@ uart_rd(unsigned int reg) static void putc(int ch) { - if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) { - int level; + if (uart_rd(S3C2410_UCON) & S3C2443_UCON_TXMODEMASK) { + if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) { + int level; - while (1) { - level = uart_rd(S3C2410_UFSTAT); - level &= fifo_mask; + while (1) { + level = uart_rd(S3C2410_UFSTAT); + level &= fifo_mask; - if (level < fifo_max) - break; - } + if (level < fifo_max) + break; + } - } else { - /* not using fifos */ + } else { + /* not using fifos */ - while ((uart_rd(S3C2410_UTRSTAT) & S3C2410_UTRSTAT_TXE) != S3C2410_UTRSTAT_TXE) - barrier(); - } + while ((uart_rd(S3C2410_UTRSTAT) & S3C2410_UTRSTAT_TXE) != S3C2410_UTRSTAT_TXE) + barrier(); + } - /* write byte to transmission register */ - uart_wr(S3C2410_UTXH, ch); + /* write byte to transmission register */ + uart_wr(S3C2410_UTXH, ch); + } } static inline void flush(void) |