Index: c/src/lib/libbsp/powerpc/dmv177/console/config.c
===================================================================
--- c/src/lib/libbsp/powerpc/dmv177/console/config.c	(revision 0eb85ae3e72b0e00ea042c9c411ed577c8de5f43)
+++ c/src/lib/libbsp/powerpc/dmv177/console/config.c	(revision 308e18c397d4d90ee521144e1d55620b6a710049)
@@ -143,4 +143,5 @@
 
 boolean dmv177_z85c30_probe(int minor);
+boolean dmv177_mc68681_probe(int minor);
 
 console_tbl	Console_Port_Tbl[] = {
@@ -149,5 +150,5 @@
                 SERIAL_MC68681,                 /* deviceType */
 		MC68681_FUNCTIONS,		/* pDeviceFns */
-		NULL,				/* deviceProbe */
+		dmv177_mc68681_probe,		/* deviceProbe */
 		NULL,				/* pDeviceFlow */
 		16,				/* ulMargin */
@@ -168,5 +169,5 @@
                 SERIAL_MC68681,                 /* deviceType */
 		MC68681_FUNCTIONS,		/* pDeviceFns */
-		NULL,				/* deviceProbe */
+		dmv177_mc68681_probe,		/* deviceProbe */
 		NULL,				/* pDeviceFlow */
 		16,				/* ulMargin */
@@ -235,7 +236,18 @@
 rtems_device_minor_number  Console_Port_Minor;
 
+/*
+ *  Hopefully, by checking the card resource register, this BSP
+ *  will be able to operate on the DMV171, DMV176, or DMV177.
+ */
+
 boolean dmv177_z85c30_probe(int minor)
 {
   volatile unsigned32 *dma_control_status_reg;
+  volatile unsigned32 *card_resource_reg;
+
+  card_resource_reg = (volatile unsigned32 *) DMV170_CARD_RESORCE_REG;
+
+  if ( !(*card_resource_reg & DMV170_DUART_PRESENT_BIT) )
+    return FALSE;
 
   /*
@@ -243,5 +255,5 @@
    */
 
-  dma_control_status_reg = DMV170_DMA_CONTROL_STATUS_REG;
+  dma_control_status_reg = (volatile unsigned32 *)DMV170_DMA_CONTROL_STATUS_REG;
 
   if ( *dma_control_status_reg & DMV170_SCC_10MHZ )
@@ -252,2 +264,14 @@
   return TRUE;
 }
+
+boolean dmv177_mc68681_probe(int minor)
+{
+  volatile unsigned32 *card_resource_reg;
+
+  card_resource_reg = (volatile unsigned32 *) DMV170_CARD_RESORCE_REG;
+
+  if ( *card_resource_reg & DMV170_DUART_PRESENT_BIT )
+    return TRUE;
+
+  return FALSE;
+}
Index: c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c
===================================================================
--- c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c	(revision 0eb85ae3e72b0e00ea042c9c411ed577c8de5f43)
+++ c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c	(revision 308e18c397d4d90ee521144e1d55620b6a710049)
@@ -143,4 +143,5 @@
 
 boolean dmv177_z85c30_probe(int minor);
+boolean dmv177_mc68681_probe(int minor);
 
 console_tbl	Console_Port_Tbl[] = {
@@ -149,5 +150,5 @@
                 SERIAL_MC68681,                 /* deviceType */
 		MC68681_FUNCTIONS,		/* pDeviceFns */
-		NULL,				/* deviceProbe */
+		dmv177_mc68681_probe,		/* deviceProbe */
 		NULL,				/* pDeviceFlow */
 		16,				/* ulMargin */
@@ -168,5 +169,5 @@
                 SERIAL_MC68681,                 /* deviceType */
 		MC68681_FUNCTIONS,		/* pDeviceFns */
-		NULL,				/* deviceProbe */
+		dmv177_mc68681_probe,		/* deviceProbe */
 		NULL,				/* pDeviceFlow */
 		16,				/* ulMargin */
@@ -235,7 +236,18 @@
 rtems_device_minor_number  Console_Port_Minor;
 
+/*
+ *  Hopefully, by checking the card resource register, this BSP
+ *  will be able to operate on the DMV171, DMV176, or DMV177.
+ */
+
 boolean dmv177_z85c30_probe(int minor)
 {
   volatile unsigned32 *dma_control_status_reg;
+  volatile unsigned32 *card_resource_reg;
+
+  card_resource_reg = (volatile unsigned32 *) DMV170_CARD_RESORCE_REG;
+
+  if ( !(*card_resource_reg & DMV170_DUART_PRESENT_BIT) )
+    return FALSE;
 
   /*
@@ -243,5 +255,5 @@
    */
 
-  dma_control_status_reg = DMV170_DMA_CONTROL_STATUS_REG;
+  dma_control_status_reg = (volatile unsigned32 *)DMV170_DMA_CONTROL_STATUS_REG;
 
   if ( *dma_control_status_reg & DMV170_SCC_10MHZ )
@@ -252,2 +264,14 @@
   return TRUE;
 }
+
+boolean dmv177_mc68681_probe(int minor)
+{
+  volatile unsigned32 *card_resource_reg;
+
+  card_resource_reg = (volatile unsigned32 *) DMV170_CARD_RESORCE_REG;
+
+  if ( *card_resource_reg & DMV170_DUART_PRESENT_BIT )
+    return TRUE;
+
+  return FALSE;
+}
Index: c/src/lib/libbsp/powerpc/dmv177/include/dmv170.h
===================================================================
--- c/src/lib/libbsp/powerpc/dmv177/include/dmv170.h	(revision 0eb85ae3e72b0e00ea042c9c411ed577c8de5f43)
+++ c/src/lib/libbsp/powerpc/dmv177/include/dmv170.h	(revision 308e18c397d4d90ee521144e1d55620b6a710049)
@@ -273,4 +273,15 @@
 #define SCV64_Is_IRQ5( _status ) (_status&0x20)
 
+
+/*
+ *  Card Resource Register Constants
+ */
+
+#define DMV170_DUART_PRESENT_BIT  0x0100
+#define DMV170_SONIC_PRESENT_BIT  0x0200
+#define DMV170_16MBYTES_FLASH_BIT 0x0400
+#define DMV170_SCC_PRESENT_BIT    0x0800
+#define DMV170_RTC_PRESENT_BIT    0x1000
+
 /*
  *  scv64.c
Index: c/src/lib/libbsp/powerpc/dmv177/tod/config.c
===================================================================
--- c/src/lib/libbsp/powerpc/dmv177/tod/config.c	(revision 0eb85ae3e72b0e00ea042c9c411ed577c8de5f43)
+++ c/src/lib/libbsp/powerpc/dmv177/tod/config.c	(revision 308e18c397d4d90ee521144e1d55620b6a710049)
@@ -32,4 +32,6 @@
  */
 
+boolean dmv177_icm7170_probe(int minor);
+
 rtc_tbl	RTC_Table[] = {
 	{
@@ -37,5 +39,5 @@
                 RTC_ICM7170,                    /* deviceType */
 		&icm7170_fns,			/* pDeviceFns */
-		rtc_probe,			/* deviceProbe */
+		dmv177_icm7170_probe,		/* deviceProbe */
 		(void *) ICM7170_AT_1_MHZ,	/* pDeviceParams */
 		DMV170_RTC_ADDRESS,		/* ulCtrlPort1 */
@@ -55,2 +57,20 @@
 
 rtems_device_minor_number  RTC_Minor;
+
+/*
+ *  Hopefully, by checking the card resource register, this BSP
+ *  will be able to operate on the DMV171, DMV176, or DMV177.
+ */
+
+boolean dmv177_icm7170_probe(int minor)
+{
+  volatile unsigned32 *card_resource_reg;
+
+  card_resource_reg = (volatile unsigned32 *) DMV170_CARD_RESORCE_REG;
+
+  if ( *card_resource_reg & DMV170_RTC_PRESENT_BIT )
+    return TRUE;
+
+  return FALSE;
+}
+
Index: c/src/lib/libbsp/powerpc/dmv177/tod/todcfg.c
===================================================================
--- c/src/lib/libbsp/powerpc/dmv177/tod/todcfg.c	(revision 0eb85ae3e72b0e00ea042c9c411ed577c8de5f43)
+++ c/src/lib/libbsp/powerpc/dmv177/tod/todcfg.c	(revision 308e18c397d4d90ee521144e1d55620b6a710049)
@@ -32,4 +32,6 @@
  */
 
+boolean dmv177_icm7170_probe(int minor);
+
 rtc_tbl	RTC_Table[] = {
 	{
@@ -37,5 +39,5 @@
                 RTC_ICM7170,                    /* deviceType */
 		&icm7170_fns,			/* pDeviceFns */
-		rtc_probe,			/* deviceProbe */
+		dmv177_icm7170_probe,		/* deviceProbe */
 		(void *) ICM7170_AT_1_MHZ,	/* pDeviceParams */
 		DMV170_RTC_ADDRESS,		/* ulCtrlPort1 */
@@ -55,2 +57,20 @@
 
 rtems_device_minor_number  RTC_Minor;
+
+/*
+ *  Hopefully, by checking the card resource register, this BSP
+ *  will be able to operate on the DMV171, DMV176, or DMV177.
+ */
+
+boolean dmv177_icm7170_probe(int minor)
+{
+  volatile unsigned32 *card_resource_reg;
+
+  card_resource_reg = (volatile unsigned32 *) DMV170_CARD_RESORCE_REG;
+
+  if ( *card_resource_reg & DMV170_RTC_PRESENT_BIT )
+    return TRUE;
+
+  return FALSE;
+}
+
