summaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
Diffstat (limited to 'src/console')
-rw-r--r--src/console/console.c3
-rw-r--r--src/console/usbdebug_console.c32
2 files changed, 16 insertions, 19 deletions
diff --git a/src/console/console.c b/src/console/console.c
index a0e8f6dbf9..6ebcd8b414 100644
--- a/src/console/console.c
+++ b/src/console/console.c
@@ -105,8 +105,7 @@ void console_init(void)
!defined(__BOOT_BLOCK__) && CONFIG_EARLY_CONSOLE
#if CONFIG_USBDEBUG
- enable_usbdebug(CONFIG_USBDEBUG_DEFAULT_PORT);
- early_usbdebug_init();
+ usbdebug_init();
#endif
#if CONFIG_CONSOLE_SERIAL
uart_init();
diff --git a/src/console/usbdebug_console.c b/src/console/usbdebug_console.c
index d6747792fe..7b5dcc05c7 100644
--- a/src/console/usbdebug_console.c
+++ b/src/console/usbdebug_console.c
@@ -24,27 +24,28 @@
#include <device/pci.h>
#include <pc80/mc146818rtc.h>
-static struct ehci_debug_info dbg_info;
static struct device_operations *ehci_drv_ops;
static struct device_operations ehci_dbg_ops;
static void usbdebug_re_enable(unsigned ehci_base)
{
+ struct ehci_debug_info *dbg_info = dbgp_ehci_info();
unsigned diff;
- if (!dbg_info.ehci_debug)
+ if (!dbg_info->ehci_debug)
return;
- diff = (unsigned)dbg_info.ehci_caps - ehci_base;
- dbg_info.ehci_regs -= diff;
- dbg_info.ehci_debug -= diff;
- dbg_info.ehci_caps = (void*)ehci_base;
- dbg_info.status |= DBGP_EP_ENABLED;
+ diff = (unsigned)dbg_info->ehci_caps - ehci_base;
+ dbg_info->ehci_regs -= diff;
+ dbg_info->ehci_debug -= diff;
+ dbg_info->ehci_caps = (void*)ehci_base;
+ dbg_info->status |= DBGP_EP_ENABLED;
}
static void usbdebug_disable(void)
{
- dbg_info.status &= ~DBGP_EP_ENABLED;
+ struct ehci_debug_info *dbg_info = dbgp_ehci_info();
+ dbg_info->status &= ~DBGP_EP_ENABLED;
}
static void pci_ehci_set_resources(struct device *dev)
@@ -82,35 +83,32 @@ void pci_ehci_read_resources(struct device *dev)
static void dbgp_init(void)
{
-#if !CONFIG_EARLY_CONSOLE
- enable_usbdebug(CONFIG_USBDEBUG_DEFAULT_PORT);
-#endif
- usbdebug_init(CONFIG_EHCI_BAR, CONFIG_EHCI_DEBUG_OFFSET, &dbg_info);
+ usbdebug_init();
}
static void dbgp_tx_byte(unsigned char data)
{
- usbdebug_tx_byte(&dbg_info, data);
+ usbdebug_tx_byte(dbgp_console_output(), data);
}
static unsigned char dbgp_rx_byte(void)
{
unsigned char data = 0xff;
- if (dbgp_ep_is_active(&dbg_info))
- dbgp_bulk_read_x(&dbg_info, &data, 1);
+ if (dbgp_ep_is_active(dbgp_console_input()))
+ dbgp_bulk_read_x(dbgp_console_input(), &data, 1);
return data;
}
static void dbgp_tx_flush(void)
{
- usbdebug_tx_flush(&dbg_info);
+ usbdebug_tx_flush(dbgp_console_output());
}
static int dbgp_tst_byte(void)
{
- return dbgp_ep_is_active(&dbgp_info);
+ return dbgp_ep_is_active(dbgp_console_input());
}
static const struct console_driver usbdebug_direct_console __console = {