aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2009-11-05 23:04:42 +0100
committerLars-Peter Clausen <lars@metafoo.de>2010-05-17 19:49:31 +0200
commit6e279858214c5929aaf45e7eb454720ebd482294 (patch)
tree782be05fa7edc104112f3b6b8e2f3ca2f5a1d016
parent4b5493b4c126b54a730d57a619ede97424ad0e7c (diff)
S3C: Allow to completly disable low-level messages
In some cases it is desirable to completly disable low-level messages. For example if you have no uart available for a serial console. With this patch it is possible to disable low-level messages by setting CONFIG_S3C_LOWLEVEL_UART_PORT to less then zero. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
-rw-r--r--arch/arm/boot/compressed/head.S2
-rw-r--r--arch/arm/plat-samsung/include/plat/uncompress.h19
2 files changed, 16 insertions, 5 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index c5191b1532e..7e5e8933b26 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -66,7 +66,7 @@ wait: mrc p14, 0, pc, c0, c1, 0
add \rb, \rb, #0x00010000 @ Ser1
#endif
.endm
-#elif defined(CONFIG_ARCH_S3C2410)
+#elif defined(CONFIG_ARCH_S3C2410) && CONFIG_S3C_LOWLEVEL_UART_PORT >= 0
.macro loadsp, rb, tmp
mov \rb, #0x50000000
add \rb, \rb, #0x4000 * CONFIG_S3C_LOWLEVEL_UART_PORT
diff --git a/arch/arm/plat-samsung/include/plat/uncompress.h b/arch/arm/plat-samsung/include/plat/uncompress.h
index 7d6ed7263d5..152c496d1c2 100644
--- a/arch/arm/plat-samsung/include/plat/uncompress.h
+++ b/arch/arm/plat-samsung/include/plat/uncompress.h
@@ -37,6 +37,8 @@ static void arch_detect_cpu(void);
/* how many bytes we allow into the FIFO at a time in FIFO mode */
#define FIFO_MAX (14)
+#if CONFIG_S3C_LOWLEVEL_UART_PORT >= 0
+
#define uart_base S3C_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT)
static __inline__ void
@@ -86,10 +88,6 @@ static void putc(int ch)
uart_wr(S3C2410_UTXH, ch);
}
-static inline void flush(void)
-{
-}
-
#define __raw_writel(d, ad) \
do { \
*((volatile unsigned int __force *)(ad)) = (d); \
@@ -161,6 +159,19 @@ static inline void arch_enable_uart_fifo(void)
#define arch_enable_uart_fifo() do { } while(0)
#endif
+#else
+static inline void putc(int ch)
+{
+}
+
+#define arch_enable_uart_fifo() do { } while(0)
+#define arch_decomp_wdog_start()
+#define arch_decomp_wdog()
+#endif
+
+static inline void flush(void)
+{
+}
static void
arch_decomp_setup(void)