diff --git a/arch/sh/src/common/up_initialize.c b/arch/sh/src/common/up_initialize.c
index adab1d00e800d21df83104a9f41be9ecea68945e..114c8df98f5310991be8abc8ea895e9430f7aedb 100644
--- a/arch/sh/src/common/up_initialize.c
+++ b/arch/sh/src/common/up_initialize.c
@@ -136,10 +136,15 @@ void up_initialize(void)
   devnull_register();   /* Standard /dev/null */
 #endif
 
-  /* Initialize the serial device driver */
+  /* Initialize the console device driver.  NOTE that the naming
+   * implies that the console is a serial driver.  That is usually the case,
+   * however, if no UARTs are enabled, the console could als be provided
+   * through some other device, such as an LCD.  Architecture-specific logic
+   * will have to detect that case.
+   */
 
 #ifdef CONFIG_USE_SERIALDRIVER
-  up_serialinit();
+  up_consoleinit();
 #elif defined(CONFIG_DEV_LOWCONSOLE)
   lowconsole_init();
 #endif
diff --git a/arch/sh/src/common/up_internal.h b/arch/sh/src/common/up_internal.h
index 204ef6ca0d4e4a3d296f231c46443df312ef696a..fbd046ff3a6e73e0d6ce25a2c38b646fa7d62754 100644
--- a/arch/sh/src/common/up_internal.h
+++ b/arch/sh/src/common/up_internal.h
@@ -55,7 +55,12 @@
 #undef  CONFIG_SUPPRESS_SCI_CONFIG    /* DEFINED: Do not reconfig SCI */
 #undef  CONFIG_DUMP_ON_EXIT           /* DEFINED: Dump task state on exit */
 
-/* Determine which (if any) console driver to use */
+/* Determine which (if any) console driver to use.  NOTE that the naming
+ * implies that the console is a serial driver.  That is usually the case,
+ * however, if no UARTs are enabled, the console could als be provided
+ * through some other device, such as an LCD.  Architecture-specific logic
+ * will have to detect that case.
+ */
 
 #if CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE)
 #  undef CONFIG_USE_SERIALDRIVER
@@ -142,11 +147,11 @@ extern void up_vectorfiq(void);
 /* Defined in up_serial.c */
 
 #if CONFIG_NFILE_DESCRIPTORS > 0
-extern void up_earlyserialinit(void);
-extern void up_serialinit(void);
+extern void up_earlyconsoleinit(void);
+extern void up_consoleinit(void);
 #else
-# define up_earlyserialinit()
-# define up_serialinit()
+# define up_earlyconsoleinit()
+# define up_consoleinit()
 #endif
 
 /* Defined in drivers/lowconsole.c */
diff --git a/arch/sh/src/m16c/m16c_head.S b/arch/sh/src/m16c/m16c_head.S
index 7a20491988bd85f56fe7cd417be22a95d2a397bc..81a8e0c94ad53ac82c96695ff3183e5917880958 100644
--- a/arch/sh/src/m16c/m16c_head.S
+++ b/arch/sh/src/m16c/m16c_head.S
@@ -245,8 +245,8 @@ __start:
 /* Perform early serial initialization */
 
 #ifdef CONFIG_USE_EARLYSERIALINIT
-	.globl	_up_earlyserialinit	/* Early initialization of serial driver */
-	jsr.a	 _up_earlyserialinit	/* Call it */
+	.globl	_up_earlyconsoleinit	/* Early initialization of serial driver */
+	jsr.a	 _up_earlyconsoleinit	/* Call it */
 	showprogress 'D'
 #endif
 
diff --git a/arch/sh/src/m16c/m16c_lowputc.c b/arch/sh/src/m16c/m16c_lowputc.c
index 861623dc2d2e7d978907fd1d9caa1df8e8712163..c08a0ec20ad3edc7aca5b2b11f0c9464e2e3f66f 100644
--- a/arch/sh/src/m16c/m16c_lowputc.c
+++ b/arch/sh/src/m16c/m16c_lowputc.c
@@ -49,6 +49,12 @@
 #include "up_internal.h"
 #include "m16c_uart.h"
 
+/* Is there any serial support?  This might be the case if the board does
+ * not have serial ports but supports stdout through, say, an LCD.
+ */
+
+#if !defined(CONFIG_UART0_DISABLE) && !defined(CONFIG_UART1_DISABLE) && !defined(CONFIG_UART2_DISABLE)
+
 /**************************************************************************
  * Private Definitions
  **************************************************************************/
@@ -59,7 +65,7 @@
 #  define M16C_XIN_PRESCALER 1
 #endif
 
-/* Is there a serial console? */
+/* We know that we have a serial port enabled.  Is one of them a serial console? */
 
 #if defined(CONFIG_UART0_SERIAL_CONSOLE) && !defined(CONFIG_UART0_DISABLE)
 #  define HAVE_CONSOLE 1
@@ -74,9 +80,6 @@
 #  undef CONFIG_UART0_SERIAL_CONSOLE
 #  undef CONFIG_UART1_SERIAL_CONSOLE
 #else
-#  if defined(CONFIG_UART0_SERIAL_CONSOLE) || defined(CONFIG_UART1_SERIAL_CONSOLE)|| defined(CONFIG_UART2_SERIAL_CONSOLE)
-#    error "Serial console selected, but corresponding UART not enabled"
-#  endif
 #  undef HAVE_CONSOLE
 #endif
 
@@ -291,3 +294,8 @@ void up_lowsetup(void)
   regval = (ubyte)getreg16(M16C_UART_BASE + M16C_UART_RB);
 #endif
 }
+
+#elif defined(CONFIG_UART0_SERIAL_CONSOLE) || defined(CONFIG_UART1_SERIAL_CONSOLE)|| defined(CONFIG_UART2_SERIAL_CONSOLE)
+#    error "A serial console selected, but corresponding UART not enabled"
+#endif /*  !CONFIG_UART0_DISABLE && !CONFIG_UART1_DISABLE && !CONFIG_UART2_DISABLE */
+
diff --git a/arch/sh/src/m16c/m16c_serial.c b/arch/sh/src/m16c/m16c_serial.c
index 12b6148643d58916e2f4c748fcc3b44c1a50a04f..7ee4050f79d537d78ebbec65ba9b887de3a9a6a6 100644
--- a/arch/sh/src/m16c/m16c_serial.c
+++ b/arch/sh/src/m16c/m16c_serial.c
@@ -55,6 +55,12 @@
 #include "os_internal.h"
 #include "m16c_uart.h"
 
+/* Is there any serial support?  This might be the case if the board does
+ * not have serial ports but supports a console through, say, an LCD.
+ */
+
+#if !defined(CONFIG_UART0_DISABLE) && !defined(CONFIG_UART1_DISABLE) && !defined(CONFIG_UART2_DISABLE)
+
 /****************************************************************************
  * Definitions
  ****************************************************************************/
@@ -1056,16 +1062,16 @@ static boolean up_txready(struct uart_dev_s *dev)
  ****************************************************************************/
 
 /****************************************************************************
- * Name: up_serialinit
+ * Name: up_earlyconsoleinit
  *
  * Description:
  *   Performs the low level UART initialization early in 
  *   debug so that the serial console will be available
- *   during bootup.  This must be called before up_serialinit.
+ *   during bootup.  This must be called before up_consoleinit.
  *
  ****************************************************************************/
 
-void up_earlyserialinit(void)
+void up_earlyconsoleinit(void)
 {
   /* NOTE:  All GPIO configuration for the UARTs was performed in
    * up_lowsetup
@@ -1092,15 +1098,15 @@ void up_earlyserialinit(void)
 }
 
 /****************************************************************************
- * Name: up_serialinit
+ * Name: up_consoleinit
  *
  * Description:
  *   Register serial console and serial ports.  This assumes
- *   that up_earlyserialinit was called previously.
+ *   that up_earlyconsoleinit was called previously.
  *
  ****************************************************************************/
 
-void up_serialinit(void)
+void up_consoleinit(void)
 {
   /* Register the console */
 
@@ -1184,3 +1190,7 @@ int up_putc(int ch)
 }
 
 #endif /* CONFIG_USE_SERIALDRIVER */
+#elif defined(CONFIG_UART0_SERIAL_CONSOLE) || defined(CONFIG_UART1_SERIAL_CONSOLE)|| defined(CONFIG_UART2_SERIAL_CONSOLE)
+#    error "A serial console selected, but corresponding UART not enabled"
+#endif /*  !CONFIG_UART0_DISABLE && !CONFIG_UART1_DISABLE && !CONFIG_UART2_DISABLE */
+
diff --git a/arch/sh/src/sh1/sh1_head.S b/arch/sh/src/sh1/sh1_head.S
index 61f14443d5a1cec5558d412d63269a66bb227577..c402e45baca762c6edde6715428945a50fc4612a 100644
--- a/arch/sh/src/sh1/sh1_head.S
+++ b/arch/sh/src/sh1/sh1_head.S
@@ -62,7 +62,7 @@
 
 	.globl	_up_lowsetup		/* Early initialization of UART */
 #ifdef CONFIG_USE_EARLYSERIALINIT
-	.globl	_up_earlyserialinit	/* Early initialization of serial driver */
+	.globl	_up_earlyconsoleinit	/* Early initialization of console driver */
 #endif
 #ifdef CONFIG_ARCH_LEDS
 	.globl	_up_ledinit		/* Boot LED setup */
@@ -161,7 +161,7 @@
 
 	.macro	showprogress, code
 #ifdef CONFIG_DEBUG
-	mov.l   .Llowputc, r0		/* Address of up_earlyserialinit */
+	mov.l   .Llowputc, r0		/* Address of up_earlyconsoleinit */
 	jsr     @r0			/* Call it */
 	mov	#\code, r4		/* Delay slot */
 #endif
@@ -427,7 +427,7 @@ __start0:
 	/* Perform early serial initialization */
 
 #ifdef CONFIG_USE_EARLYSERIALINIT
-	mov.l   .Learlyser, r0		/* Address of up_earlyserialinit */
+	mov.l   .Learlyser, r0		/* Address of up_earlyconsoleinit */
 	jsr     @r0			/* Call it */
 	or      r0, r0			/* Delay slot */
 #endif
@@ -483,7 +483,7 @@ __start0:
 	.long   _ebss
 #ifdef CONFIG_USE_EARLYSERIALINIT
 .Learlyser:
-	.long	_up_earlyserialinit
+	.long	_up_earlyconsoleinit
 #endif
 .Llowsetup:
 	.long	_up_lowsetup
diff --git a/arch/sh/src/sh1/sh1_serial.c b/arch/sh/src/sh1/sh1_serial.c
index d6708d5faf8aecc1a7656db438bc4fa3d7168966..6991e0f329f42d35c579acb01f6f686fd35764f3 100644
--- a/arch/sh/src/sh1/sh1_serial.c
+++ b/arch/sh/src/sh1/sh1_serial.c
@@ -829,16 +829,16 @@ static boolean up_txready(struct uart_dev_s *dev)
  ****************************************************************************/
 
 /****************************************************************************
- * Name: up_serialinit
+ * Name: up_earlyconsoleinit
  *
  * Description:
  *   Performs the low level SCI initialization early in 
  *   debug so that the serial console will be available
- *   during bootup.  This must be called before up_serialinit.
+ *   during bootup.  This must be called before up_consoleinit.
  *
  ****************************************************************************/
 
-void up_earlyserialinit(void)
+void up_earlyconsoleinit(void)
 {
   /* NOTE:  All GPIO configuration for the SCIs was performed in
    * up_lowsetup
@@ -862,15 +862,15 @@ void up_earlyserialinit(void)
 }
 
 /****************************************************************************
- * Name: up_serialinit
+ * Name: up_consoleinit
  *
  * Description:
  *   Register serial console and serial ports.  This assumes
- *   that up_earlyserialinit was called previously.
+ *   that up_earlyconsoleinit was called previously.
  *
  ****************************************************************************/
 
-void up_serialinit(void)
+void up_consoleinit(void)
 {
   /* Register the console */
 
diff --git a/configs/skp16c26/ostest/defconfig b/configs/skp16c26/ostest/defconfig
index bc3dc1db7fe9d99038bf57d753a8a89336e132c1..ae17228c213272359102226432412d73a9d2c566 100644
--- a/configs/skp16c26/ostest/defconfig
+++ b/configs/skp16c26/ostest/defconfig
@@ -90,10 +90,10 @@ CONFIG_ARCH_STACKDUMP=y
 # CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
 # CONFIG_UARTn_2STOP - Two stop bits
 #
-CONFIG_UART0_DISABLE=n
+CONFIG_UART0_DISABLE=y
 CONFIG_UART1_DISABLE=y
 CONFIG_UART2_DISABLE=y
-CONFIG_UART0_SERIAL_CONSOLE=y
+CONFIG_UART0_SERIAL_CONSOLE=n
 CONFIG_UART1_SERIAL_CONSOLE=n
 CONFIG_UART2_SERIAL_CONSOLE=n
 CONFIG_UART0_TXBUFSIZE=64
@@ -177,7 +177,7 @@ CONFIG_SCHED_INSTRUMENTATION=n
 CONFIG_TASK_NAME_SIZE=0
 CONFIG_START_YEAR=2009
 CONFIG_START_MONTH=2
-CONFIG_START_DAY=8
+CONFIG_START_DAY=17
 CONFIG_JULIAN_TIME=n
 CONFIG_DEV_CONSOLE=y
 CONFIG_DEV_LOWCONSOLE=n