[U-Boot] [PATCH 8/8] OMAP3 zoom2 Use usbtty if the debug board is not connected.

Tom Rix
2009-09-04T20:12:50Z

The preferred serial output comes from the debug board.
When the debug board is disconnected, fall back on using
usbtty from the usb connector on the Zoom2 board.

This shows up as /dev/ttyACM0 in a linux host.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
board/omap3/zoom2/zoom2_serial.c | 16 ++++++++++++++++
include/configs/omap3_zoom2.h | 17 +++++++++++++++++
2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/board/omap3/zoom2/zoom2_serial.c b/board/omap3/zoom2/zoom2_serial.c
index a3d777d..434696a 100644
--- a/board/omap3/zoom2/zoom2_serial.c
+++ b/board/omap3/zoom2/zoom2_serial.c
@@ -87,6 +87,10 @@ void quad_putc_dev (unsigned long base, const char c)

NS16550_putc ((NS16550_t) base, c);
}
+#ifdef CONFIG_USB_TTY
+ else
+ usbtty_putc(c);
+#endif
}

void quad_puts_dev (unsigned long base, const char *s)
@@ -95,6 +99,10 @@ void quad_puts_dev (unsigned long base, const char *s)
while ((s != NULL) && (*s != '\0'))
quad_putc_dev (base, *s++);
}
+#ifdef CONFIG_USB_TTY
+ else
+ usbtty_puts(s);
+#endif
}

int quad_getc_dev (unsigned long base)
@@ -102,7 +110,11 @@ int quad_getc_dev (unsigned long base)
if (zoom2_debug_board_connected ())
return NS16550_getc ((NS16550_t) base);
else
+#ifdef CONFIG_USB_TTY
+ return usbtty_getc();
+#else
return 0;
+#endif
}

int quad_tstc_dev (unsigned long base)
@@ -110,7 +122,11 @@ int quad_tstc_dev (unsigned long base)
if (zoom2_debug_board_connected ())
return NS16550_tstc ((NS16550_t) base);
else
+#ifdef CONFIG_USB_TTY
+ return usbtty_tstc();
+#else
return 0;
+#endif
}

void quad_setbrg_dev (unsigned long base)
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 03f92f5..a87d59f 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -123,6 +123,20 @@
#define CONFIG_OMAP3_GPIO_3 /* board revision */
#define CONFIG_OMAP3_GPIO_5 /* debug board detection, ZOOM2_LED_BLUE */

+/* USB */
+#define CONFIG_MUSB_UDC 1
+#define CONFIG_USB_OMAP3 1
+#define CONFIG_TWL4030_USB 1
+
+/* USB device configuration */
+#define CONFIG_USB_DEVICE 1
+#define CONFIG_USB_TTY 1
+/* Change these to suit your needs */
+#define CONFIG_USBD_VENDORID 0x0451
+#define CONFIG_USBD_PRODUCTID 0x5678
+#define CONFIG_USBD_MANUFACTURER "Texas Instruments"
+#define CONFIG_USBD_PRODUCT_NAME "Zoom2"
+
/* commands to include */
#include <config_cmd_default.h>

@@ -169,6 +183,9 @@
/* Environment information */
#define CONFIG_BOOTDELAY 10

+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "usbtty=cdc_acm\0" \
+
/*
* Miscellaneous configurable options
*/
--
1.6.0.4