summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/console/usbdebug_console.c12
-rw-r--r--src/include/console/console.h3
-rw-r--r--src/include/usbdebug.h7
-rw-r--r--src/lib/usbdebug.c7
-rw-r--r--src/pc80/usbdebug_serial.c4
-rw-r--r--src/southbridge/intel/i82801gx/i82801gx_usb_debug.c2
-rw-r--r--src/southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c4
-rw-r--r--src/southbridge/sis/sis966/sis966_enable_usbdebug.c4
8 files changed, 31 insertions, 12 deletions
diff --git a/src/console/usbdebug_console.c b/src/console/usbdebug_console.c
index 2e71cc3ea3..6fe0ef7ee6 100644
--- a/src/console/usbdebug_console.c
+++ b/src/console/usbdebug_console.c
@@ -29,20 +29,20 @@ void set_ehci_base(unsigned ehci_base)
if (!dbg_info.ehci_debug)
return;
- diff = dbg_info.ehci_caps - ehci_base;
+ diff = (unsigned)dbg_info.ehci_caps - ehci_base;
dbg_info.ehci_regs -= diff;
dbg_info.ehci_debug -= diff;
- dbg_info.ehci_caps = ehci_base;
+ dbg_info.ehci_caps = (void*)ehci_base;
}
void set_ehci_debug(unsigned ehci_debug)
{
- dbg_info.ehci_debug = ehci_debug;
+ dbg_info.ehci_debug = (void*)ehci_debug;
}
unsigned get_ehci_debug(void)
{
- return dbg_info.ehci_debug;
+ return (unsigned)dbg_info.ehci_debug;
}
static void dbgp_init(void)
@@ -61,7 +61,7 @@ static void dbgp_init(void)
static void dbgp_tx_byte(unsigned char data)
{
if (dbg_info.ehci_debug)
- dbgp_bulk_write_x(&dbg_info, &data, 1);
+ dbgp_bulk_write_x(&dbg_info, (char*)&data, 1);
}
static unsigned char dbgp_rx_byte(void)
@@ -76,7 +76,7 @@ static unsigned char dbgp_rx_byte(void)
static int dbgp_tst_byte(void)
{
- return dbg_info.ehci_debug;
+ return (int)dbg_info.ehci_debug;
}
static const struct console_driver usbdebug_direct_console __console = {
diff --git a/src/include/console/console.h b/src/include/console/console.h
index cab3c9e807..5501edf629 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -12,6 +12,9 @@ int console_tst_byte(void);
#if CONFIG_CONSOLE_VGA == 1
void vga_console_init(void);
#endif
+#if CONFIG_USBDEBUG
+#include <usbdebug.h>
+#endif
struct console_driver {
void (*init)(void);
diff --git a/src/include/usbdebug.h b/src/include/usbdebug.h
index b9d170b1f3..aa3515f684 100644
--- a/src/include/usbdebug.h
+++ b/src/include/usbdebug.h
@@ -18,6 +18,8 @@
#ifndef USBDEBUG_H
#define USBDEBUG_H
+#include <ehci.h>
+
struct ehci_debug_info {
void *ehci_caps;
void *ehci_regs;
@@ -29,9 +31,14 @@ struct ehci_debug_info {
int dbgp_bulk_write_x(struct ehci_debug_info *dbg_info, const char *bytes, int size);
int dbgp_bulk_read_x(struct ehci_debug_info *dbg_info, void *data, int size);
+int dbgp_control_msg(struct ehci_dbg_port *ehci_debug, unsigned devnum, int requesttype, int request,
+ int value, int index, void *data, int size);
+int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port);
void set_ehci_base(unsigned ehci_base);
void set_ehci_debug(unsigned ehci_deug);
unsigned get_ehci_debug(void);
void set_debug_port(unsigned port);
+void usbdebug_ram_tx_byte(unsigned char data);
+void usbdebug_tx_byte(unsigned char data);
#endif
diff --git a/src/lib/usbdebug.c b/src/lib/usbdebug.c
index 801cfdbcaf..ec89bfe892 100644
--- a/src/lib/usbdebug.c
+++ b/src/lib/usbdebug.c
@@ -234,7 +234,7 @@ int dbgp_bulk_read_x(struct ehci_debug_info *dbg_info, void *data, int size)
return dbgp_bulk_read(dbg_info->ehci_debug, dbg_info->devnum, dbg_info->endpoint_in, data, size);
}
-static int dbgp_control_msg(struct ehci_dbg_port *ehci_debug, unsigned devnum, int requesttype, int request,
+int dbgp_control_msg(struct ehci_dbg_port *ehci_debug, unsigned devnum, int requesttype, int request,
int value, int index, void *data, int size)
{
unsigned pids, addr, ctrl;
@@ -323,7 +323,7 @@ static int ehci_reset_port(struct ehci_regs *ehci_regs, int port)
return -16;//-EBUSY;
}
-static int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port)
+int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port)
{
unsigned status;
int ret, reps;
@@ -346,6 +346,8 @@ static int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port)
#else
#define dbgp_printk(fmt_arg...) do {} while(0)
#endif
+
+#ifdef __PRE_RAM__
static void usbdebug_init(unsigned ehci_bar, unsigned offset, struct ehci_debug_info *info)
{
struct ehci_caps *ehci_caps;
@@ -547,5 +549,6 @@ next_debug_port:
}
}
+#endif
diff --git a/src/pc80/usbdebug_serial.c b/src/pc80/usbdebug_serial.c
index 5dd427dd00..f3e7d5f281 100644
--- a/src/pc80/usbdebug_serial.c
+++ b/src/pc80/usbdebug_serial.c
@@ -34,7 +34,7 @@ void usbdebug_tx_byte(unsigned char data)
(CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE - sizeof(struct ehci_debug_info));
if (dbg_info->ehci_debug) {
- dbgp_bulk_write_x(dbg_info, &data, 1);
+ dbgp_bulk_write_x(dbg_info, (char*)&data, 1);
}
}
@@ -47,6 +47,6 @@ void usbdebug_ram_tx_byte(unsigned char data)
((CONFIG_RAMTOP) - sizeof(struct ehci_debug_info));
if (dbg_info->ehci_debug) {
- dbgp_bulk_write_x(dbg_info, &data, 1);
+ dbgp_bulk_write_x(dbg_info, (char*)&data, 1);
}
}
diff --git a/src/southbridge/intel/i82801gx/i82801gx_usb_debug.c b/src/southbridge/intel/i82801gx/i82801gx_usb_debug.c
index a7e0799943..3539ef81e5 100644
--- a/src/southbridge/intel/i82801gx/i82801gx_usb_debug.c
+++ b/src/southbridge/intel/i82801gx/i82801gx_usb_debug.c
@@ -26,6 +26,8 @@
#define EHCI_PORTSC 0x44
#define EHCI_DEBUG_OFFSET 0xA0
+#include <usbdebug.h>
+
void set_debug_port(unsigned port)
{
u32 dbgctl;
diff --git a/src/southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c b/src/southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c
index b980c9e15c..280e827cc9 100644
--- a/src/southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c
+++ b/src/southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c
@@ -31,7 +31,9 @@
#define EHCI_BAR 0xFEF00000
#define EHCI_DEBUG_OFFSET 0x98
-static void set_debug_port(unsigned port)
+#include <usbdebug.h>
+
+void set_debug_port(unsigned port)
{
uint32_t dword;
dword = pci_read_config32(PCI_DEV(0, MCP55_DEVN_BASE+2, 1), 0x74);
diff --git a/src/southbridge/sis/sis966/sis966_enable_usbdebug.c b/src/southbridge/sis/sis966/sis966_enable_usbdebug.c
index 520383ea06..c9d1c112e2 100644
--- a/src/southbridge/sis/sis966/sis966_enable_usbdebug.c
+++ b/src/southbridge/sis/sis966/sis966_enable_usbdebug.c
@@ -31,7 +31,9 @@
#define EHCI_BAR 0xFEF00000
#define EHCI_DEBUG_OFFSET 0x98
-static void set_debug_port(unsigned port)
+#include <usbdebug.h>
+
+void set_debug_port(unsigned port)
{
uint32_t dword;
dword = pci_read_config32(PCI_DEV(0, SIS966_DEVN_BASE+2, 1), 0x74);